8000 Better integration with the OrientDB grant/revoke APIs · githubcs/baasbox@e275ae7 · GitHub
[go: up one dir, main page]

Skip to content

Commit e275ae7

Browse files
committed
Better integration with the OrientDB grant/revoke APIs
1 parent 7d1b58d commit e275ae7

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

app/com/baasbox/dao/PermissionsHelper.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222

2323
import play.Logger;
2424

25+
import com.baasbox.db.DbHelper;
2526
import com.baasbox.enumerations.Permissions;
2627
import com.google.common.collect.ImmutableMap;
28+
import com.orientechnologies.orient.core.db.graph.OGraphDatabase;
2729
import com.orientechnologies.orient.core.db.record.OIdentifiable;
2830
import com.orientechnologies.orient.core.id.ORID;
2931
import com.orientechnologies.orient.core.metadata.schema.OType;
@@ -134,10 +136,14 @@ public static ODocument grant(ODocument document, Permissions permission,
134136
Logger.warn("role is null! Grant command skipped");
135137
return document;
136138
}
139+
OGraphDatabase db = DbHelper.getConnection();
140+
db.getMetadata().getSecurity().allowIdentity(document, permission.toString(), role.getDocument().getIdentity());
141+
/*
137142
Set<ORID> set = document.field( permission.toString(), OType.LINKSET );
138143
if (set==null) set = new HashSet<ORID>();
139144
set.add( role.getDocument().getIdentity() );
140145
document.field( permission.toString(), set, OType.LINKSET );
146+
*/
141147
document.save();
142148
Logger.trace("Method End");
143149
return document;
@@ -146,10 +152,14 @@ public static ODocument grant(ODocument document, Permissions permission,
146152
public static ODocument grant(ODocument document, Permissions permission,
147153
OUser user) {
148154
Logger.trace("Method Start");
155+
OGraphDatabase db = DbHelper.getConnection();
156+
db.getMetadata().getSecurity().allowIdentity(document, permission.toString(), user.getDocument().getIdentity());
157+
/*
149158
Set<ORID> set = document.field( permission.toString(), OType.LINKSET );
150159
if (set==null) set = new HashSet<ORID>();
151160
set.add( user.getDocument().getIdentity() );
152161
document.field( permission.toString(), set, OType.LINKSET );
162+
*/
153163
document.save();
154164
Logger.trace("Method End");
155165
return document;
@@ -158,22 +168,30 @@ public static ODocument grant(ODocument document, Permissions permission,
158168
public static ODocument revoke(ODocument document, Permissions permission,
159169
ORole role) {
160170
Logger.trace("Method Start");
171+
OGraphDatabase db = DbHelper.getConnection();
172+
db.getMetadata().getSecurity().disallowIdentity(document, permission.toString(), role.getDocument().getIdentity());
173+
/*
161174
Set<ORID> set = document.field( permission.toString(), OType.LINKSET );
162175
if (set==null) return document;
163176
set.remove( role.getDocument().getIdentity() );
164-
document.field( permission.toString(), set, OType.LINKSET );
165-
document.save();
177+
document.field( permission.toString(), set, OType.LINKSET );
178+
*/
179+
document.save();
166180
Logger.trace("Method End");
167181
return document;
168182
}
169183

170184
public static ODocument revoke(ODocument document, Permissions permission,
171185
OUser user) {
172186
Logger.trace("Method Start");
187+
OGraphDatabase db = DbHelper.getConnection();
188+
db.getMetadata().getSecurity().disallowIdentity(document, permission.toString(), user.getDocument().getIdentity());
189+
/*
173190
Set<ORID> set = document.field( permission.toString(), OType.LINKSET );
174191
if (set==null) return document;
175192
set.remove( user.getDocument().getIdentity() );
176193
document.field( permission.toString(), set, OType.LINKSET );
194+
*/
177195
document.save();
178196
Logger.trace("Method End");
179197
return document;

0 commit comments

Comments
 (0)
0