All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.anteros.commons.services.rest.resource.v1.SecurityAccessResource Maven / Gradle / Ivy

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 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);
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy