This is an automated email from the ASF dual-hosted git repository. martin_s pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git
commit f56bd76d9f35306d6d94ff791bceaf7374f19657 Author: Martin Stockhammer <[email protected]> AuthorDate: Wed Nov 4 15:45:49 2020 +0100 Copying models to v2 REST services --- .../archiva/redback/rest/api/model/v2/Operation.java | 13 +++++++++++++ .../archiva/redback/rest/api/model/v2/Permission.java | 12 ++++++++++++ .../archiva/redback/rest/api/model/v2/UserInfo.java | 19 ------------------- .../redback/rest/api/services/v2/UserService.java | 17 +++++++++++++++++ .../redback/rest/services/v2/DefaultUserService.java | 6 ++++++ .../rest/services/v2/NativeUserServiceTest.java | 6 +++--- 6 files changed, 51 insertions(+), 22 deletions(-) diff --git a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Operation.java b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Operation.java index 0dc30e3..8e5616c 100644 --- a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Operation.java +++ b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Operation.java @@ -33,10 +33,13 @@ public class Operation implements Serializable { private static final long serialVersionUID = 3666638961610656624L; + private String name; private String description; + private String descriptionKey; + private boolean permanent; public Operation() @@ -95,4 +98,14 @@ public class Operation sb.append( '}' ); return sb.toString(); } + + public String getDescriptionKey( ) + { + return descriptionKey; + } + + public void setDescriptionKey( String descriptionKey ) + { + this.descriptionKey = descriptionKey; + } } diff --git a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Permission.java b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Permission.java index 995bc9c..daf5f65 100644 --- a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Permission.java +++ b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/Permission.java @@ -38,6 +38,8 @@ public class Permission private String description; + private String descriptionKey; + private Operation operation; private Resource resource; @@ -104,4 +106,14 @@ public class Permission sb.append( '}' ); return sb.toString(); } + + public String getDescriptionKey( ) + { + return descriptionKey; + } + + public void setDescriptionKey( String descriptionKey ) + { + this.descriptionKey = descriptionKey; + } } diff --git a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/UserInfo.java b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/UserInfo.java index 800600d..274848c 100644 --- a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/UserInfo.java +++ b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/v2/UserInfo.java @@ -60,13 +60,6 @@ public class UserInfo private OffsetDateTime timestampLastPasswordChange; /** - * for roles update only <b>not return on user read</b> - * - * @since 2.0 - */ - private List<String> assignedRoles; - - /** * with some userManagerImpl it's not possible to edit users; * @since 2.1 */ @@ -258,17 +251,6 @@ public class UserInfo this.timestampLastPasswordChange = OffsetDateTime.ofInstant( timestampLastPasswordChange, ZoneId.systemDefault() ); } - @Schema(description = "The roles assigned to the user") - public List<String> getAssignedRoles() - { - return assignedRoles; - } - - public void setAssignedRoles( List<String> assignedRoles ) - { - this.assignedRoles = assignedRoles; - } - @Schema(description = "True, if this is user has readonly access") public boolean isReadOnly() { @@ -326,7 +308,6 @@ public class UserInfo ", timestampAccountCreation='" + timestampAccountCreation + '\'' + ", timestampLastLogin='" + timestampLastLogin + '\'' + ", timestampLastPasswordChange='" + timestampLastPasswordChange + '\'' + - ", assignedRoles=" + assignedRoles + ", readOnly=" + readOnly + ", userManagerId='" + userManagerId + '\'' + ", validationToken='" + validationToken + '\'' + diff --git a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/services/v2/UserService.java b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/services/v2/UserService.java index bc61b92..50f13d2 100644 --- a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/services/v2/UserService.java +++ b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/services/v2/UserService.java @@ -57,6 +57,7 @@ import java.util.Collection; import static javax.ws.rs.core.MediaType.APPLICATION_JSON; import static org.apache.archiva.redback.rest.api.Constants.DEFAULT_PAGE_LIMIT; +import static org.apache.archiva.redback.users.UserManager.GUEST_USERNAME; @Path( "/users" ) @Tag(name = "v2") @@ -481,6 +482,22 @@ public interface UserService Collection<Permission> getUserPermissions( @PathParam( "userId" ) String userName ) throws RedbackServiceException; + @Path( GUEST_USERNAME+"/permissions" ) + @GET + @Produces( { APPLICATION_JSON } ) + @RedbackAuthorization( noRestriction = true ) + @Operation( summary = "Returns a list of permissions assigned to the guest user.", + responses = { + @ApiResponse( responseCode = "200", + description = "If the list could be returned", + content = @Content(mediaType = APPLICATION_JSON, array = @ArraySchema(schema = + @Schema(implementation = Permission.class))) + ) + } + ) + Collection<Permission> getGuestPermissions( ) + throws RedbackServiceException; + /** * @since 1.4 */ diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java index 2051c6f..a037c6b 100644 --- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java +++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultUserService.java @@ -931,6 +931,12 @@ public class DefaultUserService } } + @Override + public Collection<Permission> getGuestPermissions( ) throws RedbackServiceException + { + return getUserPermissions( UserManager.GUEST_USERNAME ); + } + public void validateCredentialsLoose( User user ) throws RedbackServiceException { diff --git a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeUserServiceTest.java b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeUserServiceTest.java index 56e24ab..74aec54 100644 --- a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeUserServiceTest.java +++ b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeUserServiceTest.java @@ -19,9 +19,9 @@ package org.apache.archiva.redback.rest.services.v2; */ import io.restassured.response.Response; -import org.apache.archiva.redback.rest.api.model.Operation; -import org.apache.archiva.redback.rest.api.model.Permission; -import org.apache.archiva.redback.rest.api.model.VerificationStatus; +import org.apache.archiva.redback.rest.api.model.v2.Operation; +import org.apache.archiva.redback.rest.api.model.v2.Permission; +import org.apache.archiva.redback.rest.api.model.v2.VerificationStatus; import org.apache.archiva.redback.rest.api.model.v2.RegistrationKey; import org.apache.archiva.redback.rest.api.model.v2.User; import org.apache.archiva.redback.rest.services.mock.EmailMessage;
