1 package org.openecomp.core.tools.store;
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;
10 import java.util.Objects;
11 import java.util.Optional;
13 public class PermissionHandler {
15 private static NoSqlDb noSqlDb = NoSqlDbFactory.getInstance().createInterface();
16 private static PermissionAccessor accessor =
17 noSqlDb.getMappingManager().createAccessor(PermissionAccessor.class);
20 public Optional<String> getItemUserPermission(String itemId, String user) {
21 ResultSet resultSet = accessor.getItemUserPermission(itemId, user);
22 Row row = resultSet.one();
24 if (Objects.nonNull(row)) {
25 return Optional.of(row.getString("permission"));
27 return Optional.empty();
31 public void setItemUserPermission(String itemId, String user, String permission) {
32 accessor.setItemUserPermission(itemId, user, permission);
37 interface PermissionAccessor {
40 @Query("INSERT into dox.item_permissions (item_id,user_id,permission) VALUES (?,?,?)")
41 void setItemUserPermission(String permission, String itemId, String userId);
44 @Query("SELECT permission FROM dox.item_permissions WHERE item_id=? AND user_id=?")
45 ResultSet getItemUserPermission(String itemId, String userId);