package com.bizofficer.admin.roles;



import javax.persistence.EntityManagerFactory;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.crossstore.ChangeSetPersister.NotFoundException;
import org.springframework.stereotype.Service;

import com.bizofficer.hibernate.entity.PgprepAdministrator;
import com.bizofficer.hibernate.repository.PgprepAdministratorRepository;
import com.bizofficer.util.module.RoleModules;


@Service
public class RolesModulesAdmService{
	
	private static final Logger logger = Logger.getLogger(RolesModulesAdmService.class);
	
	@Autowired
	EntityManagerFactory entityManagerFactory;
	
	@Autowired
	PgprepAdministratorRepository adminRepo;
	
	public Object execute(Object obj) throws NotFoundException{
		AdminRoleBean objBean = (AdminRoleBean) obj;
		AdminRoleResponseBean responseListObj = new AdminRoleResponseBean();
		
		try {
			
			responseListObj.setResponseTxt("failed");
			
			logger.info("LoginEmailId >> " + objBean.getLoginEmailId() );
			logger.info("Token >> " + objBean.getToken() );
			
			if(objBean.getLoginEmailId()==null || objBean.getToken()==null) {
				return responseListObj;
			}
			
			PgprepAdministrator adminObj = (PgprepAdministrator) adminRepo.findByEmailIdAndLoginToken(objBean.getLoginEmailId(), objBean.getToken());
			if(adminObj==null) {
				logger.info("InvalidToken");
				responseListObj.setResponseTxt("InvalidToken");
				return responseListObj;
			}
			
			responseListObj.setList(RoleModules.getListmodules());			
				
			
			responseListObj.setResponseTxt("success");
		        
		}catch(Exception e) {
			e.getStackTrace();
		}
		
		
		return responseListObj;
	}
	

	
	

	
	
}
