mirror of
				https://github.com/scm-manager/scm-manager.git
				synced 2025-10-31 10:35:56 +01:00 
			
		
		
		
	Merge with default
This commit is contained in:
		| @@ -1,12 +1,16 @@ | ||||
| package sonia.scm.api.v2.resources; | ||||
|  | ||||
| import com.webcohesion.enunciate.metadata.rs.ResponseCode; | ||||
| import com.webcohesion.enunciate.metadata.rs.StatusCodes; | ||||
| import com.webcohesion.enunciate.metadata.rs.TypeHint; | ||||
| import io.swagger.v3.oas.annotations.OpenAPIDefinition; | ||||
| import io.swagger.v3.oas.annotations.Operation; | ||||
| import io.swagger.v3.oas.annotations.media.Content; | ||||
| import io.swagger.v3.oas.annotations.media.Schema; | ||||
| import io.swagger.v3.oas.annotations.responses.ApiResponse; | ||||
| import io.swagger.v3.oas.annotations.tags.Tag; | ||||
| import sonia.scm.config.ConfigurationPermissions; | ||||
| import sonia.scm.repository.SvnConfig; | ||||
| import sonia.scm.repository.SvnRepositoryHandler; | ||||
| import sonia.scm.web.SvnVndMediaType; | ||||
| import sonia.scm.web.VndMediaType; | ||||
|  | ||||
| import javax.inject.Inject; | ||||
| import javax.ws.rs.Consumes; | ||||
| @@ -19,6 +23,9 @@ import javax.ws.rs.core.Response; | ||||
| /** | ||||
|  * RESTful Web Service Resource to manage the configuration of the svn plugin. | ||||
|  */ | ||||
| @OpenAPIDefinition(tags = { | ||||
|   @Tag(name = "Subversion", description = "Configuration for the subversion repository type") | ||||
| }) | ||||
| @Path(SvnConfigResource.SVN_CONFIG_PATH_V2) | ||||
| public class SvnConfigResource { | ||||
|  | ||||
| @@ -41,13 +48,24 @@ public class SvnConfigResource { | ||||
|   @GET | ||||
|   @Path("") | ||||
|   @Produces(SvnVndMediaType.SVN_CONFIG) | ||||
|   @TypeHint(SvnConfigDto.class) | ||||
|   @StatusCodes({ | ||||
|     @ResponseCode(code = 200, condition = "success"), | ||||
|     @ResponseCode(code = 401, condition = "not authenticated / invalid credentials"), | ||||
|     @ResponseCode(code = 403, condition = "not authorized, the current user does not have the \"configuration:read:svn\" privilege"), | ||||
|     @ResponseCode(code = 500, condition = "internal server error") | ||||
|   }) | ||||
|   @Operation(summary = "Svn configuration", description = "Returns the global subversion configuration.", tags = "Subversion") | ||||
|   @ApiResponse( | ||||
|     responseCode = "200", | ||||
|     description = "success", | ||||
|     content = @Content( | ||||
|       mediaType = SvnVndMediaType.SVN_CONFIG, | ||||
|       schema = @Schema(implementation = SvnConfigDto.class) | ||||
|     ) | ||||
|   ) | ||||
|   @ApiResponse(responseCode = "401", description = "not authenticated / invalid credentials") | ||||
|   @ApiResponse(responseCode = "403", description = "not authorized, the current user does not have the \"configuration:read:svn\" privilege") | ||||
|   @ApiResponse( | ||||
|     responseCode = "500", | ||||
|     description = "internal server error", | ||||
|     content = @Content( | ||||
|       mediaType = VndMediaType.ERROR_TYPE, | ||||
|       schema = @Schema(implementation = ErrorDto.class) | ||||
|     )) | ||||
|   public Response get() { | ||||
|  | ||||
|     SvnConfig config = repositoryHandler.getConfig(); | ||||
| @@ -70,13 +88,20 @@ public class SvnConfigResource { | ||||
|   @PUT | ||||
|   @Path("") | ||||
|   @Consumes(SvnVndMediaType.SVN_CONFIG) | ||||
|   @StatusCodes({ | ||||
|     @ResponseCode(code = 204, condition = "update success"), | ||||
|     @ResponseCode(code = 401, condition = "not authenticated / invalid credentials"), | ||||
|     @ResponseCode(code = 403, condition = "not authorized, the current user does not have the \"configuration:write:svn\" privilege"), | ||||
|     @ResponseCode(code = 500, condition = "internal server error") | ||||
|   }) | ||||
|   @TypeHint(TypeHint.NO_CONTENT.class) | ||||
|   @Operation(summary = "Modify svn configuration", description = "Modifies the global subversion configuration.", tags = "Subversion") | ||||
|   @ApiResponse( | ||||
|     responseCode = "204", | ||||
|     description = "update success" | ||||
|   ) | ||||
|   @ApiResponse(responseCode = "401", description = "not authenticated / invalid credentials") | ||||
|   @ApiResponse(responseCode = "403", description = "not authorized, the current user does not have the \"configuration:write:svn\" privilege") | ||||
|   @ApiResponse( | ||||
|     responseCode = "500", | ||||
|     description = "internal server error", | ||||
|     content = @Content( | ||||
|       mediaType = VndMediaType.ERROR_TYPE, | ||||
|       schema = @Schema(implementation = ErrorDto.class) | ||||
|     )) | ||||
|   public Response update(SvnConfigDto configDto) { | ||||
|  | ||||
|     SvnConfig config = dtoToConfigMapper.map(configDto); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user