08b51eee8605887584b72c0342826872523848cc
[sdc.git] /
1 package org.openecomp.sdc.itempermissions.dao.impl;
2
3 import org.openecomp.sdc.common.session.SessionContextProviderFactory;
4 import org.openecomp.sdc.itempermissions.PermissionsRules;
5 import org.openecomp.sdc.itempermissions.PermissionsServices;
6 import org.openecomp.sdc.itempermissions.dao.ItemPermissionsDao;
7 import org.openecomp.sdc.itempermissions.type.ItemPermissionsEntity;
8
9 import java.util.Collection;
10 import java.util.Set;
11
12
13 /**
14  * Created by ayalaben on 6/22/2017.
15  */
16 public class PermissionsServicesImpl implements PermissionsServices {
17
18   private ItemPermissionsDao permissionsDao;
19
20   private PermissionsRules permissionsRules;
21
22   private static final String CHANGE_PERMISSIONS = "Change_Item_Permissions";
23
24   public PermissionsServicesImpl(PermissionsRules permissionsRules,
25                                  ItemPermissionsDao permissionsDao) {
26     this.permissionsDao = permissionsDao;
27     this.permissionsRules = permissionsRules;
28   }
29
30
31   @Override
32   public Collection<ItemPermissionsEntity> listItemPermissions(String itemId) {
33     return permissionsDao.listItemPermissions(itemId);
34   }
35
36   @Override
37   public void updateItemPermissions(String itemId, String permission, Set<String> addedUsersIds,
38                                     Set<String> removedUsersIds) {
39
40     String currentUserId = SessionContextProviderFactory.getInstance()
41           .createInterface().get().getUser().getUserId();
42
43     permissionsRules.executeAction(itemId,currentUserId,CHANGE_PERMISSIONS);
44
45     permissionsRules.updatePermission(itemId,currentUserId,permission,addedUsersIds,
46           removedUsersIds);
47
48     permissionsDao.updateItemPermissions(itemId, permission,
49           addedUsersIds, removedUsersIds);
50
51   }
52
53   @Override
54   public boolean isAllowed(String itemId,String userId,String action) {
55
56     String userPermission = permissionsDao.getUserItemPermission(itemId,userId);
57     return permissionsRules.isAllowed(userPermission,action);
58   }
59
60   @Override
61   public void execute(String itemId,String userId,String action) {
62     permissionsRules.executeAction(itemId, userId, action);
63   }
64
65   @Override
66   public String getUserItemPermiission(String itemId, String userId) {
67     return permissionsDao.getUserItemPermission(itemId,userId);
68   }
69
70   @Override
71   public void deleteItemPermissions(String itemId) {
72     permissionsDao.deleteItemPermissions(itemId);
73   }
74
75 }