Skip to content

Commit 46d34c3

Browse files
Added code for getting and setting project role assignments
1 parent 177130c commit 46d34c3

File tree

6 files changed

+108
-0
lines changed

6 files changed

+108
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package edu.stanford.protege.webprotege.authorization;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.annotation.JsonTypeName;
5+
import edu.stanford.protege.webprotege.common.ProjectId;
6+
import edu.stanford.protege.webprotege.common.ProjectRequest;
7+
8+
@JsonTypeName(GetProjectRoleAssignmentsRequest.CHANNEL)
9+
public record GetProjectRoleAssignmentsRequest(@JsonProperty("projectId") ProjectId projectId) implements ProjectRequest<GetProjectRoleAssignmentsResponse> {
10+
11+
public static final String CHANNEL = "webprotege.authorization.GetProjectRoleAssignments";
12+
13+
@Override
14+
public String getChannel() {
15+
return CHANNEL;
16+
}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package edu.stanford.protege.webprotege.authorization;
2+
3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import com.fasterxml.jackson.annotation.JsonTypeName;
6+
import edu.stanford.protege.webprotege.common.Response;
7+
8+
import java.util.Objects;
9+
10+
@JsonTypeName(GetProjectRoleAssignmentsRequest.CHANNEL)
11+
public record GetProjectRoleAssignmentsResponse(@JsonProperty("assignments") ProjectRoleAssignments assignments) implements Response {
12+
13+
@JsonCreator
14+
public GetProjectRoleAssignmentsResponse(@JsonProperty("assignments") ProjectRoleAssignments assignments) {
15+
this.assignments = Objects.requireNonNull(assignments);
16+
}
17+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package edu.stanford.protege.webprotege.authorization;
2+
3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
6+
import java.util.List;
7+
import java.util.Objects;
8+
9+
public record ProjectRoleAssignments(@JsonProperty("userAssignments") List<UserRoleAssignment> userAssignments) {
10+
11+
@JsonCreator
12+
public ProjectRoleAssignments(@JsonProperty("userAssignments" ) List<UserRoleAssignment> userAssignments) {
13+
this.userAssignments = Objects.requireNonNull(userAssignments);
14+
}
15+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package edu.stanford.protege.webprotege.authorization;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.annotation.JsonTypeName;
5+
import edu.stanford.protege.webprotege.common.ProjectId;
6+
import edu.stanford.protege.webprotege.common.Request;
7+
8+
import java.util.Objects;
9+
10+
import static edu.stanford.protege.webprotege.authorization.SetProjectRoleAssignmentsRequest.CHANNEL;
11+
12+
@JsonTypeName(CHANNEL)
13+
public record SetProjectRoleAssignmentsRequest(@JsonProperty("projectId") ProjectId projectId,
14+
@JsonProperty("assignments") ProjectRoleAssignments assignments) implements Request<SetProjectRoleAssignmentsResponse> {
15+
16+
public static final String CHANNEL = "webprotege.authorization.SetProjectRoleAssignments";
17+
18+
public SetProjectRoleAssignmentsRequest(@JsonProperty("projectId" ) ProjectId projectId, @JsonProperty("assignments" ) ProjectRoleAssignments assignments) {
19+
this.projectId = Objects.requireNonNull(projectId);
20+
this.assignments = Objects.requireNonNull(assignments);
21+
}
22+
23+
@Override
24+
public String getChannel() {
25+
return CHANNEL;
26+
}
27+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package edu.stanford.protege.webprotege.authorization;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.annotation.JsonTypeName;
5+
import edu.stanford.protege.webprotege.common.Response;
6+
7+
import java.util.Objects;
8+
9+
@JsonTypeName(SetProjectRoleAssignmentsRequest.CHANNEL)
10+
public record SetProjectRoleAssignmentsResponse(@JsonProperty("assignments") ProjectRoleAssignments assignments) implements Response {
11+
12+
public SetProjectRoleAssignmentsResponse(@JsonProperty("assignments" ) ProjectRoleAssignments assignments) {
13+
this.assignments = Objects.requireNonNull(assignments);
14+
}
15+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package edu.stanford.protege.webprotege.authorization;
2+
3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonProperty;
5+
import edu.stanford.protege.webprotege.common.UserId;
6+
7+
import java.util.Objects;
8+
9+
public record UserRoleAssignment(@JsonProperty("userId") UserId userId,
10+
@JsonProperty("roleId") RoleId roleId) {
11+
12+
@JsonCreator
13+
public UserRoleAssignment(@JsonProperty("userId" ) UserId userId, @JsonProperty("roleId" ) RoleId roleId) {
14+
this.userId = Objects.requireNonNull(userId);
15+
this.roleId = Objects.requireNonNull(roleId);
16+
}
17+
}

0 commit comments

Comments
 (0)