br.com.anteros.commons.services.rest.resource.v1.SecurityAccessResource Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Anteros-Services-RestSQL Show documentation
Show all versions of Anteros-Services-RestSQL Show documentation
Anteros Services REST SQL for Java.
The newest version!
package br.com.anteros.commons.services.rest.resource.v1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.HttpStatus;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import br.com.anteros.security.store.sql.domain.SecurityAccess;
import br.com.anteros.security.store.sql.domain.SecuritySession;
import br.com.anteros.commons.services.rest.service.SecurityAccessService;
import br.com.anteros.persistence.session.service.SQLService;
import br.com.anteros.security.spring.AnterosSecurityManager;
import br.com.anteros.spring.web.resource.AbstractSQLResourceRest;
import br.com.anteros.persistence.session.repository.Page;
import br.com.anteros.persistence.session.repository.PageRequest;
import br.com.anteros.persistence.session.repository.Pageable;
import br.com.anteros.persistence.session.repository.impl.PageImpl;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* Generated by Anteros Generator Maven Plugin at 29/12/2019 08:16:42
**/
@RestController
@RequestMapping(value = "/v1/securityAccess")
public class SecurityAccessResource extends AbstractSQLResourceRest {
@Autowired
@Lazy
private SecurityAccessService securityAccessService;
@Autowired
@Lazy
protected AnterosSecurityManager anterosSecurityManager;
@Override
public SQLService getService() {
return securityAccessService;
}
@Override
protected Page createConcretePage(List content, PageRequest pageRequest,
long totalElements) {
return new PageSecurityAccess(content, pageRequest, totalElements);
}
class PageSecurityAccess extends PageImpl {
public PageSecurityAccess(List content) {
super(content);
}
public PageSecurityAccess(List content, Pageable pageable, long total) {
super(content, pageable, total);
}
}
@Override
protected List createConcreteList(List result) {
return new ListSecurityAccess(result);
}
class ListSecurityAccess extends ArrayList{
public ListSecurityAccess(Collection extends SecurityAccess> c) {
super(c);
}
}
/**
* Busca os terminais/horário de acesso de um usuário em um sistema
*
* @param system
* Sistema
* @return Lista
* @throws Exception
*/
@RequestMapping(value = "/getSecurityAccessBySystem/{system}", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
@Transactional(rollbackFor = Throwable.class, propagation = Propagation.REQUIRED, readOnly = true, transactionManager="transactionManagerSQL")
public List getSessionsBySystem(@PathVariable(value = "system") String system) throws Exception {
return securityAccessService.getSecurityAccessBySystem(system);
}
}