9b7b0f62e6c84c2abe7e597ac20b2f2691741784
[sdc.git] /
1 package org.openecomp.core.tools.store;
2
3 import com.datastax.driver.core.ResultSet;
4 import com.datastax.driver.core.Row;
5 import com.datastax.driver.mapping.annotations.Accessor;
6 import com.datastax.driver.mapping.annotations.Query;
7 import org.openecomp.core.nosqldb.api.NoSqlDb;
8 import org.openecomp.core.nosqldb.factory.NoSqlDbFactory;
9
10 import java.util.Objects;
11 import java.util.Optional;
12
13 public class PermissionHandler {
14
15   private static NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
16   private static PermissionAccessor accessor =
17       noSqlDb.getMappingManager().createAccessor(PermissionAccessor.class);
18
19
20   public Optional<String> getItemUserPermission(String itemId, String user) {
21     ResultSet resultSet = accessor.getItemUserPermission(itemId, user);
22     Row row = resultSet.one();
23
24     if (Objects.nonNull(row)) {
25       return Optional.of(row.getString("permission"));
26     } else {
27       return Optional.empty();
28     }
29   }
30
31   public void setItemUserPermission(String itemId, String user, String permission) {
32     accessor.setItemUserPermission(itemId, user, permission);
33   }
34
35
36   @Accessor
37   interface PermissionAccessor {
38
39
40     @Query("INSERT into dox.item_permissions (item_id,user_id,permission)  VALUES (?,?,?)")
41     void setItemUserPermission(String permission, String itemId, String userId);
42
43
44     @Query("SELECT permission FROM dox.item_permissions WHERE item_id=? AND user_id=?")
45     ResultSet getItemUserPermission(String itemId, String userId);
46   }
47
48 }