You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2020/11/04 15:19:26 UTC
[archiva-redback-core] 03/03: Copying models to v2 REST services
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 <ma...@apache.org>
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;