You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ProxyConnectorRuleService.java 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package org.apache.archiva.rest.api.services;
  2. /*
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing,
  14. * software distributed under the License is distributed on an
  15. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. * KIND, either express or implied. See the License for the
  17. * specific language governing permissions and limitations
  18. * under the License.
  19. */
  20. import io.swagger.v3.oas.annotations.tags.Tag;
  21. import org.apache.archiva.admin.model.beans.ProxyConnectorRule;
  22. import org.apache.archiva.redback.authorization.RedbackAuthorization;
  23. import org.apache.archiva.rest.api.model.ActionStatus;
  24. import org.apache.archiva.security.common.ArchivaRoleConstants;
  25. import javax.ws.rs.Consumes;
  26. import javax.ws.rs.GET;
  27. import javax.ws.rs.POST;
  28. import javax.ws.rs.Path;
  29. import javax.ws.rs.Produces;
  30. import javax.ws.rs.core.MediaType;
  31. import java.util.List;
  32. /**
  33. * <b>No update method for changing pattern as id is pattern, use delete then add.</b>
  34. *
  35. * @author Olivier Lamy
  36. * @since 1.4-M3
  37. */
  38. @Path ( "/proxyConnectorRuleService/" )
  39. @Tag(name="Proxy-Repository", description="Handling of proxy repositories that delegate to remote repositories")
  40. public interface ProxyConnectorRuleService
  41. {
  42. @Path ( "proxyConnectorRules" )
  43. @GET
  44. @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  45. @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
  46. List<ProxyConnectorRule> getProxyConnectorRules()
  47. throws ArchivaRestServiceException;
  48. @Path ( "proxyConnectorRule" )
  49. @POST
  50. @Consumes ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  51. @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  52. @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
  53. ActionStatus addProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
  54. throws ArchivaRestServiceException;
  55. @Path ( "deleteProxyConnectorRule" )
  56. @POST
  57. @Consumes ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  58. @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  59. @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
  60. ActionStatus deleteProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
  61. throws ArchivaRestServiceException;
  62. /**
  63. * <b>only to update attached proxy connectors to update pattern use delete then add</b>
  64. */
  65. @Path ( "updateProxyConnectorRule" )
  66. @POST
  67. @Consumes ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  68. @Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
  69. @RedbackAuthorization ( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
  70. ActionStatus updateProxyConnectorRule( ProxyConnectorRule proxyConnectorRule )
  71. throws ArchivaRestServiceException;
  72. }