@@ -31,50 +31,43 @@ | |||
<properties> | |||
<enunciate.docsDir>${project.build.outputDirectory}/rest-docs-archiva-rest-api</enunciate.docsDir> | |||
<site.staging.base>${project.parent.parent.parent.basedir}</site.staging.base> | |||
<swagger-maven-plugin-version>2.1.2</swagger-maven-plugin-version> | |||
<io.swagger.version>2.1.2</io.swagger.version> | |||
</properties> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>archiva-security-common</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>archiva-repository-admin-api</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>archiva-policies</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>metadata-model</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva.maven</groupId> | |||
<artifactId>archiva-maven-model</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>archiva-repository-scanner</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>repository-statistics</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva</groupId> | |||
<artifactId>metadata-statistics-api</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.archiva.redback</groupId> | |||
<artifactId>redback-authorization-api</artifactId> | |||
@@ -89,6 +82,42 @@ | |||
<groupId>javax.ws.rs</groupId> | |||
<artifactId>javax.ws.rs-api</artifactId> | |||
</dependency> | |||
<dependency> | |||
<groupId>io.swagger.core.v3</groupId> | |||
<artifactId>swagger-core</artifactId> | |||
<scope>compile</scope> | |||
<version>${io.swagger.version}</version> | |||
<exclusions> | |||
<exclusion> | |||
<groupId>javax.ws.rs</groupId> | |||
<artifactId>jsr311-api</artifactId> | |||
</exclusion> | |||
</exclusions> | |||
</dependency> | |||
<dependency> | |||
<groupId>io.swagger.core.v3</groupId> | |||
<artifactId>swagger-jaxrs2</artifactId> | |||
<version>${io.swagger.version}</version> | |||
<exclusions> | |||
<exclusion> | |||
<groupId>javax.ws.rs</groupId> | |||
<artifactId>jsr311-api</artifactId> | |||
</exclusion> | |||
</exclusions> | |||
</dependency> | |||
<dependency> | |||
<groupId>io.swagger.core.v3</groupId> | |||
<artifactId>swagger-annotations</artifactId> | |||
<version>${io.swagger.version}</version> | |||
<exclusions> | |||
<exclusion> | |||
<groupId>javax.ws.rs</groupId> | |||
<artifactId>jsr311-api</artifactId> | |||
</exclusion> | |||
</exclusions> | |||
</dependency> | |||
<!-- normally not needed but here for wadl feature currently in cxf --> | |||
<dependency> | |||
<groupId>org.apache.cxf</groupId> | |||
@@ -104,6 +133,17 @@ | |||
<build> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.rat</groupId> | |||
<artifactId>apache-rat-plugin</artifactId> | |||
<configuration> | |||
<excludes> | |||
<exclude>target/generated</exclude> | |||
<exclude>src/main/resources/templates/*</exclude> | |||
<exclude>src/main/resources/openapi-codegen-ignore</exclude> | |||
</excludes> | |||
</configuration> | |||
</plugin> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-source-plugin</artifactId> | |||
@@ -116,7 +156,83 @@ | |||
</execution> | |||
</executions> | |||
</plugin> | |||
<plugin> | |||
<groupId>io.swagger.core.v3</groupId> | |||
<artifactId>swagger-maven-plugin</artifactId> | |||
<version>${swagger-maven-plugin-version}</version> | |||
<configuration> | |||
<outputFileName>openapi</outputFileName> | |||
<outputPath>${project.build.directory}/generated</outputPath> | |||
<outputFormat>JSONANDYAML</outputFormat> | |||
<resourcePackages> | |||
<package>org.apache.archiva.rest.api</package> | |||
</resourcePackages> | |||
<prettyPrint>TRUE</prettyPrint> | |||
<configurationFilePath>${project.basedir}/src/main/resources/openapi-configuration.yaml</configurationFilePath> | |||
</configuration> | |||
<executions> | |||
<execution> | |||
<phase>compile</phase> | |||
<goals> | |||
<goal>resolve</goal> | |||
</goals> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
<plugin> | |||
<groupId>io.swagger.codegen.v3</groupId> | |||
<artifactId>swagger-codegen-maven-plugin</artifactId> | |||
<version>3.0.20</version> | |||
<executions> | |||
<execution> | |||
<phase>compile</phase> | |||
<goals> | |||
<goal>generate</goal> | |||
</goals> | |||
<configuration> | |||
<inputSpec>${project.build.directory}/generated/openapi.yaml</inputSpec> | |||
<language>html</language> | |||
<output>${project.build.directory}/generated-sources</output> | |||
<ignoreFileOverride>${project.basedir}/src/main/resources/openapi-codegen-ignore</ignoreFileOverride> | |||
<templateDirectory>${project.basedir}/src/main/resources/templates</templateDirectory> | |||
<supportingFilesToGenerate>index.html,index2.html</supportingFilesToGenerate> | |||
</configuration> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
<plugin> | |||
<artifactId>maven-resources-plugin</artifactId> | |||
<version>3.1.0</version> | |||
<executions> | |||
<execution> | |||
<id>copy-resources</id> | |||
<phase>site</phase> | |||
<goals> | |||
<goal>copy-resources</goal> | |||
</goals> | |||
<configuration> | |||
<outputDirectory>${basedir}/target/site/openapi/</outputDirectory> | |||
<resources> | |||
<resource> | |||
<directory>${project.build.directory}/generated</directory> <!-- source directory --> | |||
<filtering>false</filtering> | |||
<include>openapi.json</include> | |||
<include>openapi.yaml</include> | |||
</resource> | |||
<resource> | |||
<directory>${project.build.directory}/generated-sources/</directory> | |||
<filtering>false</filtering> | |||
<include>**/*</include> | |||
<exclude>.swagger-codegen/**</exclude> | |||
<exclude>.swagger-codegen-ignore</exclude> | |||
</resource> | |||
</resources> | |||
</configuration> | |||
</execution> | |||
</executions> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
@@ -23,6 +23,8 @@ | |||
<title>Apache Archiva REST API</title> | |||
<modules> | |||
<obj-c-xml-client disabled="true" /> | |||
<csharp-xml-client disabled="true" /> | |||
<cxf disabled="false"/> | |||
<jersey disabled="true" /> | |||
<c disabled="true"/> |
@@ -18,6 +18,9 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.Operation; | |||
import io.swagger.v3.oas.annotations.Parameter; | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.FileType; | |||
import org.apache.archiva.admin.model.beans.LegacyArtifactPath; | |||
import org.apache.archiva.admin.model.beans.NetworkConfiguration; | |||
@@ -42,32 +45,33 @@ import java.util.List; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path( "/archivaAdministrationService/" ) | |||
@Tag( name = "Administration", description = "Admin Service" ) | |||
public interface ArchivaAdministrationService | |||
{ | |||
@Path( "getLegacyArtifactPaths" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
List<LegacyArtifactPath> getLegacyArtifactPaths() | |||
List<LegacyArtifactPath> getLegacyArtifactPaths( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "deleteLegacyArtifactPath" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean deleteLegacyArtifactPath( @QueryParam( "path" ) String path ) | |||
throws ArchivaRestServiceException; | |||
@Path( "addFileTypePattern" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean addFileTypePattern( @QueryParam( "fileTypeId" ) String fileTypeId, @QueryParam( "pattern" ) String pattern ) | |||
throws ArchivaRestServiceException; | |||
@Path( "removeFileTypePattern" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean removeFileTypePattern( @QueryParam( "fileTypeId" ) String fileTypeId, | |||
@QueryParam( "pattern" ) String pattern ) | |||
@@ -75,35 +79,43 @@ public interface ArchivaAdministrationService | |||
@Path( "getFileType" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
FileType getFileType( @QueryParam( "fileTypeId" ) String fileTypeId ) | |||
@Operation( | |||
summary = "Return the file type and its patterns", | |||
description = "Returns a object that contains the file type and the configured patterns for this type" | |||
) | |||
FileType getFileType( | |||
@Parameter( name = "fileTypeId", description = "The identifier of the file type", | |||
allowEmptyValue = false, required = true ) | |||
@QueryParam( "fileTypeId" ) String fileTypeId ) | |||
throws ArchivaRestServiceException; | |||
@Path( "addFileType" ) | |||
@POST | |||
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Consumes( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
void addFileType( FileType fileType ) | |||
throws ArchivaRestServiceException; | |||
@Path( "removeFileType" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean removeFileType( @QueryParam( "fileTypeId" ) String fileTypeId ) | |||
throws ArchivaRestServiceException; | |||
@Path( "enabledKnownContentConsumer/{knownContentConsumer}" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean enabledKnownContentConsumer( @PathParam( "knownContentConsumer" ) String knownContentConsumer ) | |||
throws ArchivaRestServiceException; | |||
@Path( "enabledKnownContentConsumers" ) | |||
@POST | |||
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Consumes( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
void enabledKnownContentConsumers( List<String> knownContentConsumers ) | |||
throws ArchivaRestServiceException; | |||
@@ -111,44 +123,44 @@ public interface ArchivaAdministrationService | |||
@Path( "disabledKnownContentConsumer/{knownContentConsumer}" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean disabledKnownContentConsumer( @PathParam( "knownContentConsumer" ) String knownContentConsumer ) | |||
throws ArchivaRestServiceException; | |||
@Path( "enabledInvalidContentConsumer/{invalidContentConsumer}" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean enabledInvalidContentConsumer( @PathParam( "invalidContentConsumer" ) String invalidContentConsumer ) | |||
throws ArchivaRestServiceException; | |||
@Path( "enabledInvalidContentConsumers" ) | |||
@POST | |||
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Consumes( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
void enabledInvalidContentConsumers( List<String> invalidContentConsumers ) | |||
throws ArchivaRestServiceException; | |||
@Path( "disabledInvalidContentConsumer/{invalidContentConsumer}" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
Boolean disabledInvalidContentConsumer( @PathParam( "invalidContentConsumer" ) String invalidContentConsumer ) | |||
throws ArchivaRestServiceException; | |||
@Path( "getFileTypes" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
List<FileType> getFileTypes() | |||
List<FileType> getFileTypes( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "getKnownContentConsumers" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
List<String> getKnownContentConsumers() | |||
List<String> getKnownContentConsumers( ) | |||
throws ArchivaRestServiceException; | |||
/** | |||
@@ -156,9 +168,9 @@ public interface ArchivaAdministrationService | |||
*/ | |||
@Path( "getKnownContentAdminRepositoryConsumers" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
List<AdminRepositoryConsumer> getKnownContentAdminRepositoryConsumers() | |||
List<AdminRepositoryConsumer> getKnownContentAdminRepositoryConsumers( ) | |||
throws ArchivaRestServiceException; | |||
/** | |||
@@ -166,49 +178,49 @@ public interface ArchivaAdministrationService | |||
*/ | |||
@Path( "getInvalidContentAdminRepositoryConsumers" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
List<AdminRepositoryConsumer> getInvalidContentAdminRepositoryConsumers() | |||
List<AdminRepositoryConsumer> getInvalidContentAdminRepositoryConsumers( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "getInvalidContentConsumers" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
List<String> getInvalidContentConsumers() | |||
List<String> getInvalidContentConsumers( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "getOrganisationInformation" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN} ) | |||
@RedbackAuthorization( noPermission = true, noRestriction = true ) | |||
OrganisationInformation getOrganisationInformation() | |||
OrganisationInformation getOrganisationInformation( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "setOrganisationInformation" ) | |||
@POST | |||
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Consumes( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
void setOrganisationInformation( OrganisationInformation organisationInformation ) | |||
throws ArchivaRestServiceException; | |||
@Path( "getUiConfiguration" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
UiConfiguration getUiConfiguration() | |||
UiConfiguration getUiConfiguration( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "registrationDisabled" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( noRestriction = true, noPermission = true ) | |||
Boolean registrationDisabled() | |||
Boolean registrationDisabled( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "setUiConfiguration" ) | |||
@POST | |||
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Consumes( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
void setUiConfiguration( UiConfiguration uiConfiguration ) | |||
throws ArchivaRestServiceException; | |||
@@ -220,20 +232,20 @@ public interface ArchivaAdministrationService | |||
@GET | |||
@Produces( MediaType.TEXT_PLAIN ) | |||
@RedbackAuthorization( noRestriction = true, noPermission = true ) | |||
String getApplicationUrl() | |||
String getApplicationUrl( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "getNetworkConfiguration" ) | |||
@GET | |||
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Produces( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
NetworkConfiguration getNetworkConfiguration() | |||
NetworkConfiguration getNetworkConfiguration( ) | |||
throws ArchivaRestServiceException; | |||
@Path( "setNetworkConfiguration" ) | |||
@POST | |||
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } ) | |||
@Consumes( {MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML} ) | |||
@RedbackAuthorization( permissions = ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION ) | |||
void setNetworkConfiguration( NetworkConfiguration networkConfiguration ) | |||
throws ArchivaRestServiceException; |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.ArchivaRuntimeConfiguration; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.security.common.ArchivaRoleConstants; | |||
@@ -34,6 +35,7 @@ import javax.ws.rs.core.MediaType; | |||
* @since 1.4-M4 | |||
*/ | |||
@Path( "/archivaRuntimeConfigurationService/" ) | |||
@Tag( name="Configuration" ) | |||
public interface ArchivaRuntimeConfigurationService | |||
{ | |||
@Path( "archivaRuntimeConfiguration" ) |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.ManagedRepository; | |||
import org.apache.archiva.maven2.model.Artifact; | |||
import org.apache.archiva.maven2.model.TreeEntry; | |||
@@ -46,6 +47,7 @@ import java.util.List; | |||
* @since 1.4-M3 | |||
*/ | |||
@Path("/browseService/") | |||
@Tag( name = "Browse", description = "Repository Browse Service") | |||
public interface BrowseService | |||
{ | |||
@Path("rootGroups") |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import javax.ws.rs.GET; | |||
@@ -33,6 +34,7 @@ import javax.ws.rs.core.MediaType; | |||
* @since 1.4-M3 | |||
*/ | |||
@Path( "/commonServices/" ) | |||
@Tag( name="ArchivaCommon" ) | |||
public interface CommonServices | |||
{ | |||
@@ -19,6 +19,8 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import io.swagger.v3.oas.annotations.tags.Tags; | |||
import org.apache.archiva.admin.model.beans.ManagedRepository; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.rest.api.model.ArchivaRepositoryStatistics; | |||
@@ -39,6 +41,10 @@ import java.util.List; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path( "/managedRepositoriesService/" ) | |||
@Tags( { | |||
@Tag( name = "ManagedRepositories", description = "Administration for managed repositories" ), | |||
@Tag( name = "Repositories" ) | |||
}) | |||
public interface ManagedRepositoriesService | |||
{ | |||
@Path( "getManagedRepositories" ) |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.maven2.model.Artifact; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.security.common.ArchivaRoleConstants; | |||
@@ -36,6 +37,7 @@ import java.util.List; | |||
* @since 1.4-M3 | |||
*/ | |||
@Path ("/mergeRepositoriesService/") | |||
@Tag(name="RepositoryMerge", description = "Merging repositories") | |||
public interface MergeRepositoriesService | |||
{ | |||
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.NetworkProxy; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.security.common.ArchivaRoleConstants; | |||
@@ -36,6 +37,7 @@ import java.util.List; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path( "/networkProxyService/" ) | |||
@Tag(name="Proxy", description = "Managing Network Proxies") | |||
public interface NetworkProxyService | |||
{ | |||
@Path( "getNetworkProxies" ) |
@@ -19,6 +19,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import javax.ws.rs.GET; | |||
@@ -31,6 +32,7 @@ import javax.ws.rs.core.MediaType; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path( "/pingService/" ) | |||
@Tag(name="Ping") | |||
public interface PingService | |||
{ | |||
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import javax.ws.rs.GET; | |||
@@ -32,6 +33,7 @@ import javax.ws.rs.core.MediaType; | |||
* @since 1.4.0 | |||
*/ | |||
@Path("/pluginsService/") | |||
@Tag( name="Plugins" ) | |||
public interface PluginsService | |||
{ | |||
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.ProxyConnectorRule; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.security.common.ArchivaRoleConstants; | |||
@@ -37,6 +38,7 @@ import java.util.List; | |||
* @since 1.4-M3 | |||
*/ | |||
@Path ( "/proxyConnectorRuleService/" ) | |||
@Tag(name="Proxy-Repository", description="Handling of proxy repositories that delegate to remote repositories") | |||
public interface ProxyConnectorRuleService | |||
{ | |||
@Path ( "proxyConnectorRules" ) |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.ProxyConnector; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.rest.api.model.PolicyInformation; | |||
@@ -39,6 +40,7 @@ import java.util.List; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path( "/proxyConnectorService/" ) | |||
@Tag(name="Proxy-Repository") | |||
public interface ProxyConnectorService | |||
{ | |||
@Path( "getProxyConnectors" ) |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.LdapConfiguration; | |||
import org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
@@ -40,6 +41,7 @@ import java.util.List; | |||
* @since 1.4-M4 | |||
*/ | |||
@Path("/redbackRuntimeConfigurationService/") | |||
@Tag( name="Redback",description = "Configuration of Redback Backend") | |||
public interface RedbackRuntimeConfigurationService | |||
{ | |||
@Path("redbackRuntimeConfiguration") |
@@ -19,6 +19,8 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import io.swagger.v3.oas.annotations.tags.Tags; | |||
import org.apache.archiva.admin.model.beans.RemoteRepository; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.security.common.ArchivaRoleConstants; | |||
@@ -37,6 +39,10 @@ import java.util.List; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path("/remoteRepositoriesService/") | |||
@Tags( { | |||
@Tag( name = "RemoteRepositories", description = "Administration of remote repositories" ), | |||
@Tag( name = "Repositories", description = "Administration of remote repositories" ) | |||
}) | |||
public interface RemoteRepositoriesService | |||
{ | |||
@Path("getRemoteRepositories") |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.metadata.model.facets.RepositoryProblemFacet; | |||
import org.apache.archiva.metadata.repository.stats.model.RepositoryStatistics; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
@@ -39,6 +40,7 @@ import java.util.List; | |||
* @since 1.4-M3 | |||
*/ | |||
@Path( "/reportServices/" ) | |||
@Tag( name="Statistics", description = "Statistics and Health reports") | |||
public interface ReportRepositoriesService | |||
{ | |||
@@ -19,6 +19,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.maven2.model.Artifact; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.repository.scanner.RepositoryScanStatistics; | |||
@@ -41,6 +42,7 @@ import javax.ws.rs.core.MediaType; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path ("/repositoriesService/") | |||
@Tag( name="Repositories", description = "Managing repositories") | |||
public interface RepositoriesService | |||
{ | |||
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.admin.model.beans.RepositoryGroup; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.security.common.ArchivaRoleConstants; | |||
@@ -37,6 +38,7 @@ import java.util.List; | |||
* @since 1.4-M1 | |||
*/ | |||
@Path( "/repositoryGroupService/" ) | |||
@Tag( name="Repository-Group", description = "Managing of groups of repositories") | |||
public interface RepositoryGroupService | |||
{ | |||
@Path( "getRepositoriesGroups" ) |
@@ -20,6 +20,7 @@ package org.apache.archiva.rest.api.services; | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.maven2.model.Artifact; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.rest.api.model.ChecksumSearch; | |||
@@ -37,6 +38,7 @@ import javax.ws.rs.core.Response; | |||
import java.util.List; | |||
@Path( "/searchService/" ) | |||
@Tag( name="Search", description = "Searching repositories") | |||
public interface SearchService | |||
{ | |||
/* |
@@ -18,6 +18,7 @@ package org.apache.archiva.rest.api.services; | |||
* under the License. | |||
*/ | |||
import io.swagger.v3.oas.annotations.tags.Tag; | |||
import org.apache.archiva.redback.authorization.RedbackAuthorization; | |||
import org.apache.archiva.rest.api.model.CacheEntry; | |||
import org.apache.archiva.rest.api.model.QueueEntry; | |||
@@ -36,6 +37,7 @@ import java.util.List; | |||
* @since 1.4-M3 | |||
*/ | |||
@Path( "/systemStatusService/" ) | |||
@Tag( name="System", description = "System information") | |||
public interface SystemStatusService | |||
{ | |||
@Path( "memoryStatus" ) |
@@ -0,0 +1,16 @@ | |||
resourcePackages: | |||
- org.apache.archiva.rest.api | |||
prettyPrint: true | |||
cacheTTL: 0 | |||
openAPI: | |||
info: | |||
version: '3.0' | |||
title: Apache Archiva REST API | |||
description: 'This is the Apache Archiva REST API documentation' | |||
termsOfService: https://archiva.apache.org | |||
contact: | |||
email: dev@archiva.apache.org | |||
url: https://archiva.apache.org/index.html | |||
license: | |||
name: Apache 2.0 | |||
url: http://www.apache.org/licenses/LICENSE-2.0.html |
@@ -0,0 +1,4 @@ | |||
{{#is this 'body-param'}}<div class="param">{{baseName}} {{#baseType}}<a href="#{{baseType}}">{{baseType}}</a>{{/baseType}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}</div> | |||
<div class="param-desc"><span class="param-type">Body Parameter</span> — {{unescapedDescription}} {{#defaultValue}}default: {{{defaultValue}}}{{/defaultValue}}</div>{{/is}} | |||
{{#example}}<div class="param-desc"><span class="param-type">example: <code>{{example}}</code></span></div>{{/example}} |
@@ -0,0 +1,3 @@ | |||
{{#is this 'form-param'}}<div class="param">{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}</div> | |||
<div class="param-desc"><span class="param-type">Form Parameter</span> — {{unescapedDescription}} {{#defaultValue}}default: {{{defaultValue}}} {{/defaultValue}}{{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div>{{/is}} |
@@ -0,0 +1,3 @@ | |||
{{#is this 'header-param'}}<div class="param">{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}</div> | |||
<div class="param-desc"><span class="param-type">Header Parameter</span> — {{unescapedDescription}} {{#defaultValue}}default: {{{defaultValue}}} {{/defaultValue}}{{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div>{{/is}} |
@@ -0,0 +1,213 @@ | |||
<!doctype html> | |||
<html> | |||
<head> | |||
<title>{{{appName}}}</title> | |||
<style type="text/css"> | |||
{{>style.css}} | |||
</style> | |||
</head> | |||
<body> | |||
<h1>{{{appName}}}</h1> | |||
<div class="app-desc">{{{appDescription}}}</div> | |||
{{#infoUrl}}<div class="app-desc">More information: <a href="{{{infoUrl}}}">{{{infoUrl}}}</a></div>{{/infoUrl}} | |||
{{#infoEmail}}<div class="app-desc">Contact Info: <a href="{{{infoEmail}}}">{{{infoEmail}}}</a></div>{{/infoEmail}} | |||
{{#version}}<div class="app-desc">Version: {{{version}}}</div>{{/version}} | |||
{{#basePathWithoutHost}}<div class="app-desc">BasePath:{{basePathWithoutHost}}</div>{{/basePathWithoutHost}} | |||
<div class="license-info">{{{licenseInfo}}}</div> | |||
<div class="license-url">{{{licenseUrl}}}</div> | |||
<h2>Access</h2> | |||
{{#hasAuthMethods}} | |||
<ol> | |||
{{#authMethods}} | |||
<li>{{#is this 'basic'}}HTTP Basic Authentication{{/is}}{{#is this 'oauth'}}OAuth AuthorizationUrl:{{authorizationUrl}}TokenUrl:{{tokenUrl}}{{/is}}{{#is this 'api-key'}}APIKey KeyParamName:{{keyParamName}} KeyInQuery:{{isKeyInQuery}} KeyInHeader:{{isKeyInHeader}}{{/is}}</li> | |||
{{/authMethods}} | |||
</ol> | |||
{{/hasAuthMethods}} | |||
<h2><a name="__Methods">Methods</a></h2> | |||
[ Jump to <a href="#__Models">Models</a> ] | |||
{{! for the tables of content, I cheat and don't use CSS styles.... }} | |||
<h3>Table of Contents </h3> | |||
<div class="method-summary">{{access}}</div> | |||
{{#apiInfo}} | |||
{{#apis}} | |||
{{#operations}} | |||
<h4><a href="#{{baseName}}">{{baseName}}</a></h4> | |||
<ul> | |||
{{#operation}} | |||
<li><a href="#{{nickname}}"><code><span class="http-method">{{httpMethod}}</span> {{path}}</code></a></li> | |||
{{/operation}} | |||
</ul> | |||
{{/operations}} | |||
{{/apis}} | |||
{{/apiInfo}} | |||
{{#apiInfo}} | |||
{{#apis}} | |||
{{#operations}} | |||
<h1><a name="{{baseName}}">{{baseName}}</a></h1> | |||
{{#operation}} | |||
<div class="method"><a name="{{nickname}}"></a> | |||
<div class="method-path"> | |||
<a class="up" href="#__Methods">Up</a> | |||
<pre class="{{httpMethod}}"><code class="huge"><span class="http-method">{{httpMethod}}</span> {{path}}</code></pre></div> | |||
<div class="method-summary">{{summary}} (<span class="nickname">{{nickname}}</span>)</div> | |||
{{! notes is operation.description. So why rename it and make it super confusing???? }} | |||
<div class="method-notes">{{notes}}</div> | |||
{{#hasPathParams}} | |||
<h3 class="field-label">Path parameters</h3> | |||
<div class="field-items"> | |||
{{#pathParams}}{{>pathParam}}{{/pathParams}} | |||
</div> <!-- field-items --> | |||
{{/hasPathParams}} | |||
{{#has this 'consumes'}} | |||
<h3 class="field-label">Consumes</h3> | |||
This API call consumes the following media types via the <span class="header">Content-Type</span> request header: | |||
<ul> | |||
{{#consumes}} | |||
<li><code>{{{mediaType}}}</code></li> | |||
{{/consumes}} | |||
</ul> | |||
{{/has}} | |||
{{#hasBodyParam}} | |||
<h3 class="field-label">Request body</h3> | |||
<div class="field-items"> | |||
{{#bodyParams}}{{>bodyParam}}{{/bodyParams}} | |||
</div> <!-- field-items --> | |||
{{/hasBodyParam}} | |||
{{#hasHeaderParams}} | |||
<h3 class="field-label">Request headers</h3> | |||
<div class="field-items"> | |||
{{#headerParam}}{{>headerParam}}{{/headerParam}} | |||
</div> <!-- field-items --> | |||
{{/hasHeaderParams}} | |||
{{#hasQueryParams}} | |||
<h3 class="field-label">Query parameters</h3> | |||
<div class="field-items"> | |||
{{#queryParams}}{{>queryParam}}{{/queryParams}} | |||
</div> <!-- field-items --> | |||
{{/hasQueryParams}} | |||
{{#hasFormParams}} | |||
<h3 class="field-label">Form parameters</h3> | |||
<div class="field-items"> | |||
{{#formParams}}{{>formParam}}{{/formParams}} | |||
</div> <!-- field-items --> | |||
{{/hasFormParams}} | |||
{{#returnType}} | |||
<h3 class="field-label">Return type</h3> | |||
<div class="return-type"> | |||
{{#hasReference}}{{^returnSimpleType}}{{returnContainer}}[{{/returnSimpleType}}<a href="#{{returnBaseType}}">{{returnBaseType}}</a>{{^returnSimpleType}}]{{/returnSimpleType}}{{/hasReference}} | |||
{{^hasReference}}{{returnType}}{{/hasReference}} | |||
</div> | |||
{{/returnType}} | |||
<!--Todo: process Response Object and its headers, schema, examples --> | |||
{{#hasExamples}} | |||
{{#examples}} | |||
<h3 class="field-label">Example data</h3> | |||
<div class="example-data-content-type">Content-Type: {{{contentType}}}</div> | |||
<pre class="example"><code>{{{example}}}</code></pre> | |||
{{/examples}} | |||
{{/hasExamples}} | |||
{{#has this 'produces'}} | |||
<h3 class="field-label">Produces</h3> | |||
This API call produces the following media types according to the <span class="header">Accept</span> request header; | |||
the media type will be conveyed by the <span class="header">Content-Type</span> response header. | |||
<ul> | |||
{{#produces}} | |||
<li><code>{{{mediaType}}}</code></li> | |||
{{/produces}} | |||
</ul> | |||
{{/has}} | |||
<h3 class="field-label">Responses</h3> | |||
{{#responses}} | |||
<h4 class="field-label">{{code}}</h4> | |||
{{message}} | |||
{{#simpleType}}<a href="#{{dataType}}">{{dataType}}</a>{{/simpleType}} | |||
{{#examples}} | |||
<h3 class="field-label">Example data</h3> | |||
<div class="example-data-content-type">Content-Type: {{{contentType}}}</div> | |||
<pre class="example"><code>{{example}}</code></pre> | |||
{{/examples}} | |||
{{/responses}} | |||
</div> <!-- method --> | |||
<hr/> | |||
{{/operation}} | |||
{{/operations}} | |||
{{/apis}} | |||
{{/apiInfo}} | |||
<h2><a name="__Models">Models</a></h2> | |||
[ Jump to <a href="#__Methods">Methods</a> ] | |||
<h3>Table of Contents</h3> | |||
<ol> | |||
{{#models}} | |||
{{#model}} | |||
<li><a href="#{{name}}"><code>{{name}}</code>{{#title}} - {{title}}{{/title}}</a></li> | |||
{{/model}} | |||
{{/models}} | |||
</ol> | |||
{{#models}} | |||
{{#model}} | |||
<div class="model"> | |||
<h3><a name="{{name}}"><code>{{name}}</code>{{#title}} - {{title}}{{/title}}</a> <a class="up" href="#__Models">Up</a></h3> | |||
{{#unescapedDescription}}<div class='model-description'>{{unescapedDescription}}</div>{{/unescapedDescription}} | |||
<div class="field-items"> | |||
{{#vars}}<div class="param">{{name}} {{^required}}(optional){{/required}}</div><div class="param-desc"><span class="param-type">{{#isNot this 'primitive-type'}}<a href="#{{complexType}}">{{datatype}}</a>{{/isNot}}</span> {{unescapedDescription}} {{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div> | |||
{{#is this 'enum'}} | |||
<div class="param-enum-header">Enum:</div> | |||
{{#_enum}}<div class="param-enum">{{this}}</div>{{/_enum}} | |||
{{/is}} | |||
{{#example}} | |||
<div class="param-desc"><span class="param-type">example: {{example}}</span></div> | |||
{{/example}} | |||
{{#vendorExtensions.oneOf-model}} | |||
<div class="param-desc"><span class="param-type">oneOf:</span> | |||
{{#vendorExtensions.x-model-names}} | |||
<a href="#{{this}}"><code>{{this}}</code></a> | |||
{{/vendorExtensions.x-model-names}} | |||
</div> | |||
{{/vendorExtensions.oneOf-model}} | |||
{{#vendorExtensions.anyOf-model}} | |||
<div class="param-desc"><span class="param-type">anyOf:</span> | |||
{{#vendorExtensions.x-model-names}} | |||
<a href="#{{this}}"><code>{{this}}</code></a> | |||
{{/vendorExtensions.x-model-names}} | |||
</div> | |||
{{/vendorExtensions.anyOf-model}} | |||
{{#items}} | |||
{{#vendorExtensions.oneOf-model}} | |||
<div class="param-desc"><span class="param-type">items oneOf:</span> | |||
{{#vendorExtensions.x-model-names}} | |||
<a href="#{{this}}"><code>{{this}}</code></a> | |||
{{/vendorExtensions.x-model-names}} | |||
</div> | |||
{{/vendorExtensions.oneOf-model}} | |||
{{#vendorExtensions.anyOf-model}} | |||
<div class="param-desc"><span class="param-type">items anyOf:</span> | |||
{{#vendorExtensions.x-model-names}} | |||
<a href="#{{this}}"><code>{{this}}</code></a> | |||
{{/vendorExtensions.x-model-names}} | |||
</div> | |||
{{/vendorExtensions.anyOf-model}} | |||
{{/items}} | |||
{{/vars}} | |||
</div> <!-- field-items --> | |||
</div> | |||
{{/model}} | |||
{{/models}} | |||
</body> | |||
</html> |
@@ -0,0 +1,3 @@ | |||
{{#is this 'path-param'}}<div class="param">{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}</div> | |||
<div class="param-desc"><span class="param-type">Path Parameter</span> — {{unescapedDescription}} {{#defaultValue}}default: {{{defaultValue}}} {{/defaultValue}}{{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div>{{/is}} |
@@ -0,0 +1,3 @@ | |||
{{#is this 'query-param'}}<div class="param">{{baseName}} {{^required}}(optional){{/required}}{{#required}}(required){{/required}}</div> | |||
<div class="param-desc"><span class="param-type">Query Parameter</span> — {{unescapedDescription}} {{#defaultValue}}default: {{{defaultValue}}} {{/defaultValue}}{{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div>{{/is}} |
@@ -0,0 +1,172 @@ | |||
body { | |||
font-family: Trebuchet MS, sans-serif; | |||
font-size: 15px; | |||
color: #444; | |||
margin-right: 24px; | |||
} | |||
h1 { | |||
font-size: 25px; | |||
} | |||
h2 { | |||
font-size: 20px; | |||
} | |||
h3 { | |||
font-size: 16px; | |||
font-weight: bold; | |||
} | |||
hr { | |||
height: 1px; | |||
border: 0; | |||
color: #ddd; | |||
background-color: #ddd; | |||
} | |||
.app-desc { | |||
clear: both; | |||
margin-left: 20px; | |||
} | |||
.param-name { | |||
width: 100%; | |||
} | |||
.license-info { | |||
margin-left: 20px; | |||
} | |||
.license-url { | |||
margin-left: 20px; | |||
} | |||
.model { | |||
margin: 0 0 0px 20px; | |||
} | |||
.method { | |||
margin-left: 20px; | |||
} | |||
.method-notes { | |||
margin: 10px 0 20px 0; | |||
font-size: 90%; | |||
color: #555; | |||
} | |||
pre { | |||
padding: 10px; | |||
margin-bottom: 2px; | |||
} | |||
.http-method { | |||
text-transform: uppercase; | |||
} | |||
pre.get { | |||
background-color: #0f6ab4; | |||
} | |||
pre.post { | |||
background-color: #10a54a; | |||
} | |||
pre.put { | |||
background-color: #c5862b; | |||
} | |||
pre.delete { | |||
background-color: #a41e22; | |||
} | |||
.huge { | |||
color: #fff; | |||
} | |||
pre.example { | |||
background-color: #f3f3f3; | |||
padding: 10px; | |||
border: 1px solid #ddd; | |||
} | |||
code { | |||
white-space: pre; | |||
} | |||
.nickname { | |||
font-weight: bold; | |||
} | |||
.method-path { | |||
font-size: 1.5em; | |||
background-color: #0f6ab4; | |||
} | |||
.up { | |||
float:right; | |||
} | |||
.parameter { | |||
width: 500px; | |||
} | |||
.param { | |||
width: 500px; | |||
padding: 10px 0 0 20px; | |||
font-weight: bold; | |||
} | |||
.param-desc { | |||
width: 700px; | |||
padding: 0 0 0 20px; | |||
color: #777; | |||
} | |||
.param-type { | |||
font-style: italic; | |||
} | |||
.param-enum-header { | |||
width: 700px; | |||
padding: 0 0 0 60px; | |||
color: #777; | |||
font-weight: bold; | |||
} | |||
.param-enum { | |||
width: 700px; | |||
padding: 0 0 0 80px; | |||
color: #777; | |||
font-style: italic; | |||
} | |||
.field-label { | |||
padding: 0; | |||
margin: 0; | |||
clear: both; | |||
} | |||
.field-items { | |||
padding: 0 0 15px 0; | |||
margin-bottom: 15px; | |||
} | |||
.return-type { | |||
clear: both; | |||
padding-bottom: 10px; | |||
} | |||
.param-header { | |||
font-weight: bold; | |||
} | |||
.method-tags { | |||
text-align: right; | |||
} | |||
.method-tag { | |||
background: none repeat scroll 0% 0% #24A600; | |||
border-radius: 3px; | |||
padding: 2px 10px; | |||
margin: 2px; | |||
color: #FFF; | |||
display: inline-block; | |||
text-decoration: none; | |||
} |
@@ -4,40 +4,31 @@ | |||
archiva-modules | |||
archiva-base | |||
archiva-common | |||
archiva-storage-api | |||
archiva-storage-fs | |||
archiva-filelock | |||
archiva-model | |||
archiva-checksum | |||
archiva-policies | |||
archiva-common | |||
archiva-configuration | |||
archiva-repository-api | |||
archiva-xml-tools | |||
archiva-repository-layer | |||
archiva-proxy-api | |||
archiva-proxy | |||
archiva-repository-scanner | |||
archiva-security-common | |||
archiva-consumers | |||
archiva-consumers-api | |||
archiva-consumer-archetype | |||
archiva-core-consumers | |||
archiva-lucene-consumer | |||
archiva-metadata-consumer | |||
archiva-signature-consumer | |||
archiva-lucene-consumer | |||
archiva-consumer-archetype | |||
archiva-filelock | |||
archiva-model | |||
archiva-policies | |||
archiva-proxy | |||
archiva-proxy-api | |||
archiva-repository-api | |||
archiva-repository-admin | |||
archiva-repository-admin-api | |||
archiva-repository-admin-default | |||
archiva-scheduler | |||
archiva-scheduler-api | |||
archiva-scheduler-repository-api | |||
archiva-scheduler-repository | |||
archiva-scheduler-indexer | |||
metadata | |||
metadata-statistics-api | |||
metadata-repository-api | |||
metadata-model | |||
archiva-repository-layer | |||
archiva-repository-scanner | |||
archiva-security-common | |||
archiva-storage-api | |||
archiva-storage-fs | |||
archiva-xml-tools | |||
archiva-maven | |||
archiva-maven-common | |||
archiva-maven-model | |||
@@ -47,15 +38,25 @@ archiva-modules | |||
archiva-maven-indexer | |||
archiva-maven-repository | |||
archiva-maven-scheduler | |||
archiva-scheduler | |||
archiva-scheduler-api | |||
archiva-scheduler-indexer | |||
archiva-scheduler-repository-api | |||
archiva-scheduler-repository | |||
metadata | |||
metadata-model | |||
metadata-repository-api | |||
metadata-statistics-api | |||
test-repository | |||
plugins | |||
audit | |||
generic-metadata-support | |||
metadata-store-cassandra | |||
metadata-store-file | |||
metadata-store-jcr | |||
problem-reports | |||
repository-statistics | |||
stage-repository-merge | |||
metadata-store-file | |||
audit | |||
problem-reports | |||
metadata-store-cassandra | |||