Skip to content

Commit 615fa2e

Browse files
committed
Added: getAssignedRoles API endpoint
1 parent bb2b915 commit 615fa2e

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

src/main/java/edu/harvard/iq/dataverse/RoleAssigneeServiceBean.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import jakarta.ejb.Stateless;
3232
import jakarta.inject.Named;
3333
import jakarta.persistence.EntityManager;
34-
import jakarta.persistence.NamedNativeQuery;
3534
import jakarta.persistence.PersistenceContext;
3635
import org.apache.commons.lang3.StringUtils;
3736

@@ -172,7 +171,7 @@ private String getRoleIdListClause(List<Long> roleIdList) {
172171
* @return a list of relevant {@link DataverseRole}s for the user
173172
* @throws NullPointerException if the request is null
174173
*/
175-
public List<DataverseRole> getSuperuserOrAssigneeDataverseRolesFor(DataverseRequest request) {
174+
public List<DataverseRole> getAllOrAssigneeDataverseRolesFor(DataverseRequest request) {
176175
if (request == null) {
177176
throw new NullPointerException(BundleUtil.getStringFromBundle("roleAssigneeServiceBean.error.dataverseRequestCannotBeNull"));
178177
}

src/main/java/edu/harvard/iq/dataverse/api/Roles.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,11 @@ public Response createNewRole(@Context ContainerRequestContext crc,
6666
new CreateRoleCommand(roleDto.asRole(),
6767
req,findDataverseOrDie(dvoIdtf))))), getRequestUser(crc));
6868
}
69-
69+
70+
@GET
71+
@AuthRequired
72+
@Path("assignedRoles")
73+
public Response getAssignedRoles(@Context ContainerRequestContext crc) {
74+
return response(req -> ok(jsonDataverseRoles(roleAssigneeSvc.getAllOrAssigneeDataverseRolesFor(req))), getRequestUser(crc));
75+
}
7076
}

src/main/java/edu/harvard/iq/dataverse/util/json/JsonPrinter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,14 @@ public static <E extends Enum> JsonArrayBuilder enumsToJson(Collection<E> collec
221221
return arr;
222222
}
223223

224+
public static JsonArrayBuilder jsonDataverseRoles(List<DataverseRole> roles) {
225+
JsonArrayBuilder jsonArrayOfDataverseRoles = Json.createArrayBuilder();
226+
for (DataverseRole role : roles) {
227+
jsonArrayOfDataverseRoles.add(json(role));
228+
}
229+
return jsonArrayOfDataverseRoles;
230+
}
231+
224232
public static JsonObjectBuilder json(DataverseRole role) {
225233
JsonObjectBuilder bld = jsonObjectBuilder()
226234
.add("alias", role.getAlias())

0 commit comments

Comments
 (0)