Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
23784 ashik.ali 1
package com.spice.profitmandi.web.util;
2
 
3
import java.util.HashSet;
4
import java.util.List;
5
import java.util.Set;
6
 
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Component;
9
import org.springframework.transaction.annotation.Transactional;
10
 
11
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
12
import com.spice.profitmandi.common.model.ProfitMandiConstants;
13
import com.spice.profitmandi.dao.entity.dtr.Api;
23786 amit.gupta 14
import com.spice.profitmandi.dao.entity.dtr.Role;
23784 ashik.ali 15
import com.spice.profitmandi.dao.entity.dtr.RoleApi;
16
import com.spice.profitmandi.dao.enumuration.dtr.Method;
23786 amit.gupta 17
import com.spice.profitmandi.dao.enumuration.dtr.RoleType;
23784 ashik.ali 18
import com.spice.profitmandi.dao.repository.dtr.ApiRepository;
19
import com.spice.profitmandi.dao.repository.dtr.RoleApiRepository;
23786 amit.gupta 20
import com.spice.profitmandi.dao.repository.dtr.RoleRepository;
23784 ashik.ali 21
 
22
@Transactional
23
@Component
24
public class RoleManager {
25
 
26
	@Autowired
27
	private RoleApiRepository roleApiRepository;
28
 
29
	@Autowired
23786 amit.gupta 30
	private RoleRepository roleRepository;
31
 
32
	@Autowired
23784 ashik.ali 33
	private ApiRepository apiRepository;
34
 
35
	public boolean isAuthorizedURI(Set<Integer> roleIds, String contextPath, String uri, String method) throws ProfitMandiBusinessException{
36
		List<RoleApi> roleApis = roleApiRepository.selectByRoleIds(roleIds);
37
		Set<Integer> apiIds = new HashSet<>();
38
		for(RoleApi roleApi : roleApis) {
39
			apiIds.add(roleApi.getApiId());
40
		}
41
		List<Api> apis = apiRepository.selectByIds(apiIds);
42
		for(Api api : apis) {
43
			if(uri.matches(contextPath + api.getUri()) && api.getMethod().equals(Method.valueOf(method))) {
44
				return true;
45
			}
46
		}
47
		throw new ProfitMandiBusinessException(ProfitMandiConstants.URI, uri, "GE_1004");
48
	}
23786 amit.gupta 49
 
50
	public boolean isAdmin(Set<Integer> roleIds) {
51
		try {
52
			Role roleFofoAdmin = roleRepository.selectByName(RoleType.FOFO_ADMIN.name());
53
			return roleIds.contains(roleFofoAdmin.getId());
54
		} catch(Exception e) {
55
			//This 
56
			return false;
57
		}
58
	}
59
	public boolean isPartner(Set<Integer> roleIds) {
60
		try {
61
			Role rolePartner = roleRepository.selectByName(RoleType.FOFO.name());
62
			return roleIds.contains(rolePartner.getId());
63
		} catch(Exception e) {
64
			//This 
65
			return false;
66
		}
67
	}
68
	public boolean isRetailer(Set<Integer> roleIds) {
69
		try {
70
			Role rolePartner = roleRepository.selectByName(RoleType.RETAILER.name());
71
			return roleIds.contains(rolePartner.getId());
72
		} catch(Exception e) {
73
			//This 
74
			return false;
75
		}
76
	}
77
	/*public boolean isUser(Set<Integer> roleIds) {
78
		try {
79
			Role rolePartner = roleRepository.selectByName(RoleType.USER.name());
80
			return roleIds.contains(rolePartner.getId());
81
		} catch(Exception e) {
82
			//This 
83
			return false;
84
		}
85
	}*/
23784 ashik.ali 86
}