mirror of
				https://github.com/scm-manager/scm-manager.git
				synced 2025-11-03 20:15:52 +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