Skip to content

Commit b7998c1

Browse files
authored
refactor(server): remove graph param in auth api path (#2899)
1 parent ca5fc0c commit b7998c1

25 files changed

Lines changed: 413 additions & 212 deletions

hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/AccessAPI.java

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.List;
2121

22-
import org.apache.hugegraph.HugeGraph;
2322
import org.apache.hugegraph.api.API;
2423
import org.apache.hugegraph.api.filter.StatusFilter.Status;
2524
import org.apache.hugegraph.auth.HugeAccess;
@@ -50,7 +49,7 @@
5049
import jakarta.ws.rs.QueryParam;
5150
import jakarta.ws.rs.core.Context;
5251

53-
@Path("graphspaces/{graphspace}/graphs/{graph}/auth/accesses")
52+
@Path("graphspaces/{graphspace}/auth/accesses")
5453
@Singleton
5554
@Tag(name = "AccessAPI")
5655
public class AccessAPI extends API {
@@ -64,15 +63,13 @@ public class AccessAPI extends API {
6463
@Produces(APPLICATION_JSON_WITH_CHARSET)
6564
public String create(@Context GraphManager manager,
6665
@PathParam("graphspace") String graphSpace,
67-
@PathParam("graph") String graph,
6866
JsonAccess jsonAccess) {
69-
LOG.debug("Graph [{}] create access: {}", graph, jsonAccess);
67+
LOG.debug("GraphSpace [{}] create access: {}", graphSpace, jsonAccess);
7068
checkCreatingBody(jsonAccess);
7169

72-
HugeGraph g = graph(manager, graphSpace, graph);
7370
HugeAccess access = jsonAccess.build();
7471
access.id(manager.authManager().createAccess(access));
75-
return manager.serializer(g).writeAuthElement(access);
72+
return manager.serializer().writeAuthElement(access);
7673
}
7774

7875
@PUT
@@ -82,13 +79,11 @@ public String create(@Context GraphManager manager,
8279
@Produces(APPLICATION_JSON_WITH_CHARSET)
8380
public String update(@Context GraphManager manager,
8481
@PathParam("graphspace") String graphSpace,
85-
@PathParam("graph") String graph,
8682
@PathParam("id") String id,
8783
JsonAccess jsonAccess) {
88-
LOG.debug("Graph [{}] update access: {}", graph, jsonAccess);
84+
LOG.debug("GraphSpace [{}] update access: {}", graphSpace, jsonAccess);
8985
checkUpdatingBody(jsonAccess);
9086

91-
HugeGraph g = graph(manager, graphSpace, graph);
9287
HugeAccess access;
9388
try {
9489
access = manager.authManager().getAccess(UserAPI.parseId(id));
@@ -97,24 +92,22 @@ public String update(@Context GraphManager manager,
9792
}
9893
access = jsonAccess.build(access);
9994
manager.authManager().updateAccess(access);
100-
return manager.serializer(g).writeAuthElement(access);
95+
return manager.serializer().writeAuthElement(access);
10196
}
10297

10398
@GET
10499
@Timed
105100
@Produces(APPLICATION_JSON_WITH_CHARSET)
106101
public String list(@Context GraphManager manager,
107102
@PathParam("graphspace") String graphSpace,
108-
@PathParam("graph") String graph,
109103
@QueryParam("group") String group,
110104
@QueryParam("target") String target,
111105
@QueryParam("limit") @DefaultValue("100") long limit) {
112-
LOG.debug("Graph [{}] list belongs by group {} or target {}",
113-
graph, group, target);
106+
LOG.debug("GraphSpace [{}] list accesses by group {} or target {}",
107+
graphSpace, group, target);
114108
E.checkArgument(group == null || target == null,
115109
"Can't pass both group and target at the same time");
116110

117-
HugeGraph g = graph(manager, graphSpace, graph);
118111
List<HugeAccess> belongs;
119112
if (group != null) {
120113
Id id = UserAPI.parseId(group);
@@ -125,7 +118,7 @@ public String list(@Context GraphManager manager,
125118
} else {
126119
belongs = manager.authManager().listAllAccess(limit);
127120
}
128-
return manager.serializer(g).writeAuthElements("accesses", belongs);
121+
return manager.serializer().writeAuthElements("accesses", belongs);
129122
}
130123

131124
@GET
@@ -134,13 +127,11 @@ public String list(@Context GraphManager manager,
134127
@Produces(APPLICATION_JSON_WITH_CHARSET)
135128
public String get(@Context GraphManager manager,
136129
@PathParam("graphspace") String graphSpace,
137-
@PathParam("graph") String graph,
138130
@PathParam("id") String id) {
139-
LOG.debug("Graph [{}] get access: {}", graph, id);
131+
LOG.debug("GraphSpace [{}] get access: {}", graphSpace, id);
140132

141-
HugeGraph g = graph(manager, graphSpace, graph);
142133
HugeAccess access = manager.authManager().getAccess(UserAPI.parseId(id));
143-
return manager.serializer(g).writeAuthElement(access);
134+
return manager.serializer().writeAuthElement(access);
144135
}
145136

146137
@DELETE
@@ -149,12 +140,9 @@ public String get(@Context GraphManager manager,
149140
@Consumes(APPLICATION_JSON)
150141
public void delete(@Context GraphManager manager,
151142
@PathParam("graphspace") String graphSpace,
152-
@PathParam("graph") String graph,
153143
@PathParam("id") String id) {
154-
LOG.debug("Graph [{}] delete access: {}", graph, id);
144+
LOG.debug("GraphSpace [{}] delete access: {}", graphSpace, id);
155145

156-
@SuppressWarnings("unused") // just check if the graph exists
157-
HugeGraph g = graph(manager, graphSpace, graph);
158146
try {
159147
manager.authManager().deleteAccess(UserAPI.parseId(id));
160148
} catch (NotFoundException e) {

hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/BelongAPI.java

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.List;
2121

22-
import org.apache.hugegraph.HugeGraph;
2322
import org.apache.hugegraph.api.API;
2423
import org.apache.hugegraph.api.filter.StatusFilter.Status;
2524
import org.apache.hugegraph.auth.HugeBelong;
@@ -49,7 +48,7 @@
4948
import jakarta.ws.rs.QueryParam;
5049
import jakarta.ws.rs.core.Context;
5150

52-
@Path("graphspaces/{graphspace}/graphs/{graph}/auth/belongs")
51+
@Path("graphspaces/{graphspace}/auth/belongs")
5352
@Singleton
5453
@Tag(name = "BelongAPI")
5554
public class BelongAPI extends API {
@@ -63,15 +62,13 @@ public class BelongAPI extends API {
6362
@Produces(APPLICATION_JSON_WITH_CHARSET)
6463
public String create(@Context GraphManager manager,
6564
@PathParam("graphspace") String graphSpace,
66-
@PathParam("graph") String graph,
6765
JsonBelong jsonBelong) {
68-
LOG.debug("Graph [{}] create belong: {}", graph, jsonBelong);
66+
LOG.debug("GraphSpace [{}] create belong: {}", graphSpace, jsonBelong);
6967
checkCreatingBody(jsonBelong);
7068

71-
HugeGraph g = graph(manager, graphSpace, graph);
7269
HugeBelong belong = jsonBelong.build();
7370
belong.id(manager.authManager().createBelong(belong));
74-
return manager.serializer(g).writeAuthElement(belong);
71+
return manager.serializer().writeAuthElement(belong);
7572
}
7673

7774
@PUT
@@ -81,13 +78,11 @@ public String create(@Context GraphManager manager,
8178
@Produces(APPLICATION_JSON_WITH_CHARSET)
8279
public String update(@Context GraphManager manager,
8380
@PathParam("graphspace") String graphSpace,
84-
@PathParam("graph") String graph,
8581
@PathParam("id") String id,
8682
JsonBelong jsonBelong) {
87-
LOG.debug("Graph [{}] update belong: {}", graph, jsonBelong);
83+
LOG.debug("GraphSpace [{}] update belong: {}", graphSpace, jsonBelong);
8884
checkUpdatingBody(jsonBelong);
8985

90-
HugeGraph g = graph(manager, graphSpace, graph);
9186
HugeBelong belong;
9287
try {
9388
belong = manager.authManager().getBelong(UserAPI.parseId(id));
@@ -96,24 +91,22 @@ public String update(@Context GraphManager manager,
9691
}
9792
belong = jsonBelong.build(belong);
9893
manager.authManager().updateBelong(belong);
99-
return manager.serializer(g).writeAuthElement(belong);
94+
return manager.serializer().writeAuthElement(belong);
10095
}
10196

10297
@GET
10398
@Timed
10499
@Produces(APPLICATION_JSON_WITH_CHARSET)
105100
public String list(@Context GraphManager manager,
106101
@PathParam("graphspace") String graphSpace,
107-
@PathParam("graph") String graph,
108102
@QueryParam("user") String user,
109103
@QueryParam("group") String group,
110104
@QueryParam("limit") @DefaultValue("100") long limit) {
111-
LOG.debug("Graph [{}] list belongs by user {} or group {}",
112-
graph, user, group);
105+
LOG.debug("GraphSpace [{}] list belongs by user {} or group {}",
106+
graphSpace, user, group);
113107
E.checkArgument(user == null || group == null,
114108
"Can't pass both user and group at the same time");
115109

116-
HugeGraph g = graph(manager, graphSpace, graph);
117110
List<HugeBelong> belongs;
118111
if (user != null) {
119112
Id id = UserAPI.parseId(user);
@@ -124,7 +117,7 @@ public String list(@Context GraphManager manager,
124117
} else {
125118
belongs = manager.authManager().listAllBelong(limit);
126119
}
127-
return manager.serializer(g).writeAuthElements("belongs", belongs);
120+
return manager.serializer().writeAuthElements("belongs", belongs);
128121
}
129122

130123
@GET
@@ -133,13 +126,11 @@ public String list(@Context GraphManager manager,
133126
@Produces(APPLICATION_JSON_WITH_CHARSET)
134127
public String get(@Context GraphManager manager,
135128
@PathParam("graphspace") String graphSpace,
136-
@PathParam("graph") String graph,
137129
@PathParam("id") String id) {
138-
LOG.debug("Graph [{}] get belong: {}", graph, id);
130+
LOG.debug("GraphSpace [{}] get belong: {}", graphSpace, id);
139131

140-
HugeGraph g = graph(manager, graphSpace, graph);
141132
HugeBelong belong = manager.authManager().getBelong(UserAPI.parseId(id));
142-
return manager.serializer(g).writeAuthElement(belong);
133+
return manager.serializer().writeAuthElement(belong);
143134
}
144135

145136
@DELETE
@@ -148,12 +139,9 @@ public String get(@Context GraphManager manager,
148139
@Consumes(APPLICATION_JSON)
149140
public void delete(@Context GraphManager manager,
150141
@PathParam("graphspace") String graphSpace,
151-
@PathParam("graph") String graph,
152142
@PathParam("id") String id) {
153-
LOG.debug("Graph [{}] delete belong: {}", graph, id);
143+
LOG.debug("GraphSpace [{}] delete belong: {}", graphSpace, id);
154144

155-
@SuppressWarnings("unused") // just check if the graph exists
156-
HugeGraph g = graph(manager, graphSpace, graph);
157145
try {
158146
manager.authManager().deleteBelong(UserAPI.parseId(id));
159147
} catch (NotFoundException e) {

hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/auth/GroupAPI.java

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.List;
2121

22-
import org.apache.hugegraph.HugeGraph;
2322
import org.apache.hugegraph.api.API;
2423
import org.apache.hugegraph.api.filter.StatusFilter.Status;
2524
import org.apache.hugegraph.auth.HugeGroup;
@@ -36,6 +35,7 @@
3635
import com.fasterxml.jackson.annotation.JsonProperty;
3736

3837
import io.swagger.v3.oas.annotations.tags.Tag;
38+
import jakarta.annotation.security.RolesAllowed;
3939
import jakarta.inject.Singleton;
4040
import jakarta.ws.rs.Consumes;
4141
import jakarta.ws.rs.DELETE;
@@ -49,7 +49,7 @@
4949
import jakarta.ws.rs.QueryParam;
5050
import jakarta.ws.rs.core.Context;
5151

52-
@Path("graphspaces/{graphspace}/graphs/{graph}/auth/groups")
52+
@Path("/auth/groups")
5353
@Singleton
5454
@Tag(name = "GroupAPI")
5555
public class GroupAPI extends API {
@@ -61,33 +61,29 @@ public class GroupAPI extends API {
6161
@Status(Status.CREATED)
6262
@Consumes(APPLICATION_JSON)
6363
@Produces(APPLICATION_JSON_WITH_CHARSET)
64+
@RolesAllowed({"admin"})
6465
public String create(@Context GraphManager manager,
65-
@PathParam("graphspace") String graphSpace,
66-
@PathParam("graph") String graph,
6766
JsonGroup jsonGroup) {
68-
LOG.debug("Graph [{}] create group: {}", graph, jsonGroup);
67+
LOG.debug("create group: {}", jsonGroup);
6968
checkCreatingBody(jsonGroup);
7069

71-
HugeGraph g = graph(manager, graphSpace, graph);
7270
HugeGroup group = jsonGroup.build();
7371
group.id(manager.authManager().createGroup(group));
74-
return manager.serializer(g).writeAuthElement(group);
72+
return manager.serializer().writeAuthElement(group);
7573
}
7674

7775
@PUT
7876
@Timed
7977
@Path("{id}")
8078
@Consumes(APPLICATION_JSON)
8179
@Produces(APPLICATION_JSON_WITH_CHARSET)
80+
@RolesAllowed({"admin"})
8281
public String update(@Context GraphManager manager,
83-
@PathParam("graphspace") String graphSpace,
84-
@PathParam("graph") String graph,
8582
@PathParam("id") String id,
8683
JsonGroup jsonGroup) {
87-
LOG.debug("Graph [{}] update group: {}", graph, jsonGroup);
84+
LOG.debug("update group: {}", jsonGroup);
8885
checkUpdatingBody(jsonGroup);
8986

90-
HugeGraph g = graph(manager, graphSpace, graph);
9187
HugeGroup group;
9288
try {
9389
group = manager.authManager().getGroup(UserAPI.parseId(id));
@@ -96,50 +92,43 @@ public String update(@Context GraphManager manager,
9692
}
9793
group = jsonGroup.build(group);
9894
manager.authManager().updateGroup(group);
99-
return manager.serializer(g).writeAuthElement(group);
95+
return manager.serializer().writeAuthElement(group);
10096
}
10197

10298
@GET
10399
@Timed
104100
@Produces(APPLICATION_JSON_WITH_CHARSET)
101+
@RolesAllowed({"admin"})
105102
public String list(@Context GraphManager manager,
106-
@PathParam("graphspace") String graphSpace,
107-
@PathParam("graph") String graph,
108103
@QueryParam("limit") @DefaultValue("100") long limit) {
109-
LOG.debug("Graph [{}] list groups", graph);
104+
LOG.debug("list groups");
110105

111-
HugeGraph g = graph(manager, graphSpace, graph);
112106
List<HugeGroup> groups = manager.authManager().listAllGroups(limit);
113-
return manager.serializer(g).writeAuthElements("groups", groups);
107+
return manager.serializer().writeAuthElements("groups", groups);
114108
}
115109

116110
@GET
117111
@Timed
118112
@Path("{id}")
119113
@Produces(APPLICATION_JSON_WITH_CHARSET)
114+
@RolesAllowed({"admin"})
120115
public String get(@Context GraphManager manager,
121-
@PathParam("graphspace") String graphSpace,
122-
@PathParam("graph") String graph,
123116
@PathParam("id") String id) {
124-
LOG.debug("Graph [{}] get group: {}", graph, id);
117+
LOG.debug("get group: {}", id);
125118

126-
HugeGraph g = graph(manager, graphSpace, graph);
127119
HugeGroup group = manager.authManager().getGroup(IdGenerator.of(id));
128-
return manager.serializer(g).writeAuthElement(group);
120+
return manager.serializer().writeAuthElement(group);
129121
}
130122

131123
@DELETE
132124
@Timed
133125
@Path("{id}")
134126
@Consumes(APPLICATION_JSON)
127+
@RolesAllowed({"admin"})
135128
public void delete(@Context GraphManager manager,
136-
@PathParam("graphspace") String graphSpace,
137-
@PathParam("graph") String graph,
138129
@PathParam("id") String id) {
139-
LOG.debug("Graph [{}] delete group: {}", graph, id);
130+
LOG.debug("delete group: {}", id);
140131

141-
@SuppressWarnings("unused") // just check if the graph exists
142-
HugeGraph g = graph(manager, graphSpace, graph);
143132
try {
144133
manager.authManager().deleteGroup(IdGenerator.of(id));
145134
} catch (NotFoundException e) {

0 commit comments

Comments
 (0)