Compare commits

..

18 Commits

312 changed files with 29637 additions and 1695 deletions

5
.gitignore vendored
View File

@@ -2,10 +2,6 @@
pom.xml.versionsBackup
target
# Maven Invoker
build.log
invoker-reports
# Eclipse
.project
.classpath
@@ -15,6 +11,5 @@ invoker-reports
.factorypath
# Swagger Codegen
src/gen
.swagger-codegen
.swagger-codegen-ignore

View File

@@ -1,247 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>acs-public-rest-api</artifactId>
<version>2.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Alfresco Content Services ReST API for Java</name>
<description>An ACS API library for building REST API clients that support both the CXF and Jersey frameworks</description>
<url>https://bitbucket.org/inteligr8/acs-public-rest-api</url>
<licenses>
<license>
<name>GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007</name>
<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:https://bitbucket.org/inteligr8/acs-public-rest-api.git</connection>
<developerConnection>scm:git:git@bitbucket.org:inteligr8/acs-public-rest-api.git</developerConnection>
<url>https://bitbucket.org/inteligr8/acs-public-rest-api</url>
</scm>
<organization>
<name>Inteligr8</name>
<url>https://www.inteligr8.com</url>
</organization>
<developers>
<developer>
<id>brian.long</id>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<goals>
<goal>clean</goal>
<goal>package</goal>
</goals>
<reportsDirectory>${basedir}/invoker-reports</reportsDirectory>
<pom>pom.xml</pom>
<streamLogs>true</streamLogs>
</configuration>
<executions>
<execution>
<id>acs51</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v51</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs52</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v52</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs60</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v60</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs61</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v61</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs62</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v62</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs70</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v70</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs71</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v71</acs>
</properties>
</configuration>
</execution>
<execution>
<id>acs72</id>
<phase>package</phase>
<goals><goal>run</goal></goals>
<configuration>
<properties>
<acs>v72</acs>
</properties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals><goal>attach-artifact</goal></goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-javadoc.jar</file>
<classifier>javadoc</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-sources.jar</file>
<classifier>sources</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs51.jar</file>
<classifier>acs51</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs52.jar</file>
<classifier>acs52</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs60.jar</file>
<classifier>acs60</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs61.jar</file>
<classifier>acs61</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs62.jar</file>
<classifier>acs62</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs70.jar</file>
<classifier>acs70</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs71.jar</file>
<classifier>acs71</classifier>
<type>jar</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}-acs72.jar</file>
<classifier>acs72</classifier>
<type>jar</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<pomFile>pom.xml</pomFile>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>ossrh-release</id>
<build>
<plugins>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign</id>
<phase>verify</phase>
<goals><goal>sign</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

862
pom.xml
View File

@@ -2,59 +2,35 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>acs-public-rest-api</artifactId>
<version>2.1-SNAPSHOT</version>
<name>Alfresco Content Services ReST API for Java</name>
<description>An ACS API library for building REST API clients that support both the CXF and Jersey frameworks</description>
<url>https://bitbucket.org/inteligr8/acs-public-rest-api</url>
<licenses>
<license>
<name>GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007</name>
<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:https://bitbucket.org/inteligr8/acs-public-rest-api.git</connection>
<developerConnection>scm:git:git@bitbucket.org:inteligr8/acs-public-rest-api.git</developerConnection>
<url>https://bitbucket.org/inteligr8/acs-public-rest-api</url>
</scm>
<organization>
<name>Inteligr8</name>
<url>https://www.inteligr8.com</url>
</organization>
<developers>
<developer>
<id>brian.long</id>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<version>1.1.1-v1-acs7</version>
<name>Alfresco Content Services ReST API Client for Java</name>
<properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<!-- If you want to build for your specific version, point to your own
installation -->
<acs.baseUrl>https://api-explorer.alfresco.com/api-explorer</acs.baseUrl>
<swagger.basePackage>com.inteligr8.alfresco.acs</swagger.basePackage>
<!-- Defaults overridden automatically when appropriate -->
<api.search.disabled>false</api.search.disabled>
<api.auth.disabled>false</api.auth.disabled>
<api.discovery.disabled>false</api.discovery.disabled>
<api.model.disabled>false</api.model.disabled>
<jersey.version>2.35</jersey.version>
<cxf.version>3.4.7</cxf.version>
<junit.version>5.7.2</junit.version>
<spring.version>5.2.14.RELEASE</spring.version>
<jersey.version>2.34</jersey.version>
<cxf.version>3.3.2</cxf.version>
<api.model.disabled>false</api.model.disabled>
</properties>
<dependencies>
<dependency>
<groupId>com.inteligr8</groupId>
<artifactId>common-rest-api</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
@@ -67,225 +43,63 @@
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.12.2</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.version}</version>
<optional>true</optional>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-proxy-client</artifactId>
<version>${jersey.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
<optional>true</optional>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>${cxf.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>src/gen/java</directory>
<includes>
<include>com/inteligr8/alfresco/acs/**/*</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>download-api-explorer</id>
<phase>generate-sources</phase>
<goals><goal>unpack</goal></goals>
<configuration>
<artifact>org.alfresco:api-explorer:${alfresco.platform.version}:war</artifact>
<includes>definitions/**/*</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.4.21</version>
<configuration>
<language>jaxrs-cxf-client</language>
<output>${basedir}</output>
<apiPackage>${swagger.basePackage}.api</apiPackage>
<modelPackage>${swagger.basePackage}.model</modelPackage>
<invokerPackage>${swagger.basePackage}.invoker</invokerPackage>
<generateApiTests>false</generateApiTests>
<generateApiDocumentation>false</generateApiDocumentation>
<generateModelTests>false</generateModelTests>
<generateModelDocumentation>false</generateModelDocumentation>
</configuration>
<executions>
<execution>
<id>swagger-core-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-core.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-search-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<skip>${api.search.disabled}</skip>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-search.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-auth-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<skip>${api.auth.disabled}</skip>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-auth.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-discovery-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<skip>${api.discovery.disabled}</skip>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-discovery.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-model-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<skip>${api.model.disabled}</skip>
<inputSpec>${project.build.directory}/dependency/definitions/alfresco-model.yaml</inputSpec>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<id>fix-baseUrl</id>
<phase>generate-sources</phase>
<goals>
<goal>replace-file</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api</directory>
<outputDirectory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api</outputDirectory>
</fileset>
</filesets>
<allowMultiLineMatch>true</allowMultiLineMatch>
<regexes>
<regex>
<pattern>import org\.apache\.cxf\.jaxrs\.ext\.multipart\.\*;.*</pattern>
<replacement></replacement>
</regex>
<regex>
<pattern>(\*\*Core API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Search API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/search/versions/1")$2@Api(value = "/api/-default-/public/search/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Model API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Authentication API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/authentication/versions/1")$2@Api(value = "/api/-default-/public/authentication/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Discovery API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api")$2@Api(value = "/api"</replacement>
</regex>
</regexes>
</configuration>
</execution>
<execution>
<id>add-ignoreUnknown</id>
<phase>generate-sources</phase>
<goals>
<goal>replace-file</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model</directory>
<outputDirectory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model</outputDirectory>
</fileset>
</filesets>
<allowMultiLineMatch>true</allowMultiLineMatch>
<regexes>
<regex>
<pattern>(\npublic class [A-Za-z][A-Za-z0-9]* )</pattern>
<replacement>@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)$1</replacement>
</regex>
</regexes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<version>1.6.2</version>
<executions>
<execution>
<id>organize-imports</id>
<phase>process-sources</phase>
<goals><goal>sort</goal></goals>
<configuration>
<directories>
<directory>${basedir}/src/gen/java</directory>
</directories>
<includes>
<include>**/*.java</include>
</includes>
<removeUnused>true</removeUnused>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
@@ -293,7 +107,7 @@
<executions>
<execution>
<id>add-gensrc</id>
<phase>process-sources</phase>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
</goals>
@@ -306,358 +120,284 @@
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M5</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>2.21</version>
<extensions>true</extensions>
<configuration>
<classifier>${acs.platform.tag}</classifier>
<filtering>true</filtering>
<tiles>
<tile>com.inteligr8:maven-public-deploy-tile:[1.0.0,2.0.0)</tile>
</tiles>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>source</id>
<phase>package</phase>
<goals><goal>jar-no-fork</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<executions>
<execution>
<id>javadoc</id>
<phase>package</phase>
<goals><goal>jar</goal></goals>
<configuration>
<show>public</show>
<additionalJOption>-Xdoclint:none</additionalJOption>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Implement when descriptor is available -->
<profile>
<id>acs51</id>
<activation>
<property>
<name>acs</name>
<value>v51</value>
</property>
</activation>
<id>swagger-codegen</id>
<properties>
<alfresco.platform.version>5.1.0</alfresco.platform.version>
<acs.platform.tag>acs51</acs.platform.tag>
<api.search.disabled>true</api.search.disabled>
<api.auth.disabled>true</api.auth.disabled>
<api.discovery.disabled>true</api.discovery.disabled>
<api.model.disabled>true</api.model.disabled>
</properties>
</profile>
<profile>
<id>acs52</id>
<activation>
<property>
<name>acs</name>
<value>v52</value>
</property>
</activation>
<properties>
<alfresco.platform.version>5.2.0</alfresco.platform.version>
<acs.platform.tag>acs52</acs.platform.tag>
<api.model.disabled>true</api.model.disabled>
<acs.defs.baseUrl>${acs.baseUrl}/definitions</acs.defs.baseUrl>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>src/gen/java</directory>
<includes>
<include>com/inteligr8/alfresco/acs/**/*</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.6.3</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<id>download-acs-core-defs</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
<goal>wget</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
</sources>
<url>${acs.defs.baseUrl}/alfresco-core.yaml</url>
<outputDirectory>${project.build.directory}/downloads</outputDirectory>
</configuration>
</execution>
<execution>
<id>download-acs-search-defs</id>
<phase>generate-sources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>${acs.defs.baseUrl}/alfresco-search.yaml</url>
<outputDirectory>${project.build.directory}/downloads</outputDirectory>
</configuration>
</execution>
<execution>
<id>download-acs-auth-defs</id>
<phase>generate-sources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>${acs.defs.baseUrl}/alfresco-auth.yaml</url>
<outputDirectory>${project.build.directory}/downloads</outputDirectory>
</configuration>
</execution>
<execution>
<id>download-acs-discovery-defs</id>
<phase>generate-sources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>${acs.defs.baseUrl}/alfresco-discovery.yaml</url>
<outputDirectory>${project.build.directory}/downloads</outputDirectory>
</configuration>
</execution>
<execution>
<id>download-acs-model-defs</id>
<phase>generate-sources</phase>
<goals>
<goal>wget</goal>
</goals>
<configuration>
<url>${acs.defs.baseUrl}/alfresco-model.yaml</url>
<outputDirectory>${project.build.directory}/downloads</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acs60</id>
<activation>
<property>
<name>acs</name>
<value>v60</value>
</property>
</activation>
<properties>
<alfresco.platform.version>6.0.0-ea</alfresco.platform.version>
<acs.platform.tag>acs60</acs.platform.tag>
<api.model.disabled>true</api.model.disabled>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.4.21</version>
<configuration>
<language>jaxrs-cxf-client</language>
<output>${basedir}</output>
<apiPackage>${swagger.basePackage}.api</apiPackage>
<modelPackage>${swagger.basePackage}.model</modelPackage>
<invokerPackage>${swagger.basePackage}.invoker</invokerPackage>
<generateApiTests>false</generateApiTests>
<generateApiDocumentation>false</generateApiDocumentation>
<generateModelTests>false</generateModelTests>
<generateModelDocumentation>false</generateModelDocumentation>
</configuration>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<id>swagger-core-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
<goal>generate</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
</sources>
<inputSpec>${project.build.directory}/downloads/alfresco-core.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-search-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/downloads/alfresco-search.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-auth-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/downloads/alfresco-auth.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-discovery-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.build.directory}/downloads/alfresco-discovery.yaml</inputSpec>
</configuration>
</execution>
<execution>
<id>swagger-model-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<skip>${api.model.disabled}</skip>
<inputSpec>${project.build.directory}/downloads/alfresco-model.yaml</inputSpec>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acs61</id>
<activation>
<property>
<name>acs</name>
<value>v61</value>
</property>
</activation>
<properties>
<alfresco.platform.version>6.1.0</alfresco.platform.version>
<acs.platform.tag>acs61</acs.platform.tag>
<api.model.disabled>true</api.model.disabled>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<id>fix-baseUrl</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
<goal>replace-file</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
<source>src/acs61+/java</source>
</sources>
<filesets>
<fileset>
<directory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api</directory>
<outputDirectory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/api</outputDirectory>
</fileset>
</filesets>
<allowMultiLineMatch>true</allowMultiLineMatch>
<regexes>
<regex>
<pattern>import org\.apache\.cxf\.jaxrs\.ext\.multipart\.\*;.*</pattern>
<replacement></replacement>
</regex>
<regex>
<pattern>(\*\*Core API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Search API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/search/versions/1")$2@Api(value = "/api/-default-/public/search/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Model API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/alfresco/versions/1")$2@Api(value = "/api/-default-/public/alfresco/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Authentication API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api/-default-/public/authentication/versions/1")$2@Api(value = "/api/-default-/public/authentication/versions/1"</replacement>
</regex>
<regex>
<pattern>(\*\*Discovery API\*\*[^@]*)@Path\("/"\)([^@]*)@Api\(value = "/"</pattern>
<replacement>$1@Path("/api")$2@Api(value = "/api"</replacement>
</regex>
</regexes>
</configuration>
</execution>
<execution>
<id>add-ignoreUnknown</id>
<phase>generate-sources</phase>
<goals>
<goal>replace-file</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model</directory>
<outputDirectory>${basedir}/src/gen/java/com/inteligr8/alfresco/acs/model</outputDirectory>
</fileset>
</filesets>
<allowMultiLineMatch>true</allowMultiLineMatch>
<regexes>
<regex>
<pattern>(\npublic class [A-Za-z][A-Za-z0-9]* \{)</pattern>
<replacement>@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)$1</replacement>
</regex>
</regexes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acs62</id>
<activation>
<property>
<name>acs</name>
<value>v62</value>
</property>
</activation>
<properties>
<alfresco.platform.version>6.2.0</alfresco.platform.version>
<acs.platform.tag>acs62</acs.platform.tag>
<api.model.disabled>true</api.model.disabled>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<groupId>net.revelc.code</groupId>
<artifactId>impsort-maven-plugin</artifactId>
<version>1.6.2</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
</goals>
<id>organize-imports</id>
<phase>process-sources</phase>
<goals><goal>sort</goal></goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
<source>src/acs61+/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acs70</id>
<activation>
<property>
<name>acs</name>
<value>v70</value>
</property>
</activation>
<properties>
<alfresco.platform.version>7.0.0</alfresco.platform.version>
<acs.platform.tag>acs70</acs.platform.tag>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
<source>src/acs61+/java</source>
<source>src/acs70+/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acs71</id>
<activation>
<property>
<name>acs</name>
<value>v71</value>
</property>
</activation>
<properties>
<alfresco.platform.version>7.1.0</alfresco.platform.version>
<acs.platform.tag>acs71</acs.platform.tag>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
<source>src/acs61+/java</source>
<source>src/acs70+/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acs72</id>
<activation>
<property>
<name>acs</name>
<value>v72</value>
</property>
</activation>
<properties>
<alfresco.platform.version>7.2.0</alfresco.platform.version>
<acs.platform.tag>acs72</acs.platform.tag>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
<source>src/acs61+/java</source>
<source>src/acs70+/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>acsDefault</id>
<activation>
<property>
<name>!acs</name>
</property>
</activation>
<properties>
<alfresco.platform.version>7.2.0</alfresco.platform.version>
<acs.platform.tag>acs72</acs.platform.tag>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>add-acs70+-src</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/acs52+/java</source>
<source>src/acs60+/java</source>
<source>src/acs61+/java</source>
<source>src/acs70+/java</source>
</sources>
<directories>
<directory>${basedir}/src/gen/java</directory>
</directories>
<includes>
<include>**/*.java</include>
</includes>
<removeUnused>true</removeUnused>
</configuration>
</execution>
</executions>
@@ -666,11 +406,11 @@
</build>
</profile>
</profiles>
<repositories>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
<id>inteligr8-releases</id>
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
</repositories>
@@ -679,5 +419,9 @@
<id>mulesoft-releases</id>
<url>https://repository.mulesoft.org/releases</url>
</pluginRepository>
<pluginRepository>
<id>inteligr8-releases</id>
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
</project>

View File

@@ -1,32 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs;
import com.inteligr8.alfresco.acs.api.NodesCxfApi;
/**
* This interface appends Apache CXF implementation specific methods to the
* JAX-RS API of the ACS Public ReST API. This is due to a lack of multi-part
* in the JAX-RS specification.
*
* @author brian@inteligr8.com
*/
public interface Acs52PublicRestCxfApi extends Acs52PublicRestApi {
default NodesCxfApi getNodesExtApi() {
return this.getApi(NodesCxfApi.class);
}
}

View File

@@ -1,32 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs;
import com.inteligr8.alfresco.acs.api.NodesJerseyApi;
/**
* This interface appends Jersey implementation specific methods to the
* JAX-RS API of the ACS Public ReST API. This is due to a lack of multi-part
* in the JAX-RS specification.
*
* @author brian@inteligr8.com
*/
public interface Acs52PublicRestJerseyApi extends Acs52PublicRestApi {
default NodesJerseyApi getNodesExtApi() {
return this.getApi(NodesJerseyApi.class);
}
}

View File

@@ -1,87 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs.api;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.NodeBodyCreateMultipartCxf;
import com.inteligr8.alfresco.acs.model.NodeEntry;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface NodesCxfApi {
@POST
@Path("/nodes/{nodeId}/children")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Create a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = NodeEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or **nodeBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to create children of **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 409, message = "New name clashes with an existing node in the current parent folder"),
@ApiResponse(code = 413, message = "Content exceeds individual file size limit configured for the network or system"),
@ApiResponse(code = 415, message = "Content Type is not supported"),
@ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
@ApiResponse(code = 507, message = "Content exceeds overall storage quota limit configured for the network or system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public NodeEntry createNode(
@PathParam("nodeId") String nodeId,
NodeBodyCreateMultipartCxf body);
/*
* This better impl doesn't work
*
@POST
@Path("/nodes/{nodeId}/children")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
@ApiOperation(value = "Create a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = NodeEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or **nodeBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to create children of **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 409, message = "New name clashes with an existing node in the current parent folder"),
@ApiResponse(code = 413, message = "Content exceeds individual file size limit configured for the network or system"),
@ApiResponse(code = 415, message = "Content Type is not supported"),
@ApiResponse(code = 422, message = "Model integrity exception including a file name containing invalid characters"),
@ApiResponse(code = 507, message = "Content exceeds overall storage quota limit configured for the network or system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public NodeEntry createNode(
@PathParam("nodeId") String nodeId,
@Multipart("name") String name,
@Multipart("nodeType") String nodeType,
@Multipart("filedata") InputStream fileStream,
@Multipart("filedata") ContentDisposition disposition,
@Multipart(value = "autoRename", required = false) Boolean autoRename,
@Multipart(value = "majorVersion", required = false) Boolean majorVersion,
@Multipart(value = "versioningEnabled", required = false) Boolean versioningEnabled);
*/
}

View File

@@ -1,116 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs.model;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
import org.apache.cxf.jaxrs.ext.multipart.MultipartBody;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* A CXF utility implementation of the CXF MultipartBody.
*
* @author brian@inteligr8.com
*/
public class NodeBodyCreateMultipartCxf extends MultipartBody {
private static final Logger logger = LoggerFactory.getLogger(NodeBodyCreateMultipartCxf.class);
private static final ObjectMapper om = new ObjectMapper();
public static NodeBodyCreateMultipartCxf from(
NodeBodyCreate nodeBody, String filename, InputStream istream,
Boolean autoRename, Boolean majorVersion, Boolean versioningEnabled) throws IOException {
List<Attachment> atts = new LinkedList<>();
atts.addAll(toAttachments(nodeBody));
if (autoRename != null)
atts.add(toAttachment("autoRename", String.valueOf(autoRename)));
if (majorVersion != null)
atts.add(toAttachment("majorVersion", String.valueOf(majorVersion)));
if (versioningEnabled != null)
atts.add(toAttachment("versioningEnabled", String.valueOf(versioningEnabled)));
atts.add(toAttachment(filename, istream));
return new NodeBodyCreateMultipartCxf(atts, true);
}
public NodeBodyCreateMultipartCxf(List<Attachment> atts) throws IOException {
super(atts);
}
public NodeBodyCreateMultipartCxf(List<Attachment> atts, boolean outbound) throws IOException {
super(atts, outbound);
}
public NodeBodyCreate getBody() throws IOException {
if (!MediaType.APPLICATION_JSON_TYPE.equals(this.getRootAttachment().getContentType()))
throw new IllegalStateException();
InputStream istream = this.getRootAttachment().getDataHandler().getInputStream();
try {
return om.readValue(istream, NodeBodyCreate.class);
} finally {
istream.close();
}
}
public Attachment getFiledataAttachment() {
return this.getAttachment("filedata");
}
private static List<Attachment> toAttachments(NodeBodyCreate nodeBody) throws IOException {
List<Attachment> atts = new LinkedList<>();
atts.add(toAttachment("name", nodeBody.getName()));
atts.add(toAttachment("nodeType", nodeBody.getNodeType()));
if (nodeBody.getAspectNames() != null && !nodeBody.getAspectNames().isEmpty())
logger.warn("The ACS Public REST API does not support the explicit inclusion of aspects while creating content");
if (nodeBody.getProperties() != null) {
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
for (Entry<String, ?> prop : props.entrySet()) {
if (prop.getValue() != null) {
// FIXME convert dates as ACS would expect them to be formatted
atts.add(toAttachment(prop.getKey(), prop.getValue().toString()));
}
}
}
return atts;
}
private static Attachment toAttachment(String name, String value) {
return new Attachment(name, new ByteArrayInputStream(value.getBytes()), new ContentDisposition("form-data; name=\"" + name + "\""));
}
private static Attachment toAttachment(String filename, InputStream istream) {
if (filename == null) {
return new Attachment("filedata", istream, new ContentDisposition("form-data; name=\"filedata\""));
} else {
return new Attachment("filedata", istream, new ContentDisposition("form-data; name=\"filedata\"; filename=\"" + filename + "\""));
}
}
}

View File

@@ -1,113 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs.model;
import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.ws.rs.core.MediaType;
import org.glassfish.jersey.media.multipart.BodyPart;
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* A Jersey utility implementation of the Jersey FormDataMultiPart.
*
* @author brian@inteligr8.com
*/
public class NodeBodyCreateMultipartJersey extends FormDataMultiPart {
private static final Logger logger = LoggerFactory.getLogger(NodeBodyCreateMultipartJersey.class);
private static final ObjectMapper om = new ObjectMapper();
public static NodeBodyCreateMultipartJersey from(
NodeBodyCreate nodeBody, String filename, InputStream istream,
Boolean autoRename, Boolean majorVersion, Boolean versioningEnabled) throws IOException, ParseException {
NodeBodyCreateMultipartJersey multipart = new NodeBodyCreateMultipartJersey();
multipart.field("autoRename", String.valueOf(autoRename))
.field("majorVersion", String.valueOf(majorVersion))
.field("versioningEnabled", String.valueOf(versioningEnabled))
.bodyPart(toBodyPart(filename, istream))
.getBodyParts().addAll(toFields(nodeBody));
return multipart;
}
private NodeBodyCreateMultipartJersey() throws IOException {
}
public NodeBodyCreate getBody() throws IOException {
BodyPart bodyPart = this.getField("");
if (bodyPart == null)
throw new IllegalStateException();
if (!MediaType.APPLICATION_JSON_TYPE.equals(bodyPart.getMediaType()))
throw new IllegalStateException();
InputStream istream = bodyPart.getEntityAs(InputStream.class);
try {
return om.readValue(istream, NodeBodyCreate.class);
} finally {
istream.close();
}
}
public FormDataBodyPart getFiledataAttachment() {
return this.getField("filedata");
}
private static List<FormDataBodyPart> toFields(NodeBodyCreate nodeBody) throws IOException {
List<FormDataBodyPart> fields = new LinkedList<>();
fields.add(new FormDataBodyPart("name", nodeBody.getName()));
fields.add(new FormDataBodyPart("nodeType", nodeBody.getNodeType()));
if (nodeBody.getAspectNames() != null && !nodeBody.getAspectNames().isEmpty())
logger.warn("The ACS Public REST API does not support the explicit inclusion of aspects while creating content");
if (nodeBody.getProperties() != null) {
Map<String, ?> props = (Map<String, ?>)nodeBody.getProperties();
for (Entry<String, ?> prop : props.entrySet()) {
if (prop.getValue() != null) {
// FIXME convert dates as ACS would expect them to be formatted
fields.add(new FormDataBodyPart(prop.getKey(), prop.getValue().toString()));
}
}
}
return fields;
}
private static BodyPart toBodyPart(String filename, InputStream istream) throws ParseException {
if (filename == null) {
return new FormDataBodyPart()
.contentDisposition(new FormDataContentDisposition("form-data; name=\"filedata\""))
.entity(istream);
} else {
return new FormDataBodyPart()
.contentDisposition(new FormDataContentDisposition("form-data; name=\"filedata\"; filename=\"" + filename + "\""))
.entity(istream);
}
}
}

View File

@@ -1,41 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs;
import com.inteligr8.alfresco.acs.api.AuditApi;
import com.inteligr8.alfresco.acs.api.DownloadsApi;
import com.inteligr8.alfresco.acs.api.GroupsApi;
/**
* This interface consolidates the JAX-RS APIs available in the ACS Public
* ReST API.
*
* @author brian@inteligr8.com
*/
public interface Acs60PublicRestApi extends Acs52PublicRestApi {
default AuditApi getAuditApi() {
return this.getApi(AuditApi.class);
}
default DownloadsApi getDownloadsApi() {
return this.getApi(DownloadsApi.class);
}
default GroupsApi getGroupsApi() {
return this.getApi(GroupsApi.class);
}
}

View File

@@ -1,36 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs;
import com.inteligr8.alfresco.acs.api.ActionsApi;
import com.inteligr8.alfresco.acs.api.ProbesApi;
/**
* This interface consolidates the JAX-RS APIs available in the ACS Public
* ReST API.
*
* @author brian@inteligr8.com
*/
public interface Acs61PublicRestApi extends Acs60PublicRestApi {
default ActionsApi getActionsApi() {
return this.getApi(ActionsApi.class);
}
default ProbesApi getProbesApi() {
return this.getApi(ProbesApi.class);
}
}

View File

@@ -1,36 +0,0 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.acs;
import com.inteligr8.alfresco.acs.api.AspectsApi;
import com.inteligr8.alfresco.acs.api.TypesApi;
/**
* This interface consolidates the JAX-RS APIs available in the ACS Public
* ReST API.
*
* @author brian@inteligr8.com
*/
public interface Acs70PublicRestApi extends Acs61PublicRestApi {
default AspectsApi getAspectsApi() {
return this.getApi(AspectsApi.class);
}
default TypesApi getTypesApi() {
return this.getApi(TypesApi.class);
}
}

View File

@@ -0,0 +1,99 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.ActionBodyExec;
import com.inteligr8.alfresco.acs.model.ActionDefinitionEntry;
import com.inteligr8.alfresco.acs.model.ActionDefinitionList;
import com.inteligr8.alfresco.acs.model.ActionExecResultEntry;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface ActionsApi {
/**
* Retrieve the details of an action definition
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Retrieve the details of the action denoted by **actionDefinitionId**.
*
*/
@GET
@Path("/action-definitions/{actionDefinitionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Retrieve the details of an action definition", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = ActionDefinitionEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**actionDefinitionId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ActionDefinitionEntry actionDetails(@PathParam("actionDefinitionId") String actionDefinitionId);
/**
* Execute an action
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Executes an action An action may be executed against a node specified by **targetId**. For example: &#x60;&#x60;&#x60; { \&quot;actionDefinitionId\&quot;: \&quot;copy\&quot;, \&quot;targetId\&quot;: \&quot;4c4b3c43-f18b-43ff-af84-751f16f1ddfd\&quot;, \&quot;params\&quot;: { \&quot;destination-folder\&quot;: \&quot;34219f79-66fa-4ebf-b371-118598af898c\&quot; } } &#x60;&#x60;&#x60; Performing a POST with the request body shown above will result in the node identified by &#x60;&#x60;&#x60;targetId&#x60;&#x60;&#x60; being copied to the destination folder specified in the &#x60;&#x60;&#x60;params&#x60;&#x60;&#x60; object by the key &#x60;&#x60;&#x60;destination-folder&#x60;&#x60;&#x60;. **targetId** is optional, however, currently **targetId** must be a valid node ID. In the future, actions may be executed against different entity types or executed without the need for the context of an entity. Parameters supplied to the action within the &#x60;&#x60;&#x60;params&#x60;&#x60;&#x60; object will be converted to the expected type, where possible using the DefaultTypeConverter class. In addition: * Node IDs may be supplied in their short form (implicit workspace://SpacesStore prefix) * Aspect names may be supplied using their short form, e.g. cm:versionable or cm:auditable In this example, we add the aspect &#x60;&#x60;&#x60;cm:versionable&#x60;&#x60;&#x60; to a node using the QName resolution mentioned above: &#x60;&#x60;&#x60; { \&quot;actionDefinitionId\&quot;: \&quot;add-features\&quot;, \&quot;targetId\&quot;: \&quot;16349e3f-2977-44d1-93f2-73c12b8083b5\&quot;, \&quot;params\&quot;: { \&quot;aspect-name\&quot;: \&quot;cm:versionable\&quot; } } &#x60;&#x60;&#x60; The &#x60;&#x60;&#x60;actionDefinitionId&#x60;&#x60;&#x60; is the &#x60;&#x60;&#x60;id&#x60;&#x60;&#x60; of an action definition as returned by the _list actions_ operations (e.g. GET /action-definitions). The action will be executed **asynchronously** with a &#x60;202&#x60; HTTP response signifying that the request has been accepted successfully. The response body contains the unique ID of the action pending execution. The ID may be used, for example to correlate an execution with output in the server logs.
*
*/
@POST
@Path("/action-executions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Execute an action", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "Action execution request accepted and pending execution. ", response = ActionExecResultEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **actionDefinitionId** missing but required by the action "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**actionDefinitionId** or **targetId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ActionExecResultEntry actionExec(ActionBodyExec actionBodyExec);
/**
* Retrieve list of available actions
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of all available actions The default sort order for the returned list is for actions to be sorted by ascending name. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * name * title
*
*/
@GET
@Path("/action-definitions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Retrieve list of available actions", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = ActionDefinitionList.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount** or **orderBy** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ActionDefinitionList listActions(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("fields")List<String> fields);
/**
* Retrieve actions for a node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Retrieve the list of actions that may be executed against the given **nodeId**. The default sort order for the returned list is for actions to be sorted by ascending name. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * name * title
*
*/
@GET
@Path("/nodes/{nodeId}/action-definitions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Retrieve actions for a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = ActionDefinitionList.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount** or **orderBy** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ActionDefinitionList nodeActions(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,42 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.ActivityPaging;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface ActivitiesApi {
/**
* List activities
*
* Gets a list of activities for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/activities")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List activities", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = ActivityPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, or **who** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the activities for **personId**"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ActivityPaging listActivitiesForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("who")String who, @QueryParam("siteId")String siteId, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,59 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.AspectEntry;
import com.inteligr8.alfresco.acs.model.AspectPaging;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Model API** Provides access to the model features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface AspectsApi {
/**
* Get an aspect
*
* **Note:** This is available in Alfresco 7.0.0 and newer versions. Get information for aspect **aspectId**.
*
*/
@GET
@Path("/aspects/{aspectId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get an aspect", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AspectEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: unknown aspectId scheme specified "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**aspectId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AspectEntry getAspect(@PathParam("aspectId") String aspectId);
/**
* List aspects
*
* **Note:** This is available in Alfresco 7.0.0 and newer versions. Gets a list of aspects from the data dictionary. The System aspects will be ignored by default. &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 0, \&quot;hasMoreItems\&quot;: true, \&quot;totalItems\&quot;: 0, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 0 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { \&quot;associations\&quot;: [], \&quot;mandatoryAspects\&quot;: [], \&quot;includedInSupertypeQuery\&quot;: true, \&quot;description\&quot;: \&quot;Titled\&quot;, \&quot;isContainer\&quot;: false, \&quot;model\&quot;: { \&quot;id\&quot;: \&quot;cm:contentmodel\&quot;, \&quot;author\&quot;: \&quot;Alfresco\&quot;, \&quot;description\&quot;: \&quot;Alfresco Content Domain Model\&quot;, \&quot;namespaceUri\&quot;: \&quot;http://www.alfresco.org/model/content/1.0\&quot;, \&quot;namespacePrefix\&quot;: \&quot;cm\&quot; }, \&quot;id\&quot;: \&quot;cm:titled\&quot;, \&quot;title\&quot;: \&quot;Titled\&quot;, \&quot;properties\&quot;: [ { \&quot;id\&quot;: \&quot;cm:title\&quot;, \&quot;title\&quot;: \&quot;Title\&quot;, \&quot;description\&quot;: \&quot;Content Title\&quot;, \&quot;dataType\&quot;: \&quot;d:mltext\&quot;, \&quot;isMultiValued\&quot;: false, \&quot;isMandatory\&quot;: false, \&quot;isMandatoryEnforced\&quot;: false, \&quot;isProtected\&quot;: false }, { ... } ] } }, { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } }, ] } } &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/aspects")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List aspects", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AspectPaging.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AspectPaging listAspects(@QueryParam("where")String where, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("include")List<String> include);
}

View File

@@ -0,0 +1,193 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.AuditApp;
import com.inteligr8.alfresco.acs.model.AuditAppPaging;
import com.inteligr8.alfresco.acs.model.AuditBodyUpdate;
import com.inteligr8.alfresco.acs.model.AuditEntryEntry;
import com.inteligr8.alfresco.acs.model.AuditEntryPaging;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface AuditApi {
/**
* Permanently delete audit entries for an audit application
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Permanently delete audit entries for an audit application **auditApplicationId**. The **where** clause must be specified, either with an inclusive time period or for an inclusive range of ids. The delete is within the context of the given audit application. For example: * &#x60;&#x60;&#x60;where&#x3D;(createdAt BETWEEN (&#39;2017-06-02T12:13:51.593+01:00&#39; , &#39;2017-06-04T10:05:16.536+01:00&#39;)&#x60;&#x60;&#x60; * &#x60;&#x60;&#x60;where&#x3D;(id BETWEEN (&#39;1234&#39;, &#39;4321&#39;)&#x60;&#x60;&#x60; You must have admin rights to delete audit information.
*
*/
@DELETE
@Path("/audit-applications/{auditApplicationId}/audit-entries")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Permanently delete audit entries for an audit application", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** is not a valid format or invalid **where** "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to delete audit information"),
@ApiResponse(code = 404, message = "**auditApplicationId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteAuditEntriesForAuditApp(@PathParam("auditApplicationId") String auditApplicationId, @QueryParam("where")String where);
/**
* Permanently delete an audit entry
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Permanently delete a single audit entry **auditEntryId**. You must have admin rights to delete audit information.
*
*/
@DELETE
@Path("/audit-applications/{auditApplicationId}/audit-entries/{auditEntryId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Permanently delete an audit entry", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** or **auditEntryId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to delete audit information"),
@ApiResponse(code = 404, message = "**auditApplicationId** or **auditEntryId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteAuditEntry(@PathParam("auditApplicationId") String auditApplicationId, @PathParam("auditEntryId") String auditEntryId);
/**
* Get audit application info
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Get status of an audit application **auditApplicationId**. You must have admin rights to retrieve audit information. You can use the **include** parameter to return the minimum and/or maximum audit record id for the application.
*
*/
@GET
@Path("/audit-applications/{auditApplicationId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get audit application info", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AuditApp.class),
@ApiResponse(code = 400, message = "Invalid parameter: invalid **auditApplicationId** "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
@ApiResponse(code = 404, message = "**applicationId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AuditApp getAuditApp(@PathParam("auditApplicationId") String auditApplicationId, @QueryParam("fields")List<String> fields, @QueryParam("include")List<String> include);
/**
* Get audit entry
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets audit entry **auditEntryId**. You must have admin rights to access audit information.
*
*/
@GET
@Path("/audit-applications/{auditApplicationId}/audit-entries/{auditEntryId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get audit entry", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AuditEntryEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** or **auditEntryId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
@ApiResponse(code = 404, message = "**auditApplicationId** or **auditEntryId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AuditEntryEntry getAuditEntry(@PathParam("auditApplicationId") String auditApplicationId, @PathParam("auditEntryId") String auditEntryId, @QueryParam("fields")List<String> fields);
/**
* List audit applications
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of audit applications in this repository. This list may include pre-configured audit applications, if enabled, such as: * alfresco-access * CMISChangeLog * Alfresco Tagging Service * Alfresco Sync Service (used by Enterprise Cloud Sync) You must have admin rights to retrieve audit information.
*
*/
@GET
@Path("/audit-applications")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List audit applications", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AuditAppPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AuditAppPaging listAuditApps(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* List audit entries for an audit application
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of audit entries for audit application **auditApplicationId**. You can use the **include** parameter to return additional **values** information. The list can be filtered by one or more of: * **createdByUser** person id * **createdAt** inclusive time period * **id** inclusive range of ids * **valuesKey** audit entry values contains the exact matching key * **valuesValue** audit entry values contains the exact matching value The default sort order is **createdAt** ascending, but you can use an optional **ASC** or **DESC** modifier to specify an ascending or descending sort order. For example, specifying &#x60;&#x60;&#x60;orderBy&#x3D;createdAt DESC&#x60;&#x60;&#x60; returns audit entries in descending **createdAt** order. You must have admin rights to retrieve audit information.
*
*/
@GET
@Path("/audit-applications/{auditApplicationId}/audit-entries")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List audit entries for an audit application", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AuditEntryPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: *auditApplicationId** is not a valid format, value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
@ApiResponse(code = 404, message = "**applicationId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AuditEntryPaging listAuditEntriesForAuditApp(@PathParam("auditApplicationId") String auditApplicationId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("omitTotalItems")@DefaultValue("false") Boolean omitTotalItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* List audit entries for a node
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets a list of audit entries for node **nodeId**. The list can be filtered by **createdByUser** and for a given inclusive time period. The default sort order is **createdAt** ascending, but you can use an optional **ASC** or **DESC** modifier to specify an ascending or descending sort order. For example, specifying &#x60;&#x60;&#x60;orderBy&#x3D;createdAt DESC&#x60;&#x60;&#x60; returns audit entries in descending **createdAt** order. This relies on the pre-configured &#39;alfresco-access&#39; audit application.
*
*/
@GET
@Path("/nodes/{nodeId}/audit-entries")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List audit entries for a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AuditEntryPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: *nodeId** is not a valid format, value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to retrieve audit information"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AuditEntryPaging listAuditEntriesForNode(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("orderBy")List<String> orderBy, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* Update audit application info
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Disable or re-enable the audit application **auditApplicationId**. New audit entries will not be created for a disabled audit application until it is re-enabled (and system-wide auditing is also enabled). Note, it is still possible to query &amp;/or delete any existing audit entries even if auditing is disabled for the audit application. You must have admin rights to update audit application.
*
*/
@PUT
@Path("/audit-applications/{auditApplicationId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update audit application info", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = AuditApp.class),
@ApiResponse(code = 400, message = "Invalid parameter: **auditApplicationId** is not a valid format or **auditAppBodyUpdate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to update audit application"),
@ApiResponse(code = 404, message = "**auditApplicationId** does not exist "),
@ApiResponse(code = 501, message = "Audit is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public AuditApp updateAuditApp(@PathParam("auditApplicationId") String auditApplicationId, AuditBodyUpdate auditAppBodyUpdate, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.TicketBody;
import com.inteligr8.alfresco.acs.model.TicketEntry;
import com.inteligr8.alfresco.acs.model.ValidTicketEntry;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Authentication API** Provides access to the authentication features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/authentication/versions/1")
@Api(value = "/api/-default-/public/authentication/versions/1", description = "")
public interface AuthenticationApi {
/**
* Create ticket (login)
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Logs in and returns the new authentication ticket. The userId and password properties are mandatory in the request body. For example: &#x60;&#x60;&#x60;JSON { \&quot;userId\&quot;: \&quot;jbloggs\&quot;, \&quot;password\&quot;: \&quot;password\&quot; } &#x60;&#x60;&#x60; To use the ticket in future requests you should pass it in the request header. For example using Javascript: &#x60;&#x60;&#x60;Javascript request.setRequestHeader (\&quot;Authorization\&quot;, \&quot;Basic \&quot; + btoa(ticket)); &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/tickets")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create ticket (login)", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = TicketEntry.class),
@ApiResponse(code = 400, message = "**userId** or **password** is not provided "),
@ApiResponse(code = 403, message = "Login failed"),
@ApiResponse(code = 501, message = "SAML is enabled and enforced"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TicketEntry createTicket(TicketBody ticketBodyCreate);
/**
* Delete ticket (logout)
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes logged in ticket (logout).
*
*/
@DELETE
@Path("/tickets/-me-")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete ticket (logout)", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "URL path does not include **-me-** or the ticket is not provided by the Authorization header"),
@ApiResponse(code = 404, message = "Status of the user has changed (for example, the user is locked or the account is disabled) or the ticket has expired"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteTicket();
/**
* Validate ticket
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Validates the specified ticket (derived from Authorization header) is still valid. For example, you can pass the Authorization request header using Javascript: &#x60;&#x60;&#x60;Javascript request.setRequestHeader (\&quot;Authorization\&quot;, \&quot;Basic \&quot; + btoa(ticket)); &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/tickets/-me-")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Validate ticket", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = ValidTicketEntry.class),
@ApiResponse(code = 400, message = "URL path does not include **-me-** or the ticket is not provided by the Authorization header"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "The request is authorized correctly but the status of the user (of the supplied ticket) has changed (for example, the user is locked or the account is disabled) or the ticket has expired"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ValidTicketEntry validateTicket();
}

View File

@@ -0,0 +1,107 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.CommentBody;
import com.inteligr8.alfresco.acs.model.CommentEntry;
import com.inteligr8.alfresco.acs.model.CommentPaging;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface CommentsApi {
/**
* Create a comment
*
* Creates a comment on node **nodeId**. You specify the comment in a JSON body like this: &#x60;&#x60;&#x60;JSON { \&quot;content\&quot;: \&quot;This is a comment\&quot; } &#x60;&#x60;&#x60; **Note:** You can create more than one comment by specifying a list of comments in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;content\&quot;: \&quot;This is a comment\&quot; }, { \&quot;content\&quot;: \&quot;This is another comment\&quot; } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/nodes/{nodeId}/comments")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a comment", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = CommentEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **commentBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to create a comment"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 405, message = "Cannot comment on a node of this type"),
@ApiResponse(code = 409, message = "**nodeId** is locked and you are not the lock owner "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public CommentEntry createComment(@PathParam("nodeId") String nodeId, CommentBody commentBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete a comment
*
* Deletes the comment **commentId** from node **nodeId**.
*
*/
@DELETE
@Path("/nodes/{nodeId}/comments/{commentId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a comment", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to delete a comment"),
@ApiResponse(code = 404, message = "**nodeId** or **commentId** does not exist "),
@ApiResponse(code = 409, message = "**nodeId** is locked and you are not the lock owner "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteComment(@PathParam("nodeId") String nodeId, @PathParam("commentId") String commentId);
/**
* List comments
*
* Gets a list of comments for the node **nodeId**, sorted chronologically with the newest comment first.
*
*/
@GET
@Path("/nodes/{nodeId}/comments")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List comments", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = CommentPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** exists but does not identify a file or a folder, or the value of **maxItems** is invalid, or the value of **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission read comments on the node"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public CommentPaging listComments(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* Update a comment
*
* Updates an existing comment **commentId** on node **nodeId**.
*
*/
@PUT
@Path("/nodes/{nodeId}/comments/{commentId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update a comment", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = CommentEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **commentBodyUpdate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to update a comment"),
@ApiResponse(code = 404, message = "**nodeId** or **commentId** does not exist "),
@ApiResponse(code = 409, message = "**nodeId** is locked and you are not the lock owner "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public CommentEntry updateComment(@PathParam("nodeId") String nodeId, @PathParam("commentId") String commentId, CommentBody commentBodyUpdate, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,37 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.DiscoveryEntry;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Discovery API** Provides access to information about Alfresco Content Services.
*
*/
@Path("/api")
@Api(value = "/api", description = "")
public interface DiscoveryApi {
/**
* Get repository information
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Retrieves the capabilities and detailed version information from the repository.
*
*/
@GET
@Path("/discovery")
@Produces({ "application/json" })
@ApiOperation(value = "Get repository information", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = DiscoveryEntry.class),
@ApiResponse(code = 501, message = "Discovery is disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public DiscoveryEntry getRepositoryInformation();
}

View File

@@ -0,0 +1,80 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.DownloadBodyCreate;
import com.inteligr8.alfresco.acs.model.DownloadEntry;
import com.inteligr8.alfresco.acs.model.Error;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface DownloadsApi {
/**
* Cancel a download
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Cancels the creation of a download request. **Note:** The download node can be deleted using the **DELETE /nodes/{downloadId}** endpoint By default, if the download node is not deleted it will be picked up by a cleaner job which removes download nodes older than a configurable amount of time (default is 1 hour) Information about the existing progress at the time of cancelling can be retrieved by calling the **GET /downloads/{downloadId}** endpoint The cancel operation is done asynchronously.
*
*/
@DELETE
@Path("/downloads/{downloadId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Cancel a download", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "The request to cancel a download was accepted"),
@ApiResponse(code = 400, message = "Invalid parameter: **downloadId** is invalid, or **downloadId** does not point to a node of download type "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission cancel the **downloadId** node"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void cancelDownload(@PathParam("downloadId") String downloadId);
/**
* Create a new download
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Creates a new download node asynchronously, the content of which will be the zipped content of the **nodeIds** specified in the JSON body like this: &#x60;&#x60;&#x60;JSON { \&quot;nodeIds\&quot;: [ \&quot;c8bb482a-ff3c-4704-a3a3-de1c83ccd84c\&quot;, \&quot;cffa62db-aa01-493d-9594-058bc058eeb1\&quot; ] } &#x60;&#x60;&#x60; **Note:** The content of the download node can be obtained using the **GET /nodes/{downloadId}/content** endpoint
*
*/
@POST
@Path("/downloads")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a new download", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "The request to create a download node was accepted", response = DownloadEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **DownloadBodyCreate** is invalid due to incorrect syntax, or **nodeIds** is empty, or **nodeIds** contains a duplicate **nodeId** "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to add a certain **nodeId** to the zip"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public DownloadEntry createDownload(DownloadBodyCreate downloadBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Get a download
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Retrieve status information for download node **downloadId**
*
*/
@GET
@Path("/downloads/{downloadId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a download", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Download node information", response = DownloadEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **downloadId** is invalid, or **downloadId** does not point to a node of download type "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to get information about **downloadId** node"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public DownloadEntry getDownload(@PathParam("downloadId") String downloadId, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,182 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.FavoriteBodyCreate;
import com.inteligr8.alfresco.acs.model.FavoriteEntry;
import com.inteligr8.alfresco.acs.model.FavoritePaging;
import com.inteligr8.alfresco.acs.model.FavoriteSiteBodyCreate;
import com.inteligr8.alfresco.acs.model.FavoriteSiteEntry;
import com.inteligr8.alfresco.acs.model.SiteEntry;
import com.inteligr8.alfresco.acs.model.SitePaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface FavoritesApi {
/**
* Create a favorite
*
* Favorite a **site**, **file**, or **folder** in the repository. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. **Note:** You can favorite more than one entity by specifying a list of objects in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;target\&quot;: { \&quot;file\&quot;: { \&quot;guid\&quot;: \&quot;abcde-01234-....\&quot; } } }, { \&quot;target\&quot;: { \&quot;file\&quot;: { \&quot;guid\&quot;: \&quot;abcde-09863-....\&quot; } } }, ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/people/{personId}/favorites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a favorite", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = FavoriteEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **favoriteBodyCreate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist, or the target entity does not exist, or a favorite already exists with the specified id, or an entity exists with the id of the posted object but is not of the same type of the posted object "),
@ApiResponse(code = 409, message = "The target **guid** has already been favorited"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public FavoriteEntry createFavorite(@PathParam("personId") String personId, FavoriteBodyCreate favoriteBodyCreate, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* Create a site favorite
*
* **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use &#x60;/people/{personId}/favorites&#x60; instead. Create a site favorite for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. **Note:** You can favorite more than one site by specifying a list of sites in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;id\&quot;: \&quot;test-site-1\&quot; }, { \&quot;id\&quot;: \&quot;test-site-2\&quot; } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/people/{personId}/favorite-sites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a site favorite", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = FavoriteSiteEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **favoriteSiteBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 409, message = "**id** is already a site favorite "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public FavoriteSiteEntry createSiteFavorite(@PathParam("personId") String personId, FavoriteSiteBodyCreate favoriteSiteBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete a favorite
*
* Deletes **favoriteId** as a favorite of person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@DELETE
@Path("/people/{personId}/favorites/{favoriteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a favorite", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **favoriteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteFavorite(@PathParam("personId") String personId, @PathParam("favoriteId") String favoriteId);
/**
* Delete a site favorite
*
* **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use &#x60;/people/{personId}/favorites/{favoriteId}&#x60; instead. Deletes site **siteId** from the favorite site list of person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@DELETE
@Path("/people/{personId}/favorite-sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a site favorite", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSiteFavorite(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
/**
* Get a favorite
*
* Gets favorite **favoriteId** for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/favorites/{favoriteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a favorite", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = FavoriteEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **favoriteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public FavoriteEntry getFavorite(@PathParam("personId") String personId, @PathParam("favoriteId") String favoriteId, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* Get a favorite site
*
* **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use &#x60;/people/{personId}/favorites/{favoriteId}&#x60; instead. Gets information on favorite site **siteId** of person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/favorite-sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a favorite site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteEntry getFavoriteSite(@PathParam("personId") String personId, @PathParam("siteId") String siteId, @QueryParam("fields")List<String> fields);
/**
* List favorite sites
*
* **Note:** this endpoint is deprecated as of Alfresco 4.2, and will be removed in the future. Use &#x60;/people/{personId}/favorites&#x60; instead. Gets a list of a person&#39;s favorite sites. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/favorite-sites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List favorite sites", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SitePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the favorite sites for **personId**"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SitePaging listFavoriteSitesForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* List favorites
*
* Gets a list of favorites for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. The default sort order for the returned list of favorites is type ascending, createdAt descending. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * &#x60;type&#x60; * &#x60;createdAt&#x60; * &#x60;title&#x60; You can use the **where** parameter to restrict the list in the response to entries of a specific kind. The **where** parameter takes a value. The value is a single predicate that can include one or more **EXISTS** conditions. The **EXISTS** condition uses a single operand to limit the list to include entries that include that one property. The property values are: * &#x60;target/file&#x60; * &#x60;target/folder&#x60; * &#x60;target/site&#x60; For example, the following **where** parameter restricts the returned list to the file favorites for a person: &#x60;&#x60;&#x60;SQL (EXISTS(target/file)) &#x60;&#x60;&#x60; You can specify more than one condition using **OR**. The predicate must be enclosed in parentheses. For example, the following **where** parameter restricts the returned list to the file and folder favorites for a person: &#x60;&#x60;&#x60;SQL (EXISTS(target/file) OR EXISTS(target/folder)) &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/people/{personId}/favorites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List favorites", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = FavoritePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist or the current user does not have permission to access the favorites of **personId** "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public FavoritePaging listFavorites(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("where")String where, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,209 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.GroupBodyCreate;
import com.inteligr8.alfresco.acs.model.GroupBodyUpdate;
import com.inteligr8.alfresco.acs.model.GroupEntry;
import com.inteligr8.alfresco.acs.model.GroupMemberEntry;
import com.inteligr8.alfresco.acs.model.GroupMemberPaging;
import com.inteligr8.alfresco.acs.model.GroupMembershipBodyCreate;
import com.inteligr8.alfresco.acs.model.GroupPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface GroupsApi {
/**
* Create a group
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Create a group. The group id must start with \&quot;GROUP\\_\&quot;. If this is omitted it will be added automatically. This format is also returned when listing groups or group memberships. It should be noted that the other group-related operations also expect the id to start with \&quot;GROUP\\_\&quot;. If one or more parentIds are specified then the group will be created and become a member of each of the specified parent groups. If no parentIds are specified then the group will be created as a root group. The group will be created in the **APP.DEFAULT** and **AUTH.ALF** zones. You must have admin rights to create a group.
*
*/
@POST
@Path("/groups")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a group", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = GroupEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: invalid **groupBodyCreate** "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to create a group"),
@ApiResponse(code = 404, message = "**parentIds** does not exist "),
@ApiResponse(code = 409, message = "**id** clashes with an existing group "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupEntry createGroup(GroupBodyCreate groupBodyCreate, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* Create a group membership
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Create a group membership (for an existing person or group) within a group **groupId**. If the added group was previously a root group then it becomes a non-root group since it now has a parent. It is an error to specify an **id** that does not exist. You must have admin rights to create a group membership.
*
*/
@POST
@Path("/groups/{groupId}/members")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a group membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = GroupMemberEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **groupId** or **groupMembershipBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to create a group membership"),
@ApiResponse(code = 404, message = "**groupId** or *id* (of group or person) does not exist "),
@ApiResponse(code = 409, message = "Trying to modify a pre-defined system group, such as GROUP_EVERYONE. "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupMemberEntry createGroupMembership(@PathParam("groupId") String groupId, GroupMembershipBodyCreate groupMembershipBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete a group
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Delete group **groupId**. The option to cascade delete applies this recursively to any hierarchy of group members. In this case, removing a group member does not delete the person or sub-group itself. If a removed sub-group no longer has any parent groups then it becomes a root group. You must have admin rights to delete a group.
*
*/
@DELETE
@Path("/groups/{groupId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a group", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **groupId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to delete a group member"),
@ApiResponse(code = 404, message = "**groupId** does not exist "),
@ApiResponse(code = 409, message = "Trying to delete a pre-defined system group, such as GROUP_EVERYONE. "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteGroup(@PathParam("groupId") String groupId, @QueryParam("cascade")@DefaultValue("false") Boolean cascade);
/**
* Delete a group membership
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Delete group member **groupMemberId** (person or sub-group) from group **groupId**. Removing a group member does not delete the person or sub-group itself. If a removed sub-group no longer has any parent groups then it becomes a root group. You must have admin rights to delete a group membership.
*
*/
@DELETE
@Path("/groups/{groupId}/members/{groupMemberId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a group membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: value of **groupId**, or **groupMemberId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to delete a group membership"),
@ApiResponse(code = 404, message = "**groupId** or **groupMemberId** does not exist "),
@ApiResponse(code = 409, message = "Trying to delete a member of a pre-defined system group, such as GROUP_EVERYONE "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteGroupMembership(@PathParam("groupId") String groupId, @PathParam("groupMemberId") String groupMemberId);
/**
* Get group details
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Get details for group **groupId**. You can use the **include** parameter to return additional information.
*
*/
@GET
@Path("/groups/{groupId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get group details", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = GroupEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: invalid **groupId** "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**groupId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupEntry getGroup(@PathParam("groupId") String groupId, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* List memberships of a group
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Gets a list of the group memberships for the group **groupId**. You can use the **where** parameter to filter the returned groups by **memberType**. Example to filter by **memberType**, use any one of: &#x60;&#x60;&#x60; (memberType&#x3D;&#39;GROUP&#39;) (memberType&#x3D;&#39;PERSON&#39;) &#x60;&#x60;&#x60; The default sort order for the returned list is for group members to be sorted by ascending displayName. You can override the default by using the **orderBy** parameter. You can specify one of the following fields in the **orderBy** parameter: * id * displayName
*
*/
@GET
@Path("/groups/{groupId}/members")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List memberships of a group", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = GroupMemberPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**groupId** does not exist "),
@ApiResponse(code = 405, message = "Trying to list all members of a pre-defined system group, such as GROUP_EVERYONE "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupMemberPaging listGroupMemberships(@PathParam("groupId") String groupId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("where")String where, @QueryParam("fields")List<String> fields);
/**
* List group memberships
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Gets a list of group membership information for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. You can use the **include** parameter to return additional information. You can use the **where** parameter to filter the returned groups by **isRoot**. For example, the following **where** clause will return just the root groups: &#x60;&#x60;&#x60; (isRoot&#x3D;true) &#x60;&#x60;&#x60; The **where** parameter can also be used to filter by ***zone***. This may be combined with isRoot to narrow a result set even further. For example, the following where clause will only return groups belonging to the &#x60;MY.ZONE&#x60; zone. &#x60;&#x60;&#x60; where&#x3D;(zones in (&#39;MY.ZONE&#39;)) &#x60;&#x60;&#x60; This may be combined with the isRoot filter, as shown below: &#x60;&#x60;&#x60; where&#x3D;(isRoot&#x3D;false AND zones in (&#39;MY.ZONE&#39;)) &#x60;&#x60;&#x60; ***Note:*** restrictions include * &#x60;AND&#x60; is the only supported operator when combining &#x60;isRoot&#x60; and &#x60;zones&#x60; filters * Only one zone is supported by the filter * The quoted zone name must be placed in parenthesis — a 400 error will result if these are omitted. The default sort order for the returned list is for groups to be sorted by ascending displayName. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * displayName
*
*/
@GET
@Path("/people/{personId}/groups")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List group memberships", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = GroupPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy** or **personId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupPaging listGroupMembershipsForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("include")List<String> include, @QueryParam("where")String where, @QueryParam("fields")List<String> fields);
/**
* List groups
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Gets a list of groups. You can use the **include** parameter to return additional information. You can use the **where** parameter to filter the returned groups by **isRoot**. For example, the following **where** clause will return just the root groups: &#x60;&#x60;&#x60; (isRoot&#x3D;true) &#x60;&#x60;&#x60; The **where** parameter can also be used to filter by ***zone*** and ***displayName***. They may be combined with isRoot to narrow a result set even further. For example, the following where clause will only return groups belonging to the &#x60;MY.ZONE&#x60; zone. &#x60;&#x60;&#x60; where&#x3D;(zones in (&#39;MY.ZONE&#39;)) &#x60;&#x60;&#x60; This may be combined with the isRoot filter, as shown below: &#x60;&#x60;&#x60; where&#x3D;(isRoot&#x3D;false AND zones in (&#39;MY.ZONE&#39;)) &#x60;&#x60;&#x60; The following where clause will only return groups with displayName &#x60;MY.GROUP.NAME&#x60;. &#x60;&#x60;&#x60; where&#x3D;(displayName in (&#39;MY.GROUP.NAME&#39;)) &#x60;&#x60;&#x60; This may be combined with the isRoot and zones filter, as shown below: &#x60;&#x60;&#x60; where&#x3D;(isRoot&#x3D;false AND displayName in (&#39;MY.GROUP.NAME&#39;)) &#x60;&#x60;&#x60; &#x60;&#x60;&#x60; where&#x3D;(zones in (&#39;MY.ZONE&#39;) AND displayName in (&#39;MY.GROUP.NAME&#39;)) &#x60;&#x60;&#x60; &#x60;&#x60;&#x60; where&#x3D;(isRoot&#x3D;false AND zones in (&#39;MY.ZONE&#39;) AND displayName in (&#39;MY.GROUP.NAME&#39;)) &#x60;&#x60;&#x60; ***Note:*** restrictions include * &#x60;AND&#x60; is the only supported operator when combining &#x60;isRoot&#x60;, &#x60;zones&#x60; and &#x60;displayName&#x60; filters * Only one zone is supported by the filter * Only one displayName is supported by the filter * The quoted zone name and displayName must be placed in parenthesis — a 400 error will result if these are omitted. The default sort order for the returned list is for groups to be sorted by ascending displayName. You can override the default by using the **orderBy** parameter. You can specify one of the following fields in the **orderBy** parameter: * id * displayName
*
*/
@GET
@Path("/groups")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List groups", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = GroupPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount**, or **orderBy**, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupPaging listGroups(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("include")List<String> include, @QueryParam("where")String where, @QueryParam("fields")List<String> fields);
/**
* Update group details
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Update details (displayName) for group **groupId**. You must have admin rights to update a group.
*
*/
@PUT
@Path("/groups/{groupId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update group details", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = GroupEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **groupId** or **groupBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to update a group"),
@ApiResponse(code = 404, message = "**groupId** does not exist "),
@ApiResponse(code = 409, message = "Trying to modify a pre-defined system group, such as GROUP_EVERYONE "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public GroupEntry updateGroup(@PathParam("groupId") String groupId, GroupBodyUpdate groupBodyUpdate, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,78 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.PersonNetworkEntry;
import com.inteligr8.alfresco.acs.model.PersonNetworkPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface NetworksApi {
/**
* Get a network
*
* Gets information for a network **networkId**.
*
*/
@GET
@Path("/networks/{networkId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a network", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonNetworkEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**networkId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonNetworkEntry getNetwork(@PathParam("networkId") String networkId, @QueryParam("fields")List<String> fields);
/**
* Get network information
*
* Gets network information on a single network specified by **networkId** for **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/networks/{networkId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get network information", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonNetworkEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **networkId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonNetworkEntry getNetworkForPerson(@PathParam("personId") String personId, @PathParam("networkId") String networkId, @QueryParam("fields")List<String> fields);
/**
* List network membership
*
* Gets a list of network memberships for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/networks")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List network membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonNetworkPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonNetworkPaging listNetworksForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,201 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.ClientBody;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.PasswordResetBody;
import com.inteligr8.alfresco.acs.model.PersonBodyCreate;
import com.inteligr8.alfresco.acs.model.PersonBodyUpdate;
import com.inteligr8.alfresco.acs.model.PersonEntry;
import com.inteligr8.alfresco.acs.model.PersonPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.io.File;
import java.util.Date;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface PeopleApi {
/**
* Create person
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create a person. If applicable, the given person&#39;s login access can also be optionally disabled. You must have admin rights to create a person. You can set custom properties when you create a person: &#x60;&#x60;&#x60;JSON { \&quot;id\&quot;: \&quot;abeecher\&quot;, \&quot;firstName\&quot;: \&quot;Alice\&quot;, \&quot;lastName\&quot;: \&quot;Beecher\&quot;, \&quot;displayName\&quot;: \&quot;Alice Beecher\&quot;, \&quot;email\&quot;: \&quot;abeecher@example.com\&quot;, \&quot;password\&quot;: \&quot;secret\&quot;, \&quot;properties\&quot;: { \&quot;my:property\&quot;: \&quot;The value\&quot; } } &#x60;&#x60;&#x60; **Note:** setting properties of type d:content and d:category are not supported.
*
*/
@POST
@Path("/people")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create person", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = PersonEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **personBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to create a person"),
@ApiResponse(code = 409, message = "Person within given *id* already exists"),
@ApiResponse(code = 422, message = "Model integrity exception"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonEntry createPerson(PersonBodyCreate personBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete avatar image
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Deletes the avatar image related to person **personId**. You must be the person or have admin rights to update a person&#39;s avatar. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@DELETE
@Path("/people/{personId}/avatar")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete avatar image", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to delete the avatar image for **personId**"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteAvatarImage(@PathParam("personId") String personId);
/**
* Get avatar image
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Gets the avatar image related to the person **personId**. If the person has no related avatar then the **placeholder** query parameter can be optionally used to request a placeholder image to be returned. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/avatar")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get avatar image", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **personId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist or avatar does not exist (and no placeholder requested) "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getAvatarImage(@PathParam("personId") String personId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @QueryParam("placeholder")@DefaultValue("true") Boolean placeholder);
/**
* Get a person
*
* Gets information for the person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a person", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonEntry getPerson(@PathParam("personId") String personId, @QueryParam("fields")List<String> fields);
/**
* List people
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. List people. You can use the **include** parameter to return any additional information. The default sort order for the returned list is for people to be sorted by ascending id. You can override the default by using the **orderBy** parameter. You can use any of the following fields to order the results: * id * firstName * lastName
*
*/
@GET
@Path("/people")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List people", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount** or **orderBy** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonPaging listPeople(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* Request password reset
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Initiates the reset password workflow to send an email with reset password instruction to the user&#39;s registered email. The client is mandatory in the request body. For example: &#x60;&#x60;&#x60;JSON { \&quot;client\&quot;: \&quot;myClient\&quot; } &#x60;&#x60;&#x60; **Note:** The client must be registered before this API can send an email. See [server documentation]. However, out-of-the-box share is registered as a default client, so you could pass **share** as the client name: &#x60;&#x60;&#x60;JSON { \&quot;client\&quot;: \&quot;share\&quot; } &#x60;&#x60;&#x60; **Note:** No authentication is required to call this endpoint.
*
*/
@POST
@Path("/people/{personId}/request-password-reset")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Request password reset", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "Successful response or even when the **personId** does not exist or the user is disabled by an Administrator "),
@ApiResponse(code = 404, message = "**client** is not registered ") })
public void requestPasswordReset(@PathParam("personId") String personId, ClientBody clientBody);
/**
* Reset password
*
* **Note:** this endpoint is available in Alfresco 5.2.1 and newer versions. Resets user&#39;s password The password, id and key properties are mandatory in the request body. For example: &#x60;&#x60;&#x60;JSON { \&quot;password\&quot;:\&quot;newPassword\&quot;, \&quot;id\&quot;:\&quot;activiti$10\&quot;, \&quot;key\&quot;:\&quot;4dad6d00-0daf-413a-b200-f64af4e12345\&quot; } &#x60;&#x60;&#x60; **Note:** No authentication is required to call this endpoint.
*
*/
@POST
@Path("/people/{personId}/reset-password")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Reset password", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "Successful response or even when no workflow instance is found with the given **id** or the workflow instance is invalid (already been used or expired) or the given **personId** does not match the person's id requesting the password reset or the given workflow **key** does not match the recovered key. "),
@ApiResponse(code = 400, message = "Invalid parameter: Value of **password**, **id** or **key** is invalid ") })
public void resetPassword(@PathParam("personId") String personId, PasswordResetBody passwordResetBody);
/**
* Update avatar image
*
* **Note:** this endpoint is available in Alfresco 5.2.2 and newer versions. Updates the avatar image related to the person **personId**. The request body should be the binary stream for the avatar image. The content type of the file should be an image file. This will be used to generate an \&quot;avatar\&quot; thumbnail rendition. You must be the person or have admin rights to update a person&#39;s avatar. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@PUT
@Path("/people/{personId}/avatar")
@Consumes({ "application/octet-stream" })
@Produces({ "application/json" })
@ApiOperation(value = "Update avatar image", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **personId** is not a valid format or the avatar cannot be uploaded "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to update the avatar image for **personId**"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 413, message = "Content exceeds individual file size limit (configured for network/system)"),
@ApiResponse(code = 501, message = "Renditions/thumbnails are disabled for the system"),
@ApiResponse(code = 507, message = "Content exceeds overall storage quota limit configured for the network/system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void updateAvatarImage(@PathParam("personId") String personId, byte[] contentBodyUpdate);
/**
* Update person
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Update the given person&#39;s details. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. If applicable, the given person&#39;s login access can also be optionally disabled or re-enabled. You must have admin rights to update a person — unless updating your own details. If you are changing your password, as a non-admin user, then the existing password must also be supplied (using the oldPassword field in addition to the new password value). Admin users cannot be disabled by setting enabled to false. Non-admin users may not disable themselves. You can set custom properties when you update a person: &#x60;&#x60;&#x60;JSON { \&quot;firstName\&quot;: \&quot;Alice\&quot;, \&quot;properties\&quot;: { \&quot;my:property\&quot;: \&quot;The value\&quot; } } &#x60;&#x60;&#x60; **Note:** setting properties of type d:content and d:category are not supported.
*
*/
@PUT
@Path("/people/{personId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update person", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: the update request is invalid or **personId** is not a valid format or **personBodyUpdate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to update a person"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 422, message = "Model integrity exception"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonEntry updatePerson(@PathParam("personId") String personId, PersonBodyUpdate personBodyUpdate, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,62 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.PreferenceEntry;
import com.inteligr8.alfresco.acs.model.PreferencePaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface PreferencesApi {
/**
* Get a preference
*
* Gets a specific preference for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/preferences/{preferenceName}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a preference", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PreferenceEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the preferences for **personId**"),
@ApiResponse(code = 404, message = "**personId** or **preferenceName** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PreferenceEntry getPreference(@PathParam("personId") String personId, @PathParam("preferenceName") String preferenceName, @QueryParam("fields")List<String> fields);
/**
* List preferences
*
* Gets a list of preferences for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. Note that each preference consists of an **id** and a **value**. The **value** can be of any JSON type.
*
*/
@GET
@Path("/people/{personId}/preferences")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List preferences", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PreferencePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have access to the preferences for **personId**"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PreferencePaging listPreferences(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,39 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.ProbeEntry;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface ProbesApi {
/**
* Check readiness and liveness of the repository
*
* **Note:** this endpoint is available in Alfresco 6.0 and newer versions. Returns a status of 200 to indicate success and 503 for failure. The readiness probe is normally only used to check repository startup. The liveness probe should then be used to check the repository is still responding to requests. **Note:** No authentication is required to call this endpoint.
*
*/
@GET
@Path("/probes/{probeId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Check readiness and liveness of the repository", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = ProbeEntry.class),
@ApiResponse(code = 404, message = "**probeId** does not exist "),
@ApiResponse(code = 503, message = "Service Unavailable - Probe failure status."),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public ProbeEntry getProbe(@PathParam("probeId") String probeId);
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.NodePaging;
import com.inteligr8.alfresco.acs.model.PersonPaging;
import com.inteligr8.alfresco.acs.model.SitePaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface QueriesApi {
/**
* Find nodes
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of nodes that match the given search criteria. The search term is used to look for nodes that match against name, title, description, full text content or tags. The search term: - must contain a minimum of 3 alphanumeric characters - allows \&quot;quoted term\&quot; - can optionally use &#39;*&#39; for wildcard matching By default, file and folder types will be searched unless a specific type is provided as a query parameter. By default, the search will be across the repository unless a specific root node id is provided to start the search from. You can sort the result list using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * name * modifiedAt * createdAt
*
*/
@GET
@Path("/queries/nodes")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Find nodes", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = NodePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid, or search **term** too short, or **nodeType** unknown, or **orderBy** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**rootNodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public NodePaging findNodes(@QueryParam("term")String term, @QueryParam("rootNodeId")String rootNodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("nodeType")String nodeType, @QueryParam("include")List<String> include, @QueryParam("orderBy")List<String> orderBy, @QueryParam("fields")List<String> fields);
/**
* Find people
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of people that match the given search criteria. The search term is used to look for matches against person id, firstname and lastname. The search term: - must contain a minimum of 2 alphanumeric characters - can optionally use &#39;*&#39; for wildcard matching within the term You can sort the result list using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * firstName * lastName
*
*/
@GET
@Path("/queries/people")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Find people", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = PersonPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid, or search **term** too short, or **orderBy** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public PersonPaging findPeople(@QueryParam("term")String term, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields, @QueryParam("orderBy")List<String> orderBy);
/**
* Find sites
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of sites that match the given search criteria. The search term is used to look for sites that match against site id, title or description. The search term: - must contain a minimum of 2 alphanumeric characters - can optionally use &#39;*&#39; for wildcard matching within the term The default sort order for the returned list is for sites to be sorted by ascending id. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * title * description
*
*/
@GET
@Path("/queries/sites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Find sites", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SitePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid, or search **term** too short, or **orderBy** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SitePaging findSites(@QueryParam("term")String term, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,101 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.RatingBody;
import com.inteligr8.alfresco.acs.model.RatingEntry;
import com.inteligr8.alfresco.acs.model.RatingPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface RatingsApi {
/**
* Create a rating
*
* Create a rating for the node with identifier **nodeId**
*
*/
@POST
@Path("/nodes/{nodeId}/ratings")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a rating", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = RatingEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **ratingBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 405, message = "Cannot rate a node of this type"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RatingEntry createRating(@PathParam("nodeId") String nodeId, RatingBody ratingBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete a rating
*
* Deletes rating **ratingId** from node **nodeId**.
*
*/
@DELETE
@Path("/nodes/{nodeId}/ratings/{ratingId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a rating", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: unknown rating scheme specified "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteRating(@PathParam("nodeId") String nodeId, @PathParam("ratingId") String ratingId);
/**
* Get a rating
*
* Get the specific rating **ratingId** on node **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/ratings/{ratingId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a rating", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RatingEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: unknown rating scheme specified "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RatingEntry getRating(@PathParam("nodeId") String nodeId, @PathParam("ratingId") String ratingId, @QueryParam("fields")List<String> fields);
/**
* List ratings
*
* Gets a list of ratings for node **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/ratings")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List ratings", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RatingPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RatingPaging listRatings(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,111 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.RenditionBodyCreate;
import com.inteligr8.alfresco.acs.model.RenditionEntry;
import com.inteligr8.alfresco.acs.model.RenditionPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.io.File;
import java.util.Date;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface RenditionsApi {
/**
* Create rendition
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. An asynchronous request to create a rendition for file **nodeId**. The rendition is specified by name **id** in the request body: &#x60;&#x60;&#x60;JSON { \&quot;id\&quot;:\&quot;doclib\&quot; } &#x60;&#x60;&#x60; Multiple names may be specified as a comma separated list or using a list format: &#x60;&#x60;&#x60;JSON [ { \&quot;id\&quot;: \&quot;doclib\&quot; }, { \&quot;id\&quot;: \&quot;avatar\&quot; } ] &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/nodes/{nodeId}/renditions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create rendition", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "Request accepted"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format or is not a file or **renditionBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 409, message = "All requested renditions already exist"),
@ApiResponse(code = 501, message = "Renditions/thumbnails are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void createRendition(@PathParam("nodeId") String nodeId, RenditionBodyCreate renditionBodyCreate);
/**
* Get rendition information
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition information for **renditionId** of file **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/renditions/{renditionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get rendition information", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionEntry getRendition(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId);
/**
* Get rendition content
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition content for **renditionId** of file **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/renditions/{renditionId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get rendition content", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getRenditionContent(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range, @QueryParam("placeholder")@DefaultValue("false") Boolean placeholder);
/**
* List renditions
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of the rendition information for each rendition of the the file **nodeId**, including the rendition id. Each rendition returned has a **status**: CREATED means it is available to view or download, NOT_CREATED means the rendition can be requested. You can use the **where** parameter to filter the returned renditions by **status**. For example, the following **where** clause will return just the CREATED renditions: &#x60;&#x60;&#x60; (status&#x3D;&#39;CREATED&#39;) &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/nodes/{nodeId}/renditions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List renditions", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, is not a file, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionPaging listRenditions(@PathParam("nodeId") String nodeId, @QueryParam("where")String where);
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,212 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.RenditionEntry;
import com.inteligr8.alfresco.acs.model.RenditionPaging;
import com.inteligr8.alfresco.acs.model.SharedLinkBodyCreate;
import com.inteligr8.alfresco.acs.model.SharedLinkBodyEmail;
import com.inteligr8.alfresco.acs.model.SharedLinkEntry;
import com.inteligr8.alfresco.acs.model.SharedLinkPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.io.File;
import java.util.Date;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface SharedLinksApi {
/**
* Create a shared link to a file
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Create a shared link to the file **nodeId** in the request body. Also, an optional expiry date could be set, so the shared link would become invalid when the expiry date is reached. For example: &#x60;&#x60;&#x60;JSON { \&quot;nodeId\&quot;: \&quot;1ff9da1a-ee2f-4b9c-8c34-3333333333\&quot;, \&quot;expiresAt\&quot;: \&quot;2017-03-23T23:00:00.000+0000\&quot; } &#x60;&#x60;&#x60; **Note:** You can create shared links to more than one file specifying a list of **nodeId**s in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;nodeId\&quot;: \&quot;1ff9da1a-ee2f-4b9c-8c34-4444444444\&quot; }, { \&quot;nodeId\&quot;: \&quot;1ff9da1a-ee2f-4b9c-8c34-5555555555\&quot; } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/shared-links")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a shared link to a file", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SharedLinkEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or does not identify a file, or **sharedLinkBodyCreate** invalid, or the specified expiry date is invalid. E.g. the expiry date has already passed "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to create **sharedId** (for example, no read permission)"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 409, message = "Shared link already exists for **nodeId**"),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SharedLinkEntry createSharedLink(SharedLinkBodyCreate sharedLinkBodyCreate, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
/**
* Deletes a shared link
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes the shared link with identifier **sharedId**.
*
*/
@DELETE
@Path("/shared-links/{sharedId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Deletes a shared link", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to delete **sharedId**"),
@ApiResponse(code = 404, message = "**sharedId** does not exist "),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSharedLink(@PathParam("sharedId") String sharedId);
/**
* Email shared link
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Sends email with app-specific url including identifier **sharedId**. The client and recipientEmails properties are mandatory in the request body. For example, to email a shared link with minimum info: &#x60;&#x60;&#x60;JSON { \&quot;client\&quot;: \&quot;myClient\&quot;, \&quot;recipientEmails\&quot;: [\&quot;john.doe@acme.com\&quot;, \&quot;joe.bloggs@acme.com\&quot;] } &#x60;&#x60;&#x60; A plain text message property can be optionally provided in the request body to customise the sent email. Also, a locale property can be optionally provided in the request body to send the emails in a particular language (if the locale is supported by Alfresco). For example, to email a shared link with a messages and a locale: &#x60;&#x60;&#x60;JSON { \&quot;client\&quot;: \&quot;myClient\&quot;, \&quot;recipientEmails\&quot;: [\&quot;john.doe@acme.com\&quot;, \&quot;joe.bloggs@acme.com\&quot;], \&quot;message\&quot;: \&quot;myMessage\&quot;, \&quot;locale\&quot;:\&quot;en-GB\&quot; } &#x60;&#x60;&#x60; **Note:** The client must be registered before you can send a shared link email. See [server documentation]. However, out-of-the-box share is registered as a default client, so you could pass **share** as the client name: &#x60;&#x60;&#x60;JSON { \&quot;client\&quot;: \&quot;share\&quot;, \&quot;recipientEmails\&quot;: [\&quot;john.doe@acme.com\&quot;] } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/shared-links/{sharedId}/email")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Email shared link", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format or **sharedLinkBodyEmail** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**sharedId** does not exist or **client** is not registered "),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void emailSharedLink(@PathParam("sharedId") String sharedId, SharedLinkBodyEmail sharedLinkBodyEmail);
/**
* Get a shared link
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets minimal information for the file with shared link identifier **sharedId**. **Note:** No authentication is required to call this endpoint.
*
*/
@GET
@Path("/shared-links/{sharedId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a shared link", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SharedLinkEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
@ApiResponse(code = 404, message = "**sharedId** does not exist "),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SharedLinkEntry getSharedLink(@PathParam("sharedId") String sharedId, @QueryParam("fields")List<String> fields);
/**
* Get shared link content
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the content of the file with shared link identifier **sharedId**. **Note:** No authentication is required to call this endpoint.
*
*/
@GET
@Path("/shared-links/{sharedId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get shared link content", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
@ApiResponse(code = 404, message = "**sharedId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getSharedLinkContent(@PathParam("sharedId") String sharedId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
/**
* Get shared link rendition information
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets rendition information for the file with shared link identifier **sharedId**. This API method returns rendition information where the rendition status is CREATED, which means the rendition is available to view/download. **Note:** No authentication is required to call this endpoint.
*
*/
@GET
@Path("/shared-links/{sharedId}/renditions/{renditionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get shared link rendition information", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format, or **renditionId** is invalid "),
@ApiResponse(code = 404, message = "**sharedId** or **renditionId** does not exist (ie. not CREATED) "),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionEntry getSharedLinkRendition(@PathParam("sharedId") String sharedId, @PathParam("renditionId") String renditionId);
/**
* Get shared link rendition content
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition content for file with shared link identifier **sharedId**. **Note:** No authentication is required to call this endpoint.
*
*/
@GET
@Path("/shared-links/{sharedId}/renditions/{renditionId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get shared link rendition content", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format, or **renditionId** is invalid "),
@ApiResponse(code = 404, message = "**sharedId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getSharedLinkRenditionContent(@PathParam("sharedId") String sharedId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
/**
* List renditions for a shared link
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of the rendition information for the file with shared link identifier **sharedId**. This API method returns rendition information, including the rendition id, for each rendition where the rendition status is CREATED, which means the rendition is available to view/download. **Note:** No authentication is required to call this endpoint.
*
*/
@GET
@Path("/shared-links/{sharedId}/renditions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List renditions for a shared link", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: **sharedId** is not a valid format "),
@ApiResponse(code = 404, message = "**sharedId** does not exist "),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionPaging listSharedLinkRenditions(@PathParam("sharedId") String sharedId);
/**
* List shared links
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Get a list of links that the current user has read permission on source node. The list is ordered in descending modified order. **Note:** The list of links is eventually consistent so newly created shared links may not appear immediately.
*
*/
@GET
@Path("/shared-links")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List shared links", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SharedLinkPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 501, message = "Shared links are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SharedLinkPaging listSharedLinks(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,575 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.SiteBodyCreate;
import com.inteligr8.alfresco.acs.model.SiteBodyUpdate;
import com.inteligr8.alfresco.acs.model.SiteContainerEntry;
import com.inteligr8.alfresco.acs.model.SiteContainerPaging;
import com.inteligr8.alfresco.acs.model.SiteEntry;
import com.inteligr8.alfresco.acs.model.SiteGroupEntry;
import com.inteligr8.alfresco.acs.model.SiteGroupPaging;
import com.inteligr8.alfresco.acs.model.SiteMemberEntry;
import com.inteligr8.alfresco.acs.model.SiteMemberPaging;
import com.inteligr8.alfresco.acs.model.SiteMembershipApprovalBody;
import com.inteligr8.alfresco.acs.model.SiteMembershipBodyCreate;
import com.inteligr8.alfresco.acs.model.SiteMembershipBodyUpdate;
import com.inteligr8.alfresco.acs.model.SiteMembershipRejectionBody;
import com.inteligr8.alfresco.acs.model.SiteMembershipRequestBodyCreate;
import com.inteligr8.alfresco.acs.model.SiteMembershipRequestBodyUpdate;
import com.inteligr8.alfresco.acs.model.SiteMembershipRequestEntry;
import com.inteligr8.alfresco.acs.model.SiteMembershipRequestPaging;
import com.inteligr8.alfresco.acs.model.SiteMembershipRequestWithPersonPaging;
import com.inteligr8.alfresco.acs.model.SitePaging;
import com.inteligr8.alfresco.acs.model.SiteRoleEntry;
import com.inteligr8.alfresco.acs.model.SiteRolePaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface SitesApi {
/**
* Approve a site membership request
*
* Approve a site membership request.
*
*/
@POST
@Path("/sites/{siteId}/site-membership-requests/{inviteeId}/approve")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Approve a site membership request", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: value of **siteId** or **inviteeId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to approve membership request"),
@ApiResponse(code = 404, message = "**siteId** or **inviteeId** does not exist "),
@ApiResponse(code = 422, message = "Integrity exception or not allowed to approve membership request. "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void approveSiteMembershipRequest(@PathParam("siteId") String siteId, @PathParam("inviteeId") String inviteeId, SiteMembershipApprovalBody siteMembershipApprovalBody);
/**
* Create a site
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Creates a default site with the given details. Unless explicitly specified, the site id will be generated from the site title. The site id must be unique and only contain alphanumeric and/or dash characters. Note: the id of a site cannot be updated once the site has been created. For example, to create a public site called \&quot;Marketing\&quot; the following body could be used: &#x60;&#x60;&#x60;JSON { \&quot;title\&quot;: \&quot;Marketing\&quot;, \&quot;visibility\&quot;: \&quot;PUBLIC\&quot; } &#x60;&#x60;&#x60; The creation of the (surf) configuration files required by Share can be skipped via the **skipConfiguration** query parameter. **Note:** if skipped then such a site will **not** work within Share. The addition of the site to the user&#39;s site favorites can be skipped via the **skipAddToFavorites** query parameter. The creator will be added as a member with Site Manager role. When you create a site, a container called **documentLibrary** is created for you in the new site. This container is the root folder for content stored in the site.
*
*/
@POST
@Path("/sites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = SiteEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **id**, **title**, or **description** exceed the maximum length; or **id** contains invalid characters; or **siteBodyCreate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 409, message = "Site with the given identifier already exists"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteEntry createSite(SiteBodyCreate siteBodyCreate, @QueryParam("skipConfiguration")@DefaultValue("false") Boolean skipConfiguration, @QueryParam("skipAddToFavorites")@DefaultValue("false") Boolean skipAddToFavorites, @QueryParam("fields")List<String> fields);
/**
* Create a site membership for group
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Creates a site membership for group **groupId** on site **siteId**. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager **Note:** You can create more than one site membership by specifying a list of group in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;role\&quot;: \&quot;SiteConsumer\&quot;, \&quot;id\&quot;: \&quot;authorityId\&quot; }, { \&quot;role\&quot;: \&quot;SiteConsumer\&quot;, \&quot;id\&quot;: \&quot;authorityId\&quot; } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/sites/{siteId}/group-members")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a site membership for group", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = SiteGroupEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **role** or **id** is invalid or **siteMembershipBodyCreate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to invite a Group"),
@ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
@ApiResponse(code = 409, message = "Group with this **id** is already a member"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteGroupEntry createSiteGroupMembership(@PathParam("siteId") String siteId, SiteMembershipBodyCreate siteMembershipBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Create a site membership
*
* Creates a site membership for person **personId** on site **siteId**. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager **Note:** You can create more than one site membership by specifying a list of people in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;role\&quot;: \&quot;SiteConsumer\&quot;, \&quot;id\&quot;: \&quot;joe\&quot; }, { \&quot;role\&quot;: \&quot;SiteConsumer\&quot;, \&quot;id\&quot;: \&quot;fred\&quot; } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/sites/{siteId}/members")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a site membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = SiteMemberEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **role** or **id** is invalid or **siteMembershipBodyCreate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to invite a person"),
@ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
@ApiResponse(code = 409, message = "Person with this **id** is already a member"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMemberEntry createSiteMembership(@PathParam("siteId") String siteId, SiteMembershipBodyCreate siteMembershipBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Create a site membership request
*
* Create a site membership request for yourself on the site with the identifier of **id**, specified in the JSON body. The result of the request differs depending on the type of site. * For a **public** site, you join the site immediately as a SiteConsumer. * For a **moderated** site, your request is added to the site membership request list. The request waits for approval from the Site Manager. * You cannot request membership of a **private** site. Members are invited by the site administrator. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. **Note:** You can create site membership requests for more than one site by specifying a list of sites in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;message\&quot;: \&quot;Please can you add me\&quot;, \&quot;id\&quot;: \&quot;test-site-1\&quot;, \&quot;title\&quot;: \&quot;Request for test site 1\&quot;, }, { \&quot;message\&quot;: \&quot;Please can you add me\&quot;, \&quot;id\&quot;: \&quot;test-site-2\&quot;, \&quot;title\&quot;: \&quot;Request for test site 2\&quot;, } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/people/{personId}/site-membership-requests")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a site membership request", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = SiteMembershipRequestEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **id** is invalid, or the user is already invited, or **siteMembershipRequestBodyCreate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **id** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMembershipRequestEntry createSiteMembershipRequestForPerson(@PathParam("personId") String personId, SiteMembershipRequestBodyCreate siteMembershipRequestBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete a site
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Deletes the site with **siteId**.
*
*/
@DELETE
@Path("/sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to delete the site that is visible to them."),
@ApiResponse(code = 404, message = "**siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSite(@PathParam("siteId") String siteId, @QueryParam("permanent")@DefaultValue("false") Boolean permanent);
/**
* Delete a group membership for site
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Deletes group **groupId** as a member of site **siteId**.
*
*/
@DELETE
@Path("/sites/{siteId}/group-members/{groupId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a group membership for site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
@ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to delete groupId"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSiteGroupMembership(@PathParam("siteId") String siteId, @PathParam("groupId") String groupId);
/**
* Delete a site membership
*
* Deletes person **personId** as a member of site **siteId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@DELETE
@Path("/sites/{siteId}/members/{personId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a site membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
@ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to delete member"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSiteMembership(@PathParam("siteId") String siteId, @PathParam("personId") String personId);
/**
* Delete a site membership
*
* Deletes person **personId** as a member of site **siteId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@DELETE
@Path("/people/{personId}/sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a site membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSiteMembershipForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
/**
* Delete a site membership request
*
* Deletes the site membership request to site **siteId** for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@DELETE
@Path("/people/{personId}/site-membership-requests/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a site membership request", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteSiteMembershipRequestForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
/**
* Get a site
*
* Gets information for site **siteId**. You can use the **relations** parameter to include one or more related entities in a single response and so reduce network traffic. The entity types in Alfresco are organized in a tree structure. The **sites** entity has two children, **containers** and **members**. The following relations parameter returns all the container and member objects related to the site **siteId**: &#x60;&#x60;&#x60; containers,members &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteEntry getSite(@PathParam("siteId") String siteId, @QueryParam("relations")List<String> relations, @QueryParam("fields")List<String> fields);
/**
* Get a site container
*
* Gets information on the container **containerId** in site **siteId**.
*
*/
@GET
@Path("/sites/{siteId}/containers/{containerId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a site container", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteContainerEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **containerId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteContainerEntry getSiteContainer(@PathParam("siteId") String siteId, @PathParam("containerId") String containerId, @QueryParam("fields")List<String> fields);
/**
* Get information about site membership of group
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets site membership information for group **groupId** on site **siteId**.
*
*/
@GET
@Path("/sites/{siteId}/group-members/{groupId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get information about site membership of group", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteGroupEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteGroupEntry getSiteGroupMembership(@PathParam("siteId") String siteId, @PathParam("groupId") String groupId, @QueryParam("fields")List<String> fields);
/**
* Get a site membership
*
* Gets site membership information for person **personId** on site **siteId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/sites/{siteId}/members/{personId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a site membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMemberEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMemberEntry getSiteMembership(@PathParam("siteId") String siteId, @PathParam("personId") String personId, @QueryParam("fields")List<String> fields);
/**
* Get a site membership
*
* Gets site membership information for person **personId** on site **siteId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a site membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteRoleEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteRoleEntry getSiteMembershipForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId);
/**
* Get a site membership request
*
* Gets the site membership request for site **siteId** for person **personId**, if one exists. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/site-membership-requests/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a site membership request", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMembershipRequestEntry getSiteMembershipRequestForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId, @QueryParam("fields")List<String> fields);
/**
* Get site membership requests
*
* Get the list of site membership requests the user can action. You can use the **where** parameter to filter the returned site membership requests by **siteId**. For example: &#x60;&#x60;&#x60; (siteId&#x3D;mySite) &#x60;&#x60;&#x60; The **where** parameter can also be used to filter by ***personId***. For example: &#x60;&#x60;&#x60; where&#x3D;(personId&#x3D;person) &#x60;&#x60;&#x60; This may be combined with the siteId filter, as shown below: &#x60;&#x60;&#x60; where&#x3D;(siteId&#x3D;mySite AND personId&#x3D;person)) &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/site-membership-requests")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get site membership requests", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestWithPersonPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMembershipRequestWithPersonPaging getSiteMembershipRequests(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("where")String where, @QueryParam("fields")List<String> fields);
/**
* List site containers
*
* Gets a list of containers for the site **siteId**.
*
*/
@GET
@Path("/sites/{siteId}/containers")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List site containers", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteContainerPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteContainerPaging listSiteContainers(@PathParam("siteId") String siteId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* List group membership for site
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets a list of group membership for site **siteId**.
*
*/
@GET
@Path("/sites/{siteId}/group-members")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List group membership for site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteGroupPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteGroupPaging listSiteGroups(@PathParam("siteId") String siteId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* List site membership requests
*
* Gets a list of the current site membership requests for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@GET
@Path("/people/{personId}/site-membership-requests")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List site membership requests", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMembershipRequestPaging listSiteMembershipRequestsForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* List site memberships
*
* Gets a list of site memberships for site **siteId**.
*
*/
@GET
@Path("/sites/{siteId}/members")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List site memberships", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMemberPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMemberPaging listSiteMemberships(@PathParam("siteId") String siteId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields, @QueryParam("where")String where);
/**
* List site memberships
*
* Gets a list of site membership information for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. You can use the **where** parameter to filter the returned sites by **visibility** or site **preset**. Example to filter by **visibility**, use any one of: &#x60;&#x60;&#x60; (visibility&#x3D;&#39;PRIVATE&#39;) (visibility&#x3D;&#39;PUBLIC&#39;) (visibility&#x3D;&#39;MODERATED&#39;) &#x60;&#x60;&#x60; Example to filter by site **preset**: &#x60;&#x60;&#x60; (preset&#x3D;&#39;site-dashboard&#39;) &#x60;&#x60;&#x60; The default sort order for the returned list is for sites to be sorted by ascending title. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * title * role
*
*/
@GET
@Path("/people/{personId}/sites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List site memberships", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteRolePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteRolePaging listSiteMembershipsForPerson(@PathParam("personId") String personId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("relations")List<String> relations, @QueryParam("fields")List<String> fields, @QueryParam("where")String where);
/**
* List sites
*
* Gets a list of sites in this repository. You can use the **where** parameter to filter the returned sites by **visibility** or site **preset**. Example to filter by **visibility**, use any one of: &#x60;&#x60;&#x60; (visibility&#x3D;&#39;PRIVATE&#39;) (visibility&#x3D;&#39;PUBLIC&#39;) (visibility&#x3D;&#39;MODERATED&#39;) &#x60;&#x60;&#x60; Example to filter by site **preset**: &#x60;&#x60;&#x60; (preset&#x3D;&#39;site-dashboard&#39;) &#x60;&#x60;&#x60; The default sort order for the returned list is for sites to be sorted by ascending title. You can override the default by using the **orderBy** parameter. You can specify one or more of the following fields in the **orderBy** parameter: * id * title * description You can use the **relations** parameter to include one or more related entities in a single response and so reduce network traffic. The entity types in Alfresco are organized in a tree structure. The **sites** entity has two children, **containers** and **members**. The following relations parameter returns all the container and member objects related to each site: &#x60;&#x60;&#x60; containers,members &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/sites")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List sites", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SitePaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems**, **skipCount**, **orderBy**, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SitePaging listSites(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("orderBy")List<String> orderBy, @QueryParam("relations")List<String> relations, @QueryParam("fields")List<String> fields, @QueryParam("where")String where);
/**
* Reject a site membership request
*
* Reject a site membership request.
*
*/
@POST
@Path("/sites/{siteId}/site-membership-requests/{inviteeId}/reject")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Reject a site membership request", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: value of **siteId** or **inviteeId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to reject membership request"),
@ApiResponse(code = 404, message = "**siteId** or **inviteeId** does not exist "),
@ApiResponse(code = 422, message = "Integrity exception or not allowed to reject membership request. "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void rejectSiteMembershipRequest(@PathParam("siteId") String siteId, @PathParam("inviteeId") String inviteeId, SiteMembershipRejectionBody siteMembershipRejectionBody);
/**
* Update a site
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Update the details for the given site **siteId**. Site Manager or otherwise a (site) admin can update title, description or visibility. Note: the id of a site cannot be updated once the site has been created.
*
*/
@PUT
@Path("/sites/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update a site", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **siteBodyUpdate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to update the site that is visible to them."),
@ApiResponse(code = 404, message = "**siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteEntry updateSite(@PathParam("siteId") String siteId, SiteBodyUpdate siteBodyUpdate, @QueryParam("fields")List<String> fields);
/**
* Update site membership of group
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Update the membership of person **groupId** in site **siteId**. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager
*
*/
@PUT
@Path("/sites/{siteId}/group-members/{groupId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update site membership of group", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteGroupEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **role** does not exist or **siteMembershipBodyUpdate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **groupId** does not exist "),
@ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to update group"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteGroupEntry updateSiteGroupMembership(@PathParam("siteId") String siteId, @PathParam("groupId") String groupId, SiteMembershipBodyUpdate siteMembershipBodyUpdate, @QueryParam("fields")List<String> fields);
/**
* Update a site membership
*
* Update the membership of person **personId** in site **siteId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user. You can set the **role** to one of four types: * SiteConsumer * SiteCollaborator * SiteContributor * SiteManager
*
*/
@PUT
@Path("/sites/{siteId}/members/{personId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update a site membership", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMemberEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **role** does not exist or **siteMembershipBodyUpdate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**siteId** or **personId** does not exist "),
@ApiResponse(code = 422, message = "Integrity exception (eg. last site member must be a site manager) or not allowed to update member"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMemberEntry updateSiteMembership(@PathParam("siteId") String siteId, @PathParam("personId") String personId, SiteMembershipBodyUpdate siteMembershipBodyUpdate, @QueryParam("fields")List<String> fields);
/**
* Update a site membership request
*
* Updates the message for the site membership request to site **siteId** for person **personId**. You can use the &#x60;-me-&#x60; string in place of &#x60;&lt;personId&gt;&#x60; to specify the currently authenticated user.
*
*/
@PUT
@Path("/people/{personId}/site-membership-requests/{siteId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update a site membership request", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = SiteMembershipRequestEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **id** is invalid or **siteMembershipRequestBodyUpdate** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**personId** or **siteId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public SiteMembershipRequestEntry updateSiteMembershipRequestForPerson(@PathParam("personId") String personId, @PathParam("siteId") String siteId, SiteMembershipRequestBodyUpdate siteMembershipRequestBodyUpdate, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,139 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.TagBody;
import com.inteligr8.alfresco.acs.model.TagEntry;
import com.inteligr8.alfresco.acs.model.TagPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface TagsApi {
/**
* Create a tag for a node
*
* Creates a tag on the node **nodeId**. You specify the tag in a JSON body like this: &#x60;&#x60;&#x60;JSON { \&quot;tag\&quot;:\&quot;test-tag-1\&quot; } &#x60;&#x60;&#x60; **Note:** You can create more than one tag by specifying a list of tags in the JSON body like this: &#x60;&#x60;&#x60;JSON [ { \&quot;tag\&quot;:\&quot;test-tag-1\&quot; }, { \&quot;tag\&quot;:\&quot;test-tag-2\&quot; } ] &#x60;&#x60;&#x60; If you specify a list as input, then a paginated list rather than an entry is returned in the response body. For example: &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 2, \&quot;hasMoreItems\&quot;: false, \&quot;totalItems\&quot;: 2, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 100 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } } ] } } &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/nodes/{nodeId}/tags")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create a tag for a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Successful response", response = TagEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **tagBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to create tags on the node"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 405, message = "Cannot tag a node of this type"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TagEntry createTagForNode(@PathParam("nodeId") String nodeId, TagBody tagBodyCreate, @QueryParam("fields")List<String> fields);
/**
* Delete a tag from a node
*
* Deletes tag **tagId** from node **nodeId**.
*
*/
@DELETE
@Path("/nodes/{nodeId}/tags/{tagId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a tag from a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to delete the tag"),
@ApiResponse(code = 404, message = "**nodeId** or **tagId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteTagFromNode(@PathParam("nodeId") String nodeId, @PathParam("tagId") String tagId);
/**
* Get a tag
*
* Get a specific tag with **tagId**.
*
*/
@GET
@Path("/tags/{tagId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a tag", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = TagEntry.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**tagId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TagEntry getTag(@PathParam("tagId") String tagId, @QueryParam("fields")List<String> fields);
/**
* List tags
*
* Gets a list of tags in this repository. You can use the **include** parameter to return additional **values** information.
*
*/
@GET
@Path("/tags")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List tags", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = TagPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TagPaging listTags(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields, @QueryParam("include")List<String> include);
/**
* List tags for a node
*
* Gets a list of tags for node **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/tags")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List tags for a node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = TagPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to read tags on the node"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TagPaging listTagsForNode(@PathParam("nodeId") String nodeId, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("fields")List<String> fields);
/**
* Update a tag
*
* Updates the tag **tagId**.
*
*/
@PUT
@Path("/tags/{tagId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Update a tag", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = TagEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **tagBodyUpdate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**tagId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TagEntry updateTag(@PathParam("tagId") String tagId, TagBody tagBodyUpdate, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,195 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.DeletedNodeBodyRestore;
import com.inteligr8.alfresco.acs.model.DeletedNodeEntry;
import com.inteligr8.alfresco.acs.model.DeletedNodesPaging;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.NodeEntry;
import com.inteligr8.alfresco.acs.model.RenditionEntry;
import com.inteligr8.alfresco.acs.model.RenditionPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.io.File;
import java.util.Date;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface TrashcanApi {
/**
* Permanently delete a deleted node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Permanently deletes the deleted node **nodeId**.
*
*/
@DELETE
@Path("/deleted-nodes/{nodeId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Permanently delete a deleted node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to permanently delete the deleted node"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteDeletedNode(@PathParam("nodeId") String nodeId);
/**
* Get rendition information for a deleted node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition information for **renditionId** of file **nodeId**.
*
*/
@GET
@Path("/deleted-nodes/{nodeId}/renditions/{renditionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get rendition information for a deleted node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionEntry getArchivedNodeRendition(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId);
/**
* Get rendition content of a deleted node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the rendition content for **renditionId** of file **nodeId**.
*
*/
@GET
@Path("/deleted-nodes/{nodeId}/renditions/{renditionId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get rendition content of a deleted node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **renditionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **renditionId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getArchivedNodeRenditionContent(@PathParam("nodeId") String nodeId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range, @QueryParam("placeholder")@DefaultValue("false") Boolean placeholder);
/**
* Get a deleted node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the specific deleted node **nodeId**.
*
*/
@GET
@Path("/deleted-nodes/{nodeId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a deleted node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = DeletedNodeEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to view the deleted node"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public DeletedNodeEntry getDeletedNode(@PathParam("nodeId") String nodeId, @QueryParam("include")List<String> include);
/**
* Get deleted node content
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the content of the deleted node with identifier **nodeId**.
*
*/
@GET
@Path("/deleted-nodes/{nodeId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get deleted node content", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to retrieve content of **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getDeletedNodeContent(@PathParam("nodeId") String nodeId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
/**
* List renditions for a deleted node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of the rendition information for each rendition of the file **nodeId**, including the rendition id. Each rendition returned has a **status**: CREATED means it is available to view or download, NOT_CREATED means the rendition can be requested. You can use the **where** parameter to filter the returned renditions by **status**. For example, the following **where** clause will return just the CREATED renditions: &#x60;&#x60;&#x60; (status&#x3D;&#39;CREATED&#39;) &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/deleted-nodes/{nodeId}/renditions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List renditions for a deleted node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, is not a file, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionPaging listDeletedNodeRenditions(@PathParam("nodeId") String nodeId, @QueryParam("where")String where);
/**
* List deleted nodes
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets a list of deleted nodes for the current user. If the current user is an administrator deleted nodes for all users will be returned. The list of deleted nodes will be ordered with the most recently deleted node at the top of the list.
*
*/
@GET
@Path("/deleted-nodes")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List deleted nodes", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = DeletedNodesPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: value of **maxItems** or **skipCount** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public DeletedNodesPaging listDeletedNodes(@QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("include")List<String> include);
/**
* Restore a deleted node
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Attempts to restore the deleted node **nodeId** to its original location or to a new location. If the node is successfully restored to its former primary parent, then only the primary child association will be restored, including recursively for any primary children. It should be noted that no other secondary child associations or peer associations will be restored, for any of the nodes within the primary parent-child hierarchy of restored nodes, irrespective of whether these associations were to nodes within or outside of the restored hierarchy. Also, any previously shared link will not be restored since it is deleted at the time of delete of each node.
*
*/
@POST
@Path("/deleted-nodes/{nodeId}/restore")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Restore a deleted node", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = NodeEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** or **targetNodeId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "User does not have permission to restore the deleted node or user does not have permission to the target node"),
@ApiResponse(code = 404, message = "**nodeId** does not exist or the restore destination parent node does not exists "),
@ApiResponse(code = 409, message = "Node name already exists in the restore destination"),
@ApiResponse(code = 422, message = "Model integrity exception trying to restore the node"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public NodeEntry restoreDeletedNode(@PathParam("nodeId") String nodeId, @QueryParam("fields")List<String> fields, DeletedNodeBodyRestore deletedNodeBodyRestore);
}

View File

@@ -0,0 +1,59 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.TypeEntry;
import com.inteligr8.alfresco.acs.model.TypePaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Model API** Provides access to the model features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface TypesApi {
/**
* Get a type
*
* **Note:** This is available in Alfresco 7.0.0 and newer versions. Get information for type **typeId**.
*
*/
@GET
@Path("/types/{typeId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get a type", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = TypeEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: unknown typeId scheme specified "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 404, message = "**typeId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TypeEntry getType(@PathParam("typeId") String typeId);
/**
* List types
*
* **Note:** This is available in Alfresco 7.0.0 and newer versions. Gets a list of types from the data dictionary. The System types will be ignored by default. &#x60;&#x60;&#x60;JSON { \&quot;list\&quot;: { \&quot;pagination\&quot;: { \&quot;count\&quot;: 0, \&quot;hasMoreItems\&quot;: true, \&quot;totalItems\&quot;: 0, \&quot;skipCount\&quot;: 0, \&quot;maxItems\&quot;: 0 }, \&quot;entries\&quot;: [ { \&quot;entry\&quot;: { \&quot;associations\&quot;: [], \&quot;isArchive\&quot;: true, \&quot;mandatoryAspects\&quot;: [ \&quot;cm:auditable\&quot;, \&quot;sys:referenceable\&quot;, \&quot;sys:localized\&quot; ], \&quot;includedInSupertypeQuery\&quot;: true, \&quot;description\&quot;: \&quot;Base Content Object\&quot;, \&quot;isContainer\&quot;: false, \&quot;model\&quot;: { \&quot;id\&quot;: \&quot;cm:contentmodel\&quot;, \&quot;author\&quot;: \&quot;Alfresco\&quot;, \&quot;description\&quot;: \&quot;Alfresco Content Domain Model\&quot;, \&quot;namespaceUri\&quot;: \&quot;http://www.alfresco.org/model/content/1.0\&quot;, \&quot;namespacePrefix\&quot;: \&quot;cm\&quot; }, \&quot;id\&quot;: \&quot;cm:content\&quot;, \&quot;title\&quot;: \&quot;Content\&quot;, \&quot;parentId\&quot;: \&quot;cm:cmobject\&quot; \&quot;properties\&quot;: [ { \&quot;id\&quot;: \&quot;cm:name\&quot;, \&quot;title\&quot;: \&quot;Name\&quot;, \&quot;description\&quot;: \&quot;Name\&quot;, \&quot;dataType\&quot;: \&quot;d:text\&quot;, \&quot;isMultiValued\&quot;: false, \&quot;isMandatory\&quot;: true, \&quot;isMandatoryEnforced\&quot;: true \&quot;isProtected\&quot;: false ... }, { ... } ] } }, { \&quot;entry\&quot;: { ... } }, { \&quot;entry\&quot;: { ... } }, ] } } &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/types")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List types", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = TypePaging.class),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public TypePaging listTypes(@QueryParam("where")String where, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems, @QueryParam("include")List<String> include);
}

View File

@@ -0,0 +1,219 @@
package com.inteligr8.alfresco.acs.api;
import com.inteligr8.alfresco.acs.model.Error;
import com.inteligr8.alfresco.acs.model.RenditionBodyCreate;
import com.inteligr8.alfresco.acs.model.RenditionEntry;
import com.inteligr8.alfresco.acs.model.RenditionPaging;
import com.inteligr8.alfresco.acs.model.RevertBody;
import com.inteligr8.alfresco.acs.model.VersionEntry;
import com.inteligr8.alfresco.acs.model.VersionPaging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.io.File;
import java.util.Date;
import java.util.List;
import javax.ws.rs.*;
/**
* Alfresco Content Services REST API
*
* <p>**Core API** Provides access to the core features of Alfresco Content Services.
*
*/
@Path("/api/-default-/public/alfresco/versions/1")
@Api(value = "/api/-default-/public/alfresco/versions/1", description = "")
public interface VersionsApi {
/**
* Create rendition for a file version
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. An asynchronous request to create a rendition for version of file **nodeId** and **versionId**. The version rendition is specified by name **id** in the request body: &#x60;&#x60;&#x60;JSON { \&quot;id\&quot;:\&quot;doclib\&quot; } &#x60;&#x60;&#x60; Multiple names may be specified as a comma separated list or using a list format: &#x60;&#x60;&#x60;JSON [ { \&quot;id\&quot;: \&quot;doclib\&quot; }, { \&quot;id\&quot;: \&quot;avatar\&quot; } ] &#x60;&#x60;&#x60;
*
*/
@POST
@Path("/nodes/{nodeId}/versions/{versionId}/renditions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Create rendition for a file version", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 202, message = "Request accepted"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **versionId** is invalid, or **renditionBodyCreate** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** or **renditionId** does not exist "),
@ApiResponse(code = 409, message = "All requested renditions already exist"),
@ApiResponse(code = 501, message = "Renditions/thumbnails are disabled for the system"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void createVersionRendition(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId, RenditionBodyCreate renditionBodyCreate);
/**
* Delete a version
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Delete the version identified by **versionId** and **nodeId*. If the version is successfully deleted then the content and metadata for that versioned node will be deleted and will no longer appear in the version history. This operation cannot be undone. If the most recent version is deleted the live node will revert to the next most recent version. We currently do not allow the last version to be deleted. If you wish to clear the history then you can remove the \&quot;cm:versionable\&quot; aspect (via update node) which will also disable versioning. In this case, you can re-enable versioning by adding back the \&quot;cm:versionable\&quot; aspect or using the version params (majorVersion and comment) on a subsequent file content update.
*
*/
@DELETE
@Path("/nodes/{nodeId}/versions/{versionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Delete a version", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 204, message = "Successful response"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or exists but does not identify a file, or **versionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to delete the versioned node"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** does not exist "),
@ApiResponse(code = 422, message = "Cannot delete the last remaining version"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public void deleteVersion(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId);
/**
* Get version information
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the version information for **versionId** of file node **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/versions/{versionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get version information", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = VersionEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or it exists but does not identify a file, or **versionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public VersionEntry getVersion(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId);
/**
* Get version content
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the version content for **versionId** of file node **nodeId**.
*
*/
@GET
@Path("/nodes/{nodeId}/versions/{versionId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get version content", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **versionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getVersionContent(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range);
/**
* Get rendition information for a file version
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets the rendition information for **renditionId** of version of file **nodeId** and **versionId**.
*
*/
@GET
@Path("/nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Get rendition information for a file version", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **versionId** is invalid, or **renditionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** or **renditionId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionEntry getVersionRendition(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId, @PathParam("renditionId") String renditionId);
/**
* Get rendition content for a file version
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets the rendition content for **renditionId** of version of file **nodeId** and **versionId**.
*
*/
@GET
@Path("/nodes/{nodeId}/versions/{versionId}/renditions/{renditionId}/content")
@Consumes({ "application/json" })
@Produces({ "application/octet-stream" })
@ApiOperation(value = "Get rendition content for a file version", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = File.class),
@ApiResponse(code = 206, message = "Partial Content"),
@ApiResponse(code = 304, message = "Content has not been modified since the date provided in the If-Modified-Since header"),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **versionId** is invalid, or **renditionId** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** or **renditionId** does not exist "),
@ApiResponse(code = 416, message = "Range Not Satisfiable"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public File getVersionRenditionContent(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId, @PathParam("renditionId") String renditionId, @QueryParam("attachment")@DefaultValue("true") Boolean attachment, @HeaderParam("If-Modified-Since") Date ifModifiedSince, @HeaderParam("Range") String range, @QueryParam("placeholder")@DefaultValue("false") Boolean placeholder);
/**
* List version history
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Gets the version history as an ordered list of versions for the specified **nodeId**. The list is ordered in descending modified order. So the most recent version is first and the original version is last in the list.
*
*/
@GET
@Path("/nodes/{nodeId}/versions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List version history", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = VersionPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "Target **nodeId** does not exist"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public VersionPaging listVersionHistory(@PathParam("nodeId") String nodeId, @QueryParam("include")List<String> include, @QueryParam("fields")List<String> fields, @QueryParam("skipCount")@DefaultValue("0") Integer skipCount, @QueryParam("maxItems")@DefaultValue("100") Integer maxItems);
/**
* List renditions for a file version
*
* **Note:** this endpoint is available in Alfresco 7.0.0 and newer versions. Gets a list of the rendition information for each rendition of the version of file **nodeId** and **versionId**, including the rendition id. Each rendition returned has a **status**: CREATED means it is available to view or download, NOT_CREATED means the rendition can be requested. You can use the **where** parameter to filter the returned renditions by **status**. For example, the following **where** clause will return just the CREATED renditions: &#x60;&#x60;&#x60; (status&#x3D;&#39;CREATED&#39;) &#x60;&#x60;&#x60;
*
*/
@GET
@Path("/nodes/{nodeId}/versions/{versionId}/renditions")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "List renditions for a file version", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = RenditionPaging.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or is not a file, or **versionId** is invalid, or **where** is invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission for **nodeId**"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** does not exist "),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public RenditionPaging listVersionRenditions(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId, @QueryParam("where")String where);
/**
* Revert a version
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions. Attempts to revert the version identified by **versionId** and **nodeId** to the live node. If the node is successfully reverted then the content and metadata for that versioned node will be promoted to the live node and a new version will appear in the version history.
*
*/
@POST
@Path("/nodes/{nodeId}/versions/{versionId}/revert")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@ApiOperation(value = "Revert a version", tags={ })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Successful response", response = VersionEntry.class),
@ApiResponse(code = 400, message = "Invalid parameter: **nodeId** is not a valid format, or it exists but does not identify a file, or **versionId** is invalid, or **revertBody** invalid "),
@ApiResponse(code = 401, message = "Authentication failed"),
@ApiResponse(code = 403, message = "Current user does not have permission to revert the versioned node"),
@ApiResponse(code = 404, message = "**nodeId** or **versionId** does not exist "),
@ApiResponse(code = 422, message = "Model integrity exception trying to revert the node"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
public VersionEntry revertVersion(@PathParam("nodeId") String nodeId, @PathParam("versionId") String versionId, RevertBody revertBody, @QueryParam("fields")List<String> fields);
}

View File

@@ -0,0 +1,287 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AbstractClass {
@ApiModelProperty(required = true, value = "")
private String id = null;
@ApiModelProperty(required = true, value = "")
private String title = null;
@ApiModelProperty(value = "")
private String description = null;
@ApiModelProperty(value = "")
private String parentId = null;
@ApiModelProperty(value = "")
private List<Property> properties = null;
@ApiModelProperty(value = "")
private Boolean isContainer = null;
@ApiModelProperty(value = "")
private Boolean isArchive = null;
@ApiModelProperty(value = "")
private Boolean includedInSupertypeQuery = null;
@ApiModelProperty(value = "")
private List<String> mandatoryAspects = null;
@ApiModelProperty(value = "")
private List<AbstractClassAssociation> associations = null;
@ApiModelProperty(value = "")
private Model model = null;
/**
* Get id
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public AbstractClass id(String id) {
this.id = id;
return this;
}
/**
* Get title
* @return title
**/
@JsonProperty("title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public AbstractClass title(String title) {
this.title = title;
return this;
}
/**
* Get description
* @return description
**/
@JsonProperty("description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public AbstractClass description(String description) {
this.description = description;
return this;
}
/**
* Get parentId
* @return parentId
**/
@JsonProperty("parentId")
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public AbstractClass parentId(String parentId) {
this.parentId = parentId;
return this;
}
/**
* Get properties
* @return properties
**/
@JsonProperty("properties")
public List<Property> getProperties() {
return properties;
}
public void setProperties(List<Property> properties) {
this.properties = properties;
}
public AbstractClass properties(List<Property> properties) {
this.properties = properties;
return this;
}
public AbstractClass addPropertiesItem(Property propertiesItem) {
this.properties.add(propertiesItem);
return this;
}
/**
* Get isContainer
* @return isContainer
**/
@JsonProperty("isContainer")
public Boolean isIsContainer() {
return isContainer;
}
public void setIsContainer(Boolean isContainer) {
this.isContainer = isContainer;
}
public AbstractClass isContainer(Boolean isContainer) {
this.isContainer = isContainer;
return this;
}
/**
* Get isArchive
* @return isArchive
**/
@JsonProperty("isArchive")
public Boolean isIsArchive() {
return isArchive;
}
public void setIsArchive(Boolean isArchive) {
this.isArchive = isArchive;
}
public AbstractClass isArchive(Boolean isArchive) {
this.isArchive = isArchive;
return this;
}
/**
* Get includedInSupertypeQuery
* @return includedInSupertypeQuery
**/
@JsonProperty("includedInSupertypeQuery")
public Boolean isIncludedInSupertypeQuery() {
return includedInSupertypeQuery;
}
public void setIncludedInSupertypeQuery(Boolean includedInSupertypeQuery) {
this.includedInSupertypeQuery = includedInSupertypeQuery;
}
public AbstractClass includedInSupertypeQuery(Boolean includedInSupertypeQuery) {
this.includedInSupertypeQuery = includedInSupertypeQuery;
return this;
}
/**
* Get mandatoryAspects
* @return mandatoryAspects
**/
@JsonProperty("mandatoryAspects")
public List<String> getMandatoryAspects() {
return mandatoryAspects;
}
public void setMandatoryAspects(List<String> mandatoryAspects) {
this.mandatoryAspects = mandatoryAspects;
}
public AbstractClass mandatoryAspects(List<String> mandatoryAspects) {
this.mandatoryAspects = mandatoryAspects;
return this;
}
public AbstractClass addMandatoryAspectsItem(String mandatoryAspectsItem) {
this.mandatoryAspects.add(mandatoryAspectsItem);
return this;
}
/**
* Get associations
* @return associations
**/
@JsonProperty("associations")
public List<AbstractClassAssociation> getAssociations() {
return associations;
}
public void setAssociations(List<AbstractClassAssociation> associations) {
this.associations = associations;
}
public AbstractClass associations(List<AbstractClassAssociation> associations) {
this.associations = associations;
return this;
}
public AbstractClass addAssociationsItem(AbstractClassAssociation associationsItem) {
this.associations.add(associationsItem);
return this;
}
/**
* Get model
* @return model
**/
@JsonProperty("model")
public Model getModel() {
return model;
}
public void setModel(Model model) {
this.model = model;
}
public AbstractClass model(Model model) {
this.model = model;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AbstractClass {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" title: ").append(toIndentedString(title)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" parentId: ").append(toIndentedString(parentId)).append("\n");
sb.append(" properties: ").append(toIndentedString(properties)).append("\n");
sb.append(" isContainer: ").append(toIndentedString(isContainer)).append("\n");
sb.append(" isArchive: ").append(toIndentedString(isArchive)).append("\n");
sb.append(" includedInSupertypeQuery: ").append(toIndentedString(includedInSupertypeQuery)).append("\n");
sb.append(" mandatoryAspects: ").append(toIndentedString(mandatoryAspects)).append("\n");
sb.append(" associations: ").append(toIndentedString(associations)).append("\n");
sb.append(" model: ").append(toIndentedString(model)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,183 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AbstractClassAssociation {
@ApiModelProperty(required = true, value = "")
private String id = null;
@ApiModelProperty(value = "")
private String title = null;
@ApiModelProperty(value = "")
private String description = null;
@ApiModelProperty(value = "")
private Boolean isChild = null;
@ApiModelProperty(value = "")
private Boolean isProtected = null;
@ApiModelProperty(value = "")
private AbstractClassAssociationSource source = null;
@ApiModelProperty(value = "")
private AbstractClassAssociationSource target = null;
/**
* Get id
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public AbstractClassAssociation id(String id) {
this.id = id;
return this;
}
/**
* Get title
* @return title
**/
@JsonProperty("title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public AbstractClassAssociation title(String title) {
this.title = title;
return this;
}
/**
* Get description
* @return description
**/
@JsonProperty("description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public AbstractClassAssociation description(String description) {
this.description = description;
return this;
}
/**
* Get isChild
* @return isChild
**/
@JsonProperty("isChild")
public Boolean isIsChild() {
return isChild;
}
public void setIsChild(Boolean isChild) {
this.isChild = isChild;
}
public AbstractClassAssociation isChild(Boolean isChild) {
this.isChild = isChild;
return this;
}
/**
* Get isProtected
* @return isProtected
**/
@JsonProperty("isProtected")
public Boolean isIsProtected() {
return isProtected;
}
public void setIsProtected(Boolean isProtected) {
this.isProtected = isProtected;
}
public AbstractClassAssociation isProtected(Boolean isProtected) {
this.isProtected = isProtected;
return this;
}
/**
* Get source
* @return source
**/
@JsonProperty("source")
public AbstractClassAssociationSource getSource() {
return source;
}
public void setSource(AbstractClassAssociationSource source) {
this.source = source;
}
public AbstractClassAssociation source(AbstractClassAssociationSource source) {
this.source = source;
return this;
}
/**
* Get target
* @return target
**/
@JsonProperty("target")
public AbstractClassAssociationSource getTarget() {
return target;
}
public void setTarget(AbstractClassAssociationSource target) {
this.target = target;
}
public AbstractClassAssociation target(AbstractClassAssociationSource target) {
this.target = target;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AbstractClassAssociation {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" title: ").append(toIndentedString(title)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" isChild: ").append(toIndentedString(isChild)).append("\n");
sb.append(" isProtected: ").append(toIndentedString(isProtected)).append("\n");
sb.append(" source: ").append(toIndentedString(source)).append("\n");
sb.append(" target: ").append(toIndentedString(target)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,139 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AbstractClassAssociationSource {
@ApiModelProperty(value = "")
private String role = null;
@ApiModelProperty(value = "")
private String cls = null;
@ApiModelProperty(value = "")
private Boolean isMandatory = null;
@ApiModelProperty(value = "")
private Boolean isMany = null;
@ApiModelProperty(value = "")
private Boolean isMandatoryEnforced = null;
/**
* Get role
* @return role
**/
@JsonProperty("role")
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public AbstractClassAssociationSource role(String role) {
this.role = role;
return this;
}
/**
* Get cls
* @return cls
**/
@JsonProperty("cls")
public String getCls() {
return cls;
}
public void setCls(String cls) {
this.cls = cls;
}
public AbstractClassAssociationSource cls(String cls) {
this.cls = cls;
return this;
}
/**
* Get isMandatory
* @return isMandatory
**/
@JsonProperty("isMandatory")
public Boolean isIsMandatory() {
return isMandatory;
}
public void setIsMandatory(Boolean isMandatory) {
this.isMandatory = isMandatory;
}
public AbstractClassAssociationSource isMandatory(Boolean isMandatory) {
this.isMandatory = isMandatory;
return this;
}
/**
* Get isMany
* @return isMany
**/
@JsonProperty("isMany")
public Boolean isIsMany() {
return isMany;
}
public void setIsMany(Boolean isMany) {
this.isMany = isMany;
}
public AbstractClassAssociationSource isMany(Boolean isMany) {
this.isMany = isMany;
return this;
}
/**
* Get isMandatoryEnforced
* @return isMandatoryEnforced
**/
@JsonProperty("isMandatoryEnforced")
public Boolean isIsMandatoryEnforced() {
return isMandatoryEnforced;
}
public void setIsMandatoryEnforced(Boolean isMandatoryEnforced) {
this.isMandatoryEnforced = isMandatoryEnforced;
}
public AbstractClassAssociationSource isMandatoryEnforced(Boolean isMandatoryEnforced) {
this.isMandatoryEnforced = isMandatoryEnforced;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AbstractClassAssociationSource {\n");
sb.append(" role: ").append(toIndentedString(role)).append("\n");
sb.append(" cls: ").append(toIndentedString(cls)).append("\n");
sb.append(" isMandatory: ").append(toIndentedString(isMandatory)).append("\n");
sb.append(" isMany: ").append(toIndentedString(isMany)).append("\n");
sb.append(" isMandatoryEnforced: ").append(toIndentedString(isMandatoryEnforced)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,98 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionBodyExec {
@ApiModelProperty(required = true, value = "")
private String actionDefinitionId = null;
@ApiModelProperty(value = "The entity upon which to execute the action, typically a node ID or similar.")
/**
* The entity upon which to execute the action, typically a node ID or similar.
**/
private String targetId = null;
@ApiModelProperty(value = "")
private Object params = null;
/**
* Get actionDefinitionId
* @return actionDefinitionId
**/
@JsonProperty("actionDefinitionId")
public String getActionDefinitionId() {
return actionDefinitionId;
}
public void setActionDefinitionId(String actionDefinitionId) {
this.actionDefinitionId = actionDefinitionId;
}
public ActionBodyExec actionDefinitionId(String actionDefinitionId) {
this.actionDefinitionId = actionDefinitionId;
return this;
}
/**
* The entity upon which to execute the action, typically a node ID or similar.
* @return targetId
**/
@JsonProperty("targetId")
public String getTargetId() {
return targetId;
}
public void setTargetId(String targetId) {
this.targetId = targetId;
}
public ActionBodyExec targetId(String targetId) {
this.targetId = targetId;
return this;
}
/**
* Get params
* @return params
**/
@JsonProperty("params")
public Object getParams() {
return params;
}
public void setParams(Object params) {
this.params = params;
}
public ActionBodyExec params(Object params) {
this.params = params;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionBodyExec {\n");
sb.append(" actionDefinitionId: ").append(toIndentedString(actionDefinitionId)).append("\n");
sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n");
sb.append(" params: ").append(toIndentedString(params)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,213 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionDefinition {
@ApiModelProperty(required = true, value = "Identifier of the action definition — used for example when executing an action")
/**
* Identifier of the action definition — used for example when executing an action
**/
private String id = null;
@ApiModelProperty(value = "name of the action definition, e.g. \"move\"")
/**
* name of the action definition, e.g. \"move\"
**/
private String name = null;
@ApiModelProperty(value = "title of the action definition, e.g. \"Move\"")
/**
* title of the action definition, e.g. \"Move\"
**/
private String title = null;
@ApiModelProperty(value = "describes the action definition, e.g. \"This will move the matched item to another space.\"")
/**
* describes the action definition, e.g. \"This will move the matched item to another space.\"
**/
private String description = null;
@ApiModelProperty(required = true, value = "QNames of the types this action applies to")
/**
* QNames of the types this action applies to
**/
private List<String> applicableTypes = new ArrayList<String>();
@ApiModelProperty(required = true, value = "whether the basic action definition supports action tracking or not")
/**
* whether the basic action definition supports action tracking or not
**/
private Boolean trackStatus = null;
@ApiModelProperty(value = "")
private List<ActionParameterDefinition> parameterDefinitions = null;
/**
* Identifier of the action definition — used for example when executing an action
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ActionDefinition id(String id) {
this.id = id;
return this;
}
/**
* name of the action definition, e.g. \&quot;move\&quot;
* @return name
**/
@JsonProperty("name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ActionDefinition name(String name) {
this.name = name;
return this;
}
/**
* title of the action definition, e.g. \&quot;Move\&quot;
* @return title
**/
@JsonProperty("title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public ActionDefinition title(String title) {
this.title = title;
return this;
}
/**
* describes the action definition, e.g. \&quot;This will move the matched item to another space.\&quot;
* @return description
**/
@JsonProperty("description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public ActionDefinition description(String description) {
this.description = description;
return this;
}
/**
* QNames of the types this action applies to
* @return applicableTypes
**/
@JsonProperty("applicableTypes")
public List<String> getApplicableTypes() {
return applicableTypes;
}
public void setApplicableTypes(List<String> applicableTypes) {
this.applicableTypes = applicableTypes;
}
public ActionDefinition applicableTypes(List<String> applicableTypes) {
this.applicableTypes = applicableTypes;
return this;
}
public ActionDefinition addApplicableTypesItem(String applicableTypesItem) {
this.applicableTypes.add(applicableTypesItem);
return this;
}
/**
* whether the basic action definition supports action tracking or not
* @return trackStatus
**/
@JsonProperty("trackStatus")
public Boolean isTrackStatus() {
return trackStatus;
}
public void setTrackStatus(Boolean trackStatus) {
this.trackStatus = trackStatus;
}
public ActionDefinition trackStatus(Boolean trackStatus) {
this.trackStatus = trackStatus;
return this;
}
/**
* Get parameterDefinitions
* @return parameterDefinitions
**/
@JsonProperty("parameterDefinitions")
public List<ActionParameterDefinition> getParameterDefinitions() {
return parameterDefinitions;
}
public void setParameterDefinitions(List<ActionParameterDefinition> parameterDefinitions) {
this.parameterDefinitions = parameterDefinitions;
}
public ActionDefinition parameterDefinitions(List<ActionParameterDefinition> parameterDefinitions) {
this.parameterDefinitions = parameterDefinitions;
return this;
}
public ActionDefinition addParameterDefinitionsItem(ActionParameterDefinition parameterDefinitionsItem) {
this.parameterDefinitions.add(parameterDefinitionsItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionDefinition {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" title: ").append(toIndentedString(title)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" applicableTypes: ").append(toIndentedString(applicableTypes)).append("\n");
sb.append(" trackStatus: ").append(toIndentedString(trackStatus)).append("\n");
sb.append(" parameterDefinitions: ").append(toIndentedString(parameterDefinitions)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionDefinitionEntry {
@ApiModelProperty(required = true, value = "")
private ActionDefinition entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public ActionDefinition getEntry() {
return entry;
}
public void setEntry(ActionDefinition entry) {
this.entry = entry;
}
public ActionDefinitionEntry entry(ActionDefinition entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionDefinitionEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionDefinitionList {
@ApiModelProperty(value = "")
private ActionDefinitionListList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public ActionDefinitionListList getList() {
return _list;
}
public void setList(ActionDefinitionListList _list) {
this._list = _list;
}
public ActionDefinitionList _list(ActionDefinitionListList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionDefinitionList {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionDefinitionListList {
@ApiModelProperty(value = "")
private Pagination pagination = null;
@ApiModelProperty(value = "")
private List<ActionDefinition> entries = null;
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public ActionDefinitionListList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<ActionDefinition> getEntries() {
return entries;
}
public void setEntries(List<ActionDefinition> entries) {
this.entries = entries;
}
public ActionDefinitionListList entries(List<ActionDefinition> entries) {
this.entries = entries;
return this;
}
public ActionDefinitionListList addEntriesItem(ActionDefinition entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionDefinitionListList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,54 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionExecResult {
@ApiModelProperty(required = true, value = "The unique identifier of the action pending execution")
/**
* The unique identifier of the action pending execution
**/
private String id = null;
/**
* The unique identifier of the action pending execution
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ActionExecResult id(String id) {
this.id = id;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionExecResult {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionExecResultEntry {
@ApiModelProperty(required = true, value = "")
private ActionExecResult entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public ActionExecResult getEntry() {
return entry;
}
public void setEntry(ActionExecResult entry) {
this.entry = entry;
}
public ActionExecResultEntry entry(ActionExecResult entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionExecResultEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,139 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActionParameterDefinition {
@ApiModelProperty(value = "")
private String name = null;
@ApiModelProperty(value = "")
private String type = null;
@ApiModelProperty(value = "")
private Boolean multiValued = null;
@ApiModelProperty(value = "")
private Boolean mandatory = null;
@ApiModelProperty(value = "")
private String displayLabel = null;
/**
* Get name
* @return name
**/
@JsonProperty("name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ActionParameterDefinition name(String name) {
this.name = name;
return this;
}
/**
* Get type
* @return type
**/
@JsonProperty("type")
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public ActionParameterDefinition type(String type) {
this.type = type;
return this;
}
/**
* Get multiValued
* @return multiValued
**/
@JsonProperty("multiValued")
public Boolean isMultiValued() {
return multiValued;
}
public void setMultiValued(Boolean multiValued) {
this.multiValued = multiValued;
}
public ActionParameterDefinition multiValued(Boolean multiValued) {
this.multiValued = multiValued;
return this;
}
/**
* Get mandatory
* @return mandatory
**/
@JsonProperty("mandatory")
public Boolean isMandatory() {
return mandatory;
}
public void setMandatory(Boolean mandatory) {
this.mandatory = mandatory;
}
public ActionParameterDefinition mandatory(Boolean mandatory) {
this.mandatory = mandatory;
return this;
}
/**
* Get displayLabel
* @return displayLabel
**/
@JsonProperty("displayLabel")
public String getDisplayLabel() {
return displayLabel;
}
public void setDisplayLabel(String displayLabel) {
this.displayLabel = displayLabel;
}
public ActionParameterDefinition displayLabel(String displayLabel) {
this.displayLabel = displayLabel;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActionParameterDefinition {\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append(" multiValued: ").append(toIndentedString(multiValued)).append("\n");
sb.append(" mandatory: ").append(toIndentedString(mandatory)).append("\n");
sb.append(" displayLabel: ").append(toIndentedString(displayLabel)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,215 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import java.util.Map;
/**
* Activities describe any past activity in a site, for example creating an item of content, commenting on a node, liking an item of content.
**/
@ApiModel(description="Activities describe any past activity in a site, for example creating an item of content, commenting on a node, liking an item of content. ")@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Activity {
@ApiModelProperty(required = true, value = "The id of the person who performed the activity")
/**
* The id of the person who performed the activity
**/
private String postPersonId = null;
@ApiModelProperty(required = true, value = "The unique id of the activity")
/**
* The unique id of the activity
**/
private Long id = null;
@ApiModelProperty(value = "The unique id of the site on which the activity was performed")
/**
* The unique id of the site on which the activity was performed
**/
private String siteId = null;
@ApiModelProperty(value = "The date time at which the activity was performed")
/**
* The date time at which the activity was performed
**/
private Date postedAt = null;
@ApiModelProperty(required = true, value = "The feed on which this activity was posted")
/**
* The feed on which this activity was posted
**/
private String feedPersonId = null;
@ApiModelProperty(value = "An object summarizing the activity")
/**
* An object summarizing the activity
**/
private Map<String, String> activitySummary = null;
@ApiModelProperty(required = true, value = "The type of the activity posted")
/**
* The type of the activity posted
**/
private String activityType = null;
/**
* The id of the person who performed the activity
* @return postPersonId
**/
@JsonProperty("postPersonId")
public String getPostPersonId() {
return postPersonId;
}
public void setPostPersonId(String postPersonId) {
this.postPersonId = postPersonId;
}
public Activity postPersonId(String postPersonId) {
this.postPersonId = postPersonId;
return this;
}
/**
* The unique id of the activity
* @return id
**/
@JsonProperty("id")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Activity id(Long id) {
this.id = id;
return this;
}
/**
* The unique id of the site on which the activity was performed
* @return siteId
**/
@JsonProperty("siteId")
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public Activity siteId(String siteId) {
this.siteId = siteId;
return this;
}
/**
* The date time at which the activity was performed
* @return postedAt
**/
@JsonProperty("postedAt")
public Date getPostedAt() {
return postedAt;
}
public void setPostedAt(Date postedAt) {
this.postedAt = postedAt;
}
public Activity postedAt(Date postedAt) {
this.postedAt = postedAt;
return this;
}
/**
* The feed on which this activity was posted
* @return feedPersonId
**/
@JsonProperty("feedPersonId")
public String getFeedPersonId() {
return feedPersonId;
}
public void setFeedPersonId(String feedPersonId) {
this.feedPersonId = feedPersonId;
}
public Activity feedPersonId(String feedPersonId) {
this.feedPersonId = feedPersonId;
return this;
}
/**
* An object summarizing the activity
* @return activitySummary
**/
@JsonProperty("activitySummary")
public Map<String, String> getActivitySummary() {
return activitySummary;
}
public void setActivitySummary(Map<String, String> activitySummary) {
this.activitySummary = activitySummary;
}
public Activity activitySummary(Map<String, String> activitySummary) {
this.activitySummary = activitySummary;
return this;
}
public Activity putActivitySummaryItem(String key, String activitySummaryItem) {
this.activitySummary.put(key, activitySummaryItem);
return this;
}
/**
* The type of the activity posted
* @return activityType
**/
@JsonProperty("activityType")
public String getActivityType() {
return activityType;
}
public void setActivityType(String activityType) {
this.activityType = activityType;
}
public Activity activityType(String activityType) {
this.activityType = activityType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Activity {\n");
sb.append(" postPersonId: ").append(toIndentedString(postPersonId)).append("\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" siteId: ").append(toIndentedString(siteId)).append("\n");
sb.append(" postedAt: ").append(toIndentedString(postedAt)).append("\n");
sb.append(" feedPersonId: ").append(toIndentedString(feedPersonId)).append("\n");
sb.append(" activitySummary: ").append(toIndentedString(activitySummary)).append("\n");
sb.append(" activityType: ").append(toIndentedString(activityType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActivityEntry {
@ApiModelProperty(required = true, value = "")
private Activity entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public Activity getEntry() {
return entry;
}
public void setEntry(Activity entry) {
this.entry = entry;
}
public ActivityEntry entry(Activity entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActivityEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActivityPaging {
@ApiModelProperty(required = true, value = "")
private ActivityPagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public ActivityPagingList getList() {
return _list;
}
public void setList(ActivityPagingList _list) {
this._list = _list;
}
public ActivityPaging _list(ActivityPagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActivityPaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,80 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ActivityPagingList {
@ApiModelProperty(required = true, value = "")
private Pagination pagination = null;
@ApiModelProperty(required = true, value = "")
private List<ActivityEntry> entries = new ArrayList<ActivityEntry>();
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public ActivityPagingList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<ActivityEntry> getEntries() {
return entries;
}
public void setEntries(List<ActivityEntry> entries) {
this.entries = entries;
}
public ActivityPagingList entries(List<ActivityEntry> entries) {
this.entries = entries;
return this;
}
public ActivityPagingList addEntriesItem(ActivityEntry entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ActivityPagingList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,26 @@
package com.inteligr8.alfresco.acs.model;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Aspect {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Aspect {\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AspectEntry {
@ApiModelProperty(required = true, value = "")
private Aspect entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public Aspect getEntry() {
return entry;
}
public void setEntry(Aspect entry) {
this.entry = entry;
}
public AspectEntry entry(Aspect entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AspectEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AspectPaging {
@ApiModelProperty(value = "")
private AspectPagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public AspectPagingList getList() {
return _list;
}
public void setList(AspectPagingList _list) {
this._list = _list;
}
public AspectPaging _list(AspectPagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AspectPaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AspectPagingList {
@ApiModelProperty(value = "")
private Pagination pagination = null;
@ApiModelProperty(value = "")
private List<AspectEntry> entries = null;
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public AspectPagingList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<AspectEntry> getEntries() {
return entries;
}
public void setEntries(List<AspectEntry> entries) {
this.entries = entries;
}
public AspectPagingList entries(List<AspectEntry> entries) {
this.entries = entries;
return this;
}
public AspectPagingList addEntriesItem(AspectEntry entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AspectPagingList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Association {
@ApiModelProperty(required = true, value = "")
private String targetId = null;
@ApiModelProperty(required = true, value = "")
private String assocType = null;
/**
* Get targetId
* @return targetId
**/
@JsonProperty("targetId")
public String getTargetId() {
return targetId;
}
public void setTargetId(String targetId) {
this.targetId = targetId;
}
public Association targetId(String targetId) {
this.targetId = targetId;
return this;
}
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public Association assocType(String assocType) {
this.assocType = assocType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Association {\n");
sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AssociationBody {
@ApiModelProperty(required = true, value = "")
private String targetId = null;
@ApiModelProperty(required = true, value = "")
private String assocType = null;
/**
* Get targetId
* @return targetId
**/
@JsonProperty("targetId")
public String getTargetId() {
return targetId;
}
public void setTargetId(String targetId) {
this.targetId = targetId;
}
public AssociationBody targetId(String targetId) {
this.targetId = targetId;
return this;
}
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public AssociationBody assocType(String assocType) {
this.assocType = assocType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AssociationBody {\n");
sb.append(" targetId: ").append(toIndentedString(targetId)).append("\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AssociationEntry {
@ApiModelProperty(required = true, value = "")
private Association entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public Association getEntry() {
return entry;
}
public void setEntry(Association entry) {
this.entry = entry;
}
public AssociationEntry entry(Association entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AssociationEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AssociationInfo {
@ApiModelProperty(required = true, value = "")
private String assocType = null;
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public AssociationInfo assocType(String assocType) {
this.assocType = assocType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AssociationInfo {\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,139 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditApp {
@ApiModelProperty(required = true, value = "")
private String id = null;
@ApiModelProperty(value = "")
private String name = null;
@ApiModelProperty(value = "")
private Boolean isEnabled = true;
@ApiModelProperty(value = "")
private Integer maxEntryId = null;
@ApiModelProperty(value = "")
private Integer minEntryId = null;
/**
* Get id
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public AuditApp id(String id) {
this.id = id;
return this;
}
/**
* Get name
* @return name
**/
@JsonProperty("name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public AuditApp name(String name) {
this.name = name;
return this;
}
/**
* Get isEnabled
* @return isEnabled
**/
@JsonProperty("isEnabled")
public Boolean isIsEnabled() {
return isEnabled;
}
public void setIsEnabled(Boolean isEnabled) {
this.isEnabled = isEnabled;
}
public AuditApp isEnabled(Boolean isEnabled) {
this.isEnabled = isEnabled;
return this;
}
/**
* Get maxEntryId
* @return maxEntryId
**/
@JsonProperty("maxEntryId")
public Integer getMaxEntryId() {
return maxEntryId;
}
public void setMaxEntryId(Integer maxEntryId) {
this.maxEntryId = maxEntryId;
}
public AuditApp maxEntryId(Integer maxEntryId) {
this.maxEntryId = maxEntryId;
return this;
}
/**
* Get minEntryId
* @return minEntryId
**/
@JsonProperty("minEntryId")
public Integer getMinEntryId() {
return minEntryId;
}
public void setMinEntryId(Integer minEntryId) {
this.minEntryId = minEntryId;
}
public AuditApp minEntryId(Integer minEntryId) {
this.minEntryId = minEntryId;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditApp {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" isEnabled: ").append(toIndentedString(isEnabled)).append("\n");
sb.append(" maxEntryId: ").append(toIndentedString(maxEntryId)).append("\n");
sb.append(" minEntryId: ").append(toIndentedString(minEntryId)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditAppEntry {
@ApiModelProperty(value = "")
private AuditApp entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public AuditApp getEntry() {
return entry;
}
public void setEntry(AuditApp entry) {
this.entry = entry;
}
public AuditAppEntry entry(AuditApp entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditAppEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditAppPaging {
@ApiModelProperty(value = "")
private AuditAppPagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public AuditAppPagingList getList() {
return _list;
}
public void setList(AuditAppPagingList _list) {
this._list = _list;
}
public AuditAppPaging _list(AuditAppPagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditAppPaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditAppPagingList {
@ApiModelProperty(value = "")
private Pagination pagination = null;
@ApiModelProperty(value = "")
private List<AuditAppEntry> entries = null;
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public AuditAppPagingList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<AuditAppEntry> getEntries() {
return entries;
}
public void setEntries(List<AuditAppEntry> entries) {
this.entries = entries;
}
public AuditAppPagingList entries(List<AuditAppEntry> entries) {
this.entries = entries;
return this;
}
public AuditAppPagingList addEntriesItem(AuditAppEntry entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditAppPagingList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditBodyUpdate {
@ApiModelProperty(value = "")
private Boolean isEnabled = null;
/**
* Get isEnabled
* @return isEnabled
**/
@JsonProperty("isEnabled")
public Boolean isIsEnabled() {
return isEnabled;
}
public void setIsEnabled(Boolean isEnabled) {
this.isEnabled = isEnabled;
}
public AuditBodyUpdate isEnabled(Boolean isEnabled) {
this.isEnabled = isEnabled;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditBodyUpdate {\n");
sb.append(" isEnabled: ").append(toIndentedString(isEnabled)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,140 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditEntry {
@ApiModelProperty(required = true, value = "")
private String id = null;
@ApiModelProperty(required = true, value = "")
private String auditApplicationId = null;
@ApiModelProperty(required = true, value = "")
private UserInfo createdByUser = null;
@ApiModelProperty(required = true, value = "")
private Date createdAt = null;
@ApiModelProperty(value = "")
private Object values = null;
/**
* Get id
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public AuditEntry id(String id) {
this.id = id;
return this;
}
/**
* Get auditApplicationId
* @return auditApplicationId
**/
@JsonProperty("auditApplicationId")
public String getAuditApplicationId() {
return auditApplicationId;
}
public void setAuditApplicationId(String auditApplicationId) {
this.auditApplicationId = auditApplicationId;
}
public AuditEntry auditApplicationId(String auditApplicationId) {
this.auditApplicationId = auditApplicationId;
return this;
}
/**
* Get createdByUser
* @return createdByUser
**/
@JsonProperty("createdByUser")
public UserInfo getCreatedByUser() {
return createdByUser;
}
public void setCreatedByUser(UserInfo createdByUser) {
this.createdByUser = createdByUser;
}
public AuditEntry createdByUser(UserInfo createdByUser) {
this.createdByUser = createdByUser;
return this;
}
/**
* Get createdAt
* @return createdAt
**/
@JsonProperty("createdAt")
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public AuditEntry createdAt(Date createdAt) {
this.createdAt = createdAt;
return this;
}
/**
* Get values
* @return values
**/
@JsonProperty("values")
public Object getValues() {
return values;
}
public void setValues(Object values) {
this.values = values;
}
public AuditEntry values(Object values) {
this.values = values;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditEntry {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" auditApplicationId: ").append(toIndentedString(auditApplicationId)).append("\n");
sb.append(" createdByUser: ").append(toIndentedString(createdByUser)).append("\n");
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
sb.append(" values: ").append(toIndentedString(values)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditEntryEntry {
@ApiModelProperty(value = "")
private AuditEntry entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public AuditEntry getEntry() {
return entry;
}
public void setEntry(AuditEntry entry) {
this.entry = entry;
}
public AuditEntryEntry entry(AuditEntry entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditEntryEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditEntryPaging {
@ApiModelProperty(value = "")
private AuditEntryPagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public AuditEntryPagingList getList() {
return _list;
}
public void setList(AuditEntryPagingList _list) {
this._list = _list;
}
public AuditEntryPaging _list(AuditEntryPagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditEntryPaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class AuditEntryPagingList {
@ApiModelProperty(value = "")
private Pagination pagination = null;
@ApiModelProperty(value = "")
private List<AuditEntryEntry> entries = null;
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public AuditEntryPagingList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<AuditEntryEntry> getEntries() {
return entries;
}
public void setEntries(List<AuditEntryEntry> entries) {
this.entries = entries;
}
public AuditEntryPagingList entries(List<AuditEntryEntry> entries) {
this.entries = entries;
return this;
}
public AuditEntryPagingList addEntriesItem(AuditEntryEntry entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AuditEntryPagingList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,95 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Capabilities {
@ApiModelProperty(value = "")
private Boolean isAdmin = null;
@ApiModelProperty(value = "")
private Boolean isGuest = null;
@ApiModelProperty(value = "")
private Boolean isMutable = null;
/**
* Get isAdmin
* @return isAdmin
**/
@JsonProperty("isAdmin")
public Boolean isIsAdmin() {
return isAdmin;
}
public void setIsAdmin(Boolean isAdmin) {
this.isAdmin = isAdmin;
}
public Capabilities isAdmin(Boolean isAdmin) {
this.isAdmin = isAdmin;
return this;
}
/**
* Get isGuest
* @return isGuest
**/
@JsonProperty("isGuest")
public Boolean isIsGuest() {
return isGuest;
}
public void setIsGuest(Boolean isGuest) {
this.isGuest = isGuest;
}
public Capabilities isGuest(Boolean isGuest) {
this.isGuest = isGuest;
return this;
}
/**
* Get isMutable
* @return isMutable
**/
@JsonProperty("isMutable")
public Boolean isIsMutable() {
return isMutable;
}
public void setIsMutable(Boolean isMutable) {
this.isMutable = isMutable;
}
public Capabilities isMutable(Boolean isMutable) {
this.isMutable = isMutable;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Capabilities {\n");
sb.append(" isAdmin: ").append(toIndentedString(isAdmin)).append("\n");
sb.append(" isGuest: ").append(toIndentedString(isGuest)).append("\n");
sb.append(" isMutable: ").append(toIndentedString(isMutable)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ChildAssociation {
@ApiModelProperty(required = true, value = "")
private String childId = null;
@ApiModelProperty(required = true, value = "")
private String assocType = null;
/**
* Get childId
* @return childId
**/
@JsonProperty("childId")
public String getChildId() {
return childId;
}
public void setChildId(String childId) {
this.childId = childId;
}
public ChildAssociation childId(String childId) {
this.childId = childId;
return this;
}
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public ChildAssociation assocType(String assocType) {
this.assocType = assocType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ChildAssociation {\n");
sb.append(" childId: ").append(toIndentedString(childId)).append("\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ChildAssociationBody {
@ApiModelProperty(required = true, value = "")
private String childId = null;
@ApiModelProperty(required = true, value = "")
private String assocType = null;
/**
* Get childId
* @return childId
**/
@JsonProperty("childId")
public String getChildId() {
return childId;
}
public void setChildId(String childId) {
this.childId = childId;
}
public ChildAssociationBody childId(String childId) {
this.childId = childId;
return this;
}
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public ChildAssociationBody assocType(String assocType) {
this.assocType = assocType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ChildAssociationBody {\n");
sb.append(" childId: ").append(toIndentedString(childId)).append("\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ChildAssociationEntry {
@ApiModelProperty(required = true, value = "")
private ChildAssociation entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public ChildAssociation getEntry() {
return entry;
}
public void setEntry(ChildAssociation entry) {
this.entry = entry;
}
public ChildAssociationEntry entry(ChildAssociation entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ChildAssociationEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ChildAssociationInfo {
@ApiModelProperty(required = true, value = "")
private String assocType = null;
@ApiModelProperty(required = true, value = "")
private Boolean isPrimary = null;
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public ChildAssociationInfo assocType(String assocType) {
this.assocType = assocType;
return this;
}
/**
* Get isPrimary
* @return isPrimary
**/
@JsonProperty("isPrimary")
public Boolean isIsPrimary() {
return isPrimary;
}
public void setIsPrimary(Boolean isPrimary) {
this.isPrimary = isPrimary;
}
public ChildAssociationInfo isPrimary(Boolean isPrimary) {
this.isPrimary = isPrimary;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ChildAssociationInfo {\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,54 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ClientBody {
@ApiModelProperty(required = true, value = "the client name")
/**
* the client name
**/
private String client = null;
/**
* the client name
* @return client
**/
@JsonProperty("client")
public String getClient() {
return client;
}
public void setClient(String client) {
this.client = client;
}
public ClientBody client(String client) {
this.client = client;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ClientBody {\n");
sb.append(" client: ").append(toIndentedString(client)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,250 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Comment {
@ApiModelProperty(required = true, value = "")
private String id = null;
@ApiModelProperty(required = true, value = "")
private String title = null;
@ApiModelProperty(required = true, value = "")
private String content = null;
@ApiModelProperty(required = true, value = "")
private Person createdBy = null;
@ApiModelProperty(required = true, value = "")
private Date createdAt = null;
@ApiModelProperty(required = true, value = "")
private Boolean edited = null;
@ApiModelProperty(required = true, value = "")
private Person modifiedBy = null;
@ApiModelProperty(required = true, value = "")
private Date modifiedAt = null;
@ApiModelProperty(required = true, value = "")
private Boolean canEdit = null;
@ApiModelProperty(required = true, value = "")
private Boolean canDelete = null;
/**
* Get id
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Comment id(String id) {
this.id = id;
return this;
}
/**
* Get title
* @return title
**/
@JsonProperty("title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Comment title(String title) {
this.title = title;
return this;
}
/**
* Get content
* @return content
**/
@JsonProperty("content")
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Comment content(String content) {
this.content = content;
return this;
}
/**
* Get createdBy
* @return createdBy
**/
@JsonProperty("createdBy")
public Person getCreatedBy() {
return createdBy;
}
public void setCreatedBy(Person createdBy) {
this.createdBy = createdBy;
}
public Comment createdBy(Person createdBy) {
this.createdBy = createdBy;
return this;
}
/**
* Get createdAt
* @return createdAt
**/
@JsonProperty("createdAt")
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Comment createdAt(Date createdAt) {
this.createdAt = createdAt;
return this;
}
/**
* Get edited
* @return edited
**/
@JsonProperty("edited")
public Boolean isEdited() {
return edited;
}
public void setEdited(Boolean edited) {
this.edited = edited;
}
public Comment edited(Boolean edited) {
this.edited = edited;
return this;
}
/**
* Get modifiedBy
* @return modifiedBy
**/
@JsonProperty("modifiedBy")
public Person getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(Person modifiedBy) {
this.modifiedBy = modifiedBy;
}
public Comment modifiedBy(Person modifiedBy) {
this.modifiedBy = modifiedBy;
return this;
}
/**
* Get modifiedAt
* @return modifiedAt
**/
@JsonProperty("modifiedAt")
public Date getModifiedAt() {
return modifiedAt;
}
public void setModifiedAt(Date modifiedAt) {
this.modifiedAt = modifiedAt;
}
public Comment modifiedAt(Date modifiedAt) {
this.modifiedAt = modifiedAt;
return this;
}
/**
* Get canEdit
* @return canEdit
**/
@JsonProperty("canEdit")
public Boolean isCanEdit() {
return canEdit;
}
public void setCanEdit(Boolean canEdit) {
this.canEdit = canEdit;
}
public Comment canEdit(Boolean canEdit) {
this.canEdit = canEdit;
return this;
}
/**
* Get canDelete
* @return canDelete
**/
@JsonProperty("canDelete")
public Boolean isCanDelete() {
return canDelete;
}
public void setCanDelete(Boolean canDelete) {
this.canDelete = canDelete;
}
public Comment canDelete(Boolean canDelete) {
this.canDelete = canDelete;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Comment {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" title: ").append(toIndentedString(title)).append("\n");
sb.append(" content: ").append(toIndentedString(content)).append("\n");
sb.append(" createdBy: ").append(toIndentedString(createdBy)).append("\n");
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
sb.append(" edited: ").append(toIndentedString(edited)).append("\n");
sb.append(" modifiedBy: ").append(toIndentedString(modifiedBy)).append("\n");
sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n");
sb.append(" canEdit: ").append(toIndentedString(canEdit)).append("\n");
sb.append(" canDelete: ").append(toIndentedString(canDelete)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class CommentBody {
@ApiModelProperty(required = true, value = "")
private String content = null;
/**
* Get content
* @return content
**/
@JsonProperty("content")
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public CommentBody content(String content) {
this.content = content;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class CommentBody {\n");
sb.append(" content: ").append(toIndentedString(content)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class CommentEntry {
@ApiModelProperty(required = true, value = "")
private Comment entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public Comment getEntry() {
return entry;
}
public void setEntry(Comment entry) {
this.entry = entry;
}
public CommentEntry entry(Comment entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class CommentEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class CommentPaging {
@ApiModelProperty(required = true, value = "")
private CommentPagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public CommentPagingList getList() {
return _list;
}
public void setList(CommentPagingList _list) {
this._list = _list;
}
public CommentPaging _list(CommentPagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class CommentPaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,80 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class CommentPagingList {
@ApiModelProperty(required = true, value = "")
private Pagination pagination = null;
@ApiModelProperty(required = true, value = "")
private List<CommentEntry> entries = new ArrayList<CommentEntry>();
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public CommentPagingList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<CommentEntry> getEntries() {
return entries;
}
public void setEntries(List<CommentEntry> entries) {
this.entries = entries;
}
public CommentPagingList entries(List<CommentEntry> entries) {
this.entries = entries;
return this;
}
public CommentPagingList addEntriesItem(CommentEntry entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class CommentPagingList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,205 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Company {
@ApiModelProperty(value = "")
private String organization = null;
@ApiModelProperty(value = "")
private String address1 = null;
@ApiModelProperty(value = "")
private String address2 = null;
@ApiModelProperty(value = "")
private String address3 = null;
@ApiModelProperty(value = "")
private String postcode = null;
@ApiModelProperty(value = "")
private String telephone = null;
@ApiModelProperty(value = "")
private String fax = null;
@ApiModelProperty(value = "")
private String email = null;
/**
* Get organization
* @return organization
**/
@JsonProperty("organization")
public String getOrganization() {
return organization;
}
public void setOrganization(String organization) {
this.organization = organization;
}
public Company organization(String organization) {
this.organization = organization;
return this;
}
/**
* Get address1
* @return address1
**/
@JsonProperty("address1")
public String getAddress1() {
return address1;
}
public void setAddress1(String address1) {
this.address1 = address1;
}
public Company address1(String address1) {
this.address1 = address1;
return this;
}
/**
* Get address2
* @return address2
**/
@JsonProperty("address2")
public String getAddress2() {
return address2;
}
public void setAddress2(String address2) {
this.address2 = address2;
}
public Company address2(String address2) {
this.address2 = address2;
return this;
}
/**
* Get address3
* @return address3
**/
@JsonProperty("address3")
public String getAddress3() {
return address3;
}
public void setAddress3(String address3) {
this.address3 = address3;
}
public Company address3(String address3) {
this.address3 = address3;
return this;
}
/**
* Get postcode
* @return postcode
**/
@JsonProperty("postcode")
public String getPostcode() {
return postcode;
}
public void setPostcode(String postcode) {
this.postcode = postcode;
}
public Company postcode(String postcode) {
this.postcode = postcode;
return this;
}
/**
* Get telephone
* @return telephone
**/
@JsonProperty("telephone")
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public Company telephone(String telephone) {
this.telephone = telephone;
return this;
}
/**
* Get fax
* @return fax
**/
@JsonProperty("fax")
public String getFax() {
return fax;
}
public void setFax(String fax) {
this.fax = fax;
}
public Company fax(String fax) {
this.fax = fax;
return this;
}
/**
* Get email
* @return email
**/
@JsonProperty("email")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Company email(String email) {
this.email = email;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Company {\n");
sb.append(" organization: ").append(toIndentedString(organization)).append("\n");
sb.append(" address1: ").append(toIndentedString(address1)).append("\n");
sb.append(" address2: ").append(toIndentedString(address2)).append("\n");
sb.append(" address3: ").append(toIndentedString(address3)).append("\n");
sb.append(" postcode: ").append(toIndentedString(postcode)).append("\n");
sb.append(" telephone: ").append(toIndentedString(telephone)).append("\n");
sb.append(" fax: ").append(toIndentedString(fax)).append("\n");
sb.append(" email: ").append(toIndentedString(email)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,154 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.Map;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Constraint {
@ApiModelProperty(required = true, value = "")
private String id = null;
@ApiModelProperty(value = "the type of the constraint")
/**
* the type of the constraint
**/
private String type = null;
@ApiModelProperty(value = "the human-readable constraint title")
/**
* the human-readable constraint title
**/
private String title = null;
@ApiModelProperty(value = "the human-readable constraint description")
/**
* the human-readable constraint description
**/
private String description = null;
@ApiModelProperty(value = "")
private Map<String, Object> parameters = null;
/**
* Get id
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Constraint id(String id) {
this.id = id;
return this;
}
/**
* the type of the constraint
* @return type
**/
@JsonProperty("type")
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Constraint type(String type) {
this.type = type;
return this;
}
/**
* the human-readable constraint title
* @return title
**/
@JsonProperty("title")
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Constraint title(String title) {
this.title = title;
return this;
}
/**
* the human-readable constraint description
* @return description
**/
@JsonProperty("description")
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Constraint description(String description) {
this.description = description;
return this;
}
/**
* Get parameters
* @return parameters
**/
@JsonProperty("parameters")
public Map<String, Object> getParameters() {
return parameters;
}
public void setParameters(Map<String, Object> parameters) {
this.parameters = parameters;
}
public Constraint parameters(Map<String, Object> parameters) {
this.parameters = parameters;
return this;
}
public Constraint putParametersItem(String key, Object parametersItem) {
this.parameters.put(key, parametersItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Constraint {\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" type: ").append(toIndentedString(type)).append("\n");
sb.append(" title: ").append(toIndentedString(title)).append("\n");
sb.append(" description: ").append(toIndentedString(description)).append("\n");
sb.append(" parameters: ").append(toIndentedString(parameters)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,139 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ContentInfo {
@ApiModelProperty(required = true, value = "")
private String mimeType = null;
@ApiModelProperty(required = true, value = "")
private String mimeTypeName = null;
@ApiModelProperty(required = true, value = "")
private Integer sizeInBytes = null;
@ApiModelProperty(value = "")
private String encoding = null;
@ApiModelProperty(value = "")
private String mimeTypeGroup = null;
/**
* Get mimeType
* @return mimeType
**/
@JsonProperty("mimeType")
public String getMimeType() {
return mimeType;
}
public void setMimeType(String mimeType) {
this.mimeType = mimeType;
}
public ContentInfo mimeType(String mimeType) {
this.mimeType = mimeType;
return this;
}
/**
* Get mimeTypeName
* @return mimeTypeName
**/
@JsonProperty("mimeTypeName")
public String getMimeTypeName() {
return mimeTypeName;
}
public void setMimeTypeName(String mimeTypeName) {
this.mimeTypeName = mimeTypeName;
}
public ContentInfo mimeTypeName(String mimeTypeName) {
this.mimeTypeName = mimeTypeName;
return this;
}
/**
* Get sizeInBytes
* @return sizeInBytes
**/
@JsonProperty("sizeInBytes")
public Integer getSizeInBytes() {
return sizeInBytes;
}
public void setSizeInBytes(Integer sizeInBytes) {
this.sizeInBytes = sizeInBytes;
}
public ContentInfo sizeInBytes(Integer sizeInBytes) {
this.sizeInBytes = sizeInBytes;
return this;
}
/**
* Get encoding
* @return encoding
**/
@JsonProperty("encoding")
public String getEncoding() {
return encoding;
}
public void setEncoding(String encoding) {
this.encoding = encoding;
}
public ContentInfo encoding(String encoding) {
this.encoding = encoding;
return this;
}
/**
* Get mimeTypeGroup
* @return mimeTypeGroup
**/
@JsonProperty("mimeTypeGroup")
public String getMimeTypeGroup() {
return mimeTypeGroup;
}
public void setMimeTypeGroup(String mimeTypeGroup) {
this.mimeTypeGroup = mimeTypeGroup;
}
public ContentInfo mimeTypeGroup(String mimeTypeGroup) {
this.mimeTypeGroup = mimeTypeGroup;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ContentInfo {\n");
sb.append(" mimeType: ").append(toIndentedString(mimeType)).append("\n");
sb.append(" mimeTypeName: ").append(toIndentedString(mimeTypeName)).append("\n");
sb.append(" sizeInBytes: ").append(toIndentedString(sizeInBytes)).append("\n");
sb.append(" encoding: ").append(toIndentedString(encoding)).append("\n");
sb.append(" mimeTypeGroup: ").append(toIndentedString(mimeTypeGroup)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,60 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Definition {
@ApiModelProperty(value = "List of property definitions effective for this node as the result of combining the type with all aspects.")
/**
* List of property definitions effective for this node as the result of combining the type with all aspects.
**/
private List<Property> properties = null;
/**
* List of property definitions effective for this node as the result of combining the type with all aspects.
* @return properties
**/
@JsonProperty("properties")
public List<Property> getProperties() {
return properties;
}
public void setProperties(List<Property> properties) {
this.properties = properties;
}
public Definition properties(List<Property> properties) {
this.properties = properties;
return this;
}
public Definition addPropertiesItem(Property propertiesItem) {
this.properties.add(propertiesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Definition {\n");
sb.append(" properties: ").append(toIndentedString(properties)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
public class DeletedNode extends Node {
@ApiModelProperty(required = true, value = "")
private UserInfo archivedByUser = null;
@ApiModelProperty(required = true, value = "")
private Date archivedAt = null;
/**
* Get archivedByUser
* @return archivedByUser
**/
@JsonProperty("archivedByUser")
public UserInfo getArchivedByUser() {
return archivedByUser;
}
public void setArchivedByUser(UserInfo archivedByUser) {
this.archivedByUser = archivedByUser;
}
public DeletedNode archivedByUser(UserInfo archivedByUser) {
this.archivedByUser = archivedByUser;
return this;
}
/**
* Get archivedAt
* @return archivedAt
**/
@JsonProperty("archivedAt")
public Date getArchivedAt() {
return archivedAt;
}
public void setArchivedAt(Date archivedAt) {
this.archivedAt = archivedAt;
}
public DeletedNode archivedAt(Date archivedAt) {
this.archivedAt = archivedAt;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DeletedNode {\n");
sb.append(" ").append(toIndentedString(super.toString())).append("\n");
sb.append(" archivedByUser: ").append(toIndentedString(archivedByUser)).append("\n");
sb.append(" archivedAt: ").append(toIndentedString(archivedAt)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,73 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DeletedNodeBodyRestore {
@ApiModelProperty(value = "")
private String targetParentId = null;
@ApiModelProperty(value = "")
private String assocType = null;
/**
* Get targetParentId
* @return targetParentId
**/
@JsonProperty("targetParentId")
public String getTargetParentId() {
return targetParentId;
}
public void setTargetParentId(String targetParentId) {
this.targetParentId = targetParentId;
}
public DeletedNodeBodyRestore targetParentId(String targetParentId) {
this.targetParentId = targetParentId;
return this;
}
/**
* Get assocType
* @return assocType
**/
@JsonProperty("assocType")
public String getAssocType() {
return assocType;
}
public void setAssocType(String assocType) {
this.assocType = assocType;
}
public DeletedNodeBodyRestore assocType(String assocType) {
this.assocType = assocType;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DeletedNodeBodyRestore {\n");
sb.append(" targetParentId: ").append(toIndentedString(targetParentId)).append("\n");
sb.append(" assocType: ").append(toIndentedString(assocType)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DeletedNodeEntry {
@ApiModelProperty(value = "")
private DeletedNode entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public DeletedNode getEntry() {
return entry;
}
public void setEntry(DeletedNode entry) {
this.entry = entry;
}
public DeletedNodeEntry entry(DeletedNode entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DeletedNodeEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DeletedNodesPaging {
@ApiModelProperty(value = "")
private DeletedNodesPagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public DeletedNodesPagingList getList() {
return _list;
}
public void setList(DeletedNodesPagingList _list) {
this._list = _list;
}
public DeletedNodesPaging _list(DeletedNodesPagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DeletedNodesPaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,79 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DeletedNodesPagingList {
@ApiModelProperty(value = "")
private Pagination pagination = null;
@ApiModelProperty(value = "")
private List<DeletedNodeEntry> entries = null;
/**
* Get pagination
* @return pagination
**/
@JsonProperty("pagination")
public Pagination getPagination() {
return pagination;
}
public void setPagination(Pagination pagination) {
this.pagination = pagination;
}
public DeletedNodesPagingList pagination(Pagination pagination) {
this.pagination = pagination;
return this;
}
/**
* Get entries
* @return entries
**/
@JsonProperty("entries")
public List<DeletedNodeEntry> getEntries() {
return entries;
}
public void setEntries(List<DeletedNodeEntry> entries) {
this.entries = entries;
}
public DeletedNodesPagingList entries(List<DeletedNodeEntry> entries) {
this.entries = entries;
return this;
}
public DeletedNodesPagingList addEntriesItem(DeletedNodeEntry entriesItem) {
this.entries.add(entriesItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DeletedNodesPagingList {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append(" entries: ").append(toIndentedString(entries)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,78 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DirectAccessUrlBodyCreate {
@ApiModelProperty(value = "")
private Date expiresAt = null;
@ApiModelProperty(value = "The length of time in seconds that the url is valid for. ")
/**
* The length of time in seconds that the url is valid for.
**/
private Integer validFor = null;
/**
* Get expiresAt
* @return expiresAt
**/
@JsonProperty("expiresAt")
public Date getExpiresAt() {
return expiresAt;
}
public void setExpiresAt(Date expiresAt) {
this.expiresAt = expiresAt;
}
public DirectAccessUrlBodyCreate expiresAt(Date expiresAt) {
this.expiresAt = expiresAt;
return this;
}
/**
* The length of time in seconds that the url is valid for.
* minimum: 1
* @return validFor
**/
@JsonProperty("validFor")
public Integer getValidFor() {
return validFor;
}
public void setValidFor(Integer validFor) {
this.validFor = validFor;
}
public DirectAccessUrlBodyCreate validFor(Integer validFor) {
this.validFor = validFor;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DirectAccessUrlBodyCreate {\n");
sb.append(" expiresAt: ").append(toIndentedString(expiresAt)).append("\n");
sb.append(" validFor: ").append(toIndentedString(validFor)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DiscoveryEntry {
@ApiModelProperty(required = true, value = "")
private RepositoryEntry entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public RepositoryEntry getEntry() {
return entry;
}
public void setEntry(RepositoryEntry entry) {
this.entry = entry;
}
public DiscoveryEntry entry(RepositoryEntry entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DiscoveryEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,218 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Download {
@ApiModelProperty(value = "number of files added so far in the zip")
/**
* number of files added so far in the zip
**/
private Integer filesAdded = null;
@ApiModelProperty(value = "number of bytes added so far in the zip")
/**
* number of bytes added so far in the zip
**/
private Integer bytesAdded = null;
@ApiModelProperty(value = "the id of the download node")
/**
* the id of the download node
**/
private String id = null;
@ApiModelProperty(value = "the total number of files to be added in the zip")
/**
* the total number of files to be added in the zip
**/
private Integer totalFiles = null;
@ApiModelProperty(value = "the total number of bytes to be added in the zip")
/**
* the total number of bytes to be added in the zip
**/
private Integer totalBytes = null;
@XmlType(name="StatusEnum")
@XmlEnum(String.class)
public enum StatusEnum {
@XmlEnumValue("PENDING") PENDING(String.valueOf("PENDING")), @XmlEnumValue("CANCELLED") CANCELLED(String.valueOf("CANCELLED")), @XmlEnumValue("IN_PROGRESS") IN_PROGRESS(String.valueOf("IN_PROGRESS")), @XmlEnumValue("DONE") DONE(String.valueOf("DONE")), @XmlEnumValue("MAX_CONTENT_SIZE_EXCEEDED") MAX_CONTENT_SIZE_EXCEEDED(String.valueOf("MAX_CONTENT_SIZE_EXCEEDED"));
private String value;
StatusEnum (String v) {
value = v;
}
public String value() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
public static StatusEnum fromValue(String v) {
for (StatusEnum b : StatusEnum.values()) {
if (String.valueOf(b.value).equals(v)) {
return b;
}
}
return null;
}
}
@ApiModelProperty(value = "the current status of the download node creation")
/**
* the current status of the download node creation
**/
private StatusEnum status = StatusEnum.PENDING;
/**
* number of files added so far in the zip
* @return filesAdded
**/
@JsonProperty("filesAdded")
public Integer getFilesAdded() {
return filesAdded;
}
public void setFilesAdded(Integer filesAdded) {
this.filesAdded = filesAdded;
}
public Download filesAdded(Integer filesAdded) {
this.filesAdded = filesAdded;
return this;
}
/**
* number of bytes added so far in the zip
* @return bytesAdded
**/
@JsonProperty("bytesAdded")
public Integer getBytesAdded() {
return bytesAdded;
}
public void setBytesAdded(Integer bytesAdded) {
this.bytesAdded = bytesAdded;
}
public Download bytesAdded(Integer bytesAdded) {
this.bytesAdded = bytesAdded;
return this;
}
/**
* the id of the download node
* @return id
**/
@JsonProperty("id")
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Download id(String id) {
this.id = id;
return this;
}
/**
* the total number of files to be added in the zip
* @return totalFiles
**/
@JsonProperty("totalFiles")
public Integer getTotalFiles() {
return totalFiles;
}
public void setTotalFiles(Integer totalFiles) {
this.totalFiles = totalFiles;
}
public Download totalFiles(Integer totalFiles) {
this.totalFiles = totalFiles;
return this;
}
/**
* the total number of bytes to be added in the zip
* @return totalBytes
**/
@JsonProperty("totalBytes")
public Integer getTotalBytes() {
return totalBytes;
}
public void setTotalBytes(Integer totalBytes) {
this.totalBytes = totalBytes;
}
public Download totalBytes(Integer totalBytes) {
this.totalBytes = totalBytes;
return this;
}
/**
* the current status of the download node creation
* @return status
**/
@JsonProperty("status")
public String getStatus() {
if (status == null) {
return null;
}
return status.value();
}
public void setStatus(StatusEnum status) {
this.status = status;
}
public Download status(StatusEnum status) {
this.status = status;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Download {\n");
sb.append(" filesAdded: ").append(toIndentedString(filesAdded)).append("\n");
sb.append(" bytesAdded: ").append(toIndentedString(bytesAdded)).append("\n");
sb.append(" id: ").append(toIndentedString(id)).append("\n");
sb.append(" totalFiles: ").append(toIndentedString(totalFiles)).append("\n");
sb.append(" totalBytes: ").append(toIndentedString(totalBytes)).append("\n");
sb.append(" status: ").append(toIndentedString(status)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,58 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DownloadBodyCreate {
@ApiModelProperty(required = true, value = "")
private List<String> nodeIds = new ArrayList<String>();
/**
* Get nodeIds
* @return nodeIds
**/
@JsonProperty("nodeIds")
public List<String> getNodeIds() {
return nodeIds;
}
public void setNodeIds(List<String> nodeIds) {
this.nodeIds = nodeIds;
}
public DownloadBodyCreate nodeIds(List<String> nodeIds) {
this.nodeIds = nodeIds;
return this;
}
public DownloadBodyCreate addNodeIdsItem(String nodeIdsItem) {
this.nodeIds.add(nodeIdsItem);
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DownloadBodyCreate {\n");
sb.append(" nodeIds: ").append(toIndentedString(nodeIds)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class DownloadEntry {
@ApiModelProperty(required = true, value = "")
private Download entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public Download getEntry() {
return entry;
}
public void setEntry(Download entry) {
this.entry = entry;
}
public DownloadEntry entry(Download entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class DownloadEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,117 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class EntitlementsInfo {
@ApiModelProperty(value = "")
private Long maxUsers = null;
@ApiModelProperty(value = "")
private Long maxDocs = null;
@ApiModelProperty(value = "")
private Boolean isClusterEnabled = false;
@ApiModelProperty(value = "")
private Boolean isCryptodocEnabled = false;
/**
* Get maxUsers
* @return maxUsers
**/
@JsonProperty("maxUsers")
public Long getMaxUsers() {
return maxUsers;
}
public void setMaxUsers(Long maxUsers) {
this.maxUsers = maxUsers;
}
public EntitlementsInfo maxUsers(Long maxUsers) {
this.maxUsers = maxUsers;
return this;
}
/**
* Get maxDocs
* @return maxDocs
**/
@JsonProperty("maxDocs")
public Long getMaxDocs() {
return maxDocs;
}
public void setMaxDocs(Long maxDocs) {
this.maxDocs = maxDocs;
}
public EntitlementsInfo maxDocs(Long maxDocs) {
this.maxDocs = maxDocs;
return this;
}
/**
* Get isClusterEnabled
* @return isClusterEnabled
**/
@JsonProperty("isClusterEnabled")
public Boolean isIsClusterEnabled() {
return isClusterEnabled;
}
public void setIsClusterEnabled(Boolean isClusterEnabled) {
this.isClusterEnabled = isClusterEnabled;
}
public EntitlementsInfo isClusterEnabled(Boolean isClusterEnabled) {
this.isClusterEnabled = isClusterEnabled;
return this;
}
/**
* Get isCryptodocEnabled
* @return isCryptodocEnabled
**/
@JsonProperty("isCryptodocEnabled")
public Boolean isIsCryptodocEnabled() {
return isCryptodocEnabled;
}
public void setIsCryptodocEnabled(Boolean isCryptodocEnabled) {
this.isCryptodocEnabled = isCryptodocEnabled;
}
public EntitlementsInfo isCryptodocEnabled(Boolean isCryptodocEnabled) {
this.isCryptodocEnabled = isCryptodocEnabled;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class EntitlementsInfo {\n");
sb.append(" maxUsers: ").append(toIndentedString(maxUsers)).append("\n");
sb.append(" maxDocs: ").append(toIndentedString(maxDocs)).append("\n");
sb.append(" isClusterEnabled: ").append(toIndentedString(isClusterEnabled)).append("\n");
sb.append(" isCryptodocEnabled: ").append(toIndentedString(isCryptodocEnabled)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Error {
@ApiModelProperty(required = true, value = "")
private ErrorError error = null;
/**
* Get error
* @return error
**/
@JsonProperty("error")
public ErrorError getError() {
return error;
}
public void setError(ErrorError error) {
this.error = error;
}
public Error error(ErrorError error) {
this.error = error;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Error {\n");
sb.append(" error: ").append(toIndentedString(error)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,161 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class ErrorError {
@ApiModelProperty(value = "")
private String errorKey = null;
@ApiModelProperty(required = true, value = "")
private Integer statusCode = null;
@ApiModelProperty(required = true, value = "")
private String briefSummary = null;
@ApiModelProperty(required = true, value = "")
private String stackTrace = null;
@ApiModelProperty(required = true, value = "")
private String descriptionURL = null;
@ApiModelProperty(value = "")
private String logId = null;
/**
* Get errorKey
* @return errorKey
**/
@JsonProperty("errorKey")
public String getErrorKey() {
return errorKey;
}
public void setErrorKey(String errorKey) {
this.errorKey = errorKey;
}
public ErrorError errorKey(String errorKey) {
this.errorKey = errorKey;
return this;
}
/**
* Get statusCode
* @return statusCode
**/
@JsonProperty("statusCode")
public Integer getStatusCode() {
return statusCode;
}
public void setStatusCode(Integer statusCode) {
this.statusCode = statusCode;
}
public ErrorError statusCode(Integer statusCode) {
this.statusCode = statusCode;
return this;
}
/**
* Get briefSummary
* @return briefSummary
**/
@JsonProperty("briefSummary")
public String getBriefSummary() {
return briefSummary;
}
public void setBriefSummary(String briefSummary) {
this.briefSummary = briefSummary;
}
public ErrorError briefSummary(String briefSummary) {
this.briefSummary = briefSummary;
return this;
}
/**
* Get stackTrace
* @return stackTrace
**/
@JsonProperty("stackTrace")
public String getStackTrace() {
return stackTrace;
}
public void setStackTrace(String stackTrace) {
this.stackTrace = stackTrace;
}
public ErrorError stackTrace(String stackTrace) {
this.stackTrace = stackTrace;
return this;
}
/**
* Get descriptionURL
* @return descriptionURL
**/
@JsonProperty("descriptionURL")
public String getDescriptionURL() {
return descriptionURL;
}
public void setDescriptionURL(String descriptionURL) {
this.descriptionURL = descriptionURL;
}
public ErrorError descriptionURL(String descriptionURL) {
this.descriptionURL = descriptionURL;
return this;
}
/**
* Get logId
* @return logId
**/
@JsonProperty("logId")
public String getLogId() {
return logId;
}
public void setLogId(String logId) {
this.logId = logId;
}
public ErrorError logId(String logId) {
this.logId = logId;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class ErrorError {\n");
sb.append(" errorKey: ").append(toIndentedString(errorKey)).append("\n");
sb.append(" statusCode: ").append(toIndentedString(statusCode)).append("\n");
sb.append(" briefSummary: ").append(toIndentedString(briefSummary)).append("\n");
sb.append(" stackTrace: ").append(toIndentedString(stackTrace)).append("\n");
sb.append(" descriptionURL: ").append(toIndentedString(descriptionURL)).append("\n");
sb.append(" logId: ").append(toIndentedString(logId)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,131 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
/**
* A favorite describes an Alfresco entity that a person has marked as a favorite. The target can be a site, file or folder.
**/
@ApiModel(description="A favorite describes an Alfresco entity that a person has marked as a favorite. The target can be a site, file or folder. ")@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class Favorite {
@ApiModelProperty(required = true, value = "The guid of the object that is a favorite.")
/**
* The guid of the object that is a favorite.
**/
private String targetGuid = null;
@ApiModelProperty(value = "The time the object was made a favorite.")
/**
* The time the object was made a favorite.
**/
private Date createdAt = null;
@ApiModelProperty(required = true, value = "")
private Object target = null;
@ApiModelProperty(value = "A subset of the target favorite properties, system properties and properties already available in the target are excluded.")
/**
* A subset of the target favorite properties, system properties and properties already available in the target are excluded.
**/
private Object properties = null;
/**
* The guid of the object that is a favorite.
* @return targetGuid
**/
@JsonProperty("targetGuid")
public String getTargetGuid() {
return targetGuid;
}
public void setTargetGuid(String targetGuid) {
this.targetGuid = targetGuid;
}
public Favorite targetGuid(String targetGuid) {
this.targetGuid = targetGuid;
return this;
}
/**
* The time the object was made a favorite.
* @return createdAt
**/
@JsonProperty("createdAt")
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Favorite createdAt(Date createdAt) {
this.createdAt = createdAt;
return this;
}
/**
* Get target
* @return target
**/
@JsonProperty("target")
public Object getTarget() {
return target;
}
public void setTarget(Object target) {
this.target = target;
}
public Favorite target(Object target) {
this.target = target;
return this;
}
/**
* A subset of the target favorite properties, system properties and properties already available in the target are excluded.
* @return properties
**/
@JsonProperty("properties")
public Object getProperties() {
return properties;
}
public void setProperties(Object properties) {
this.properties = properties;
}
public Favorite properties(Object properties) {
this.properties = properties;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Favorite {\n");
sb.append(" targetGuid: ").append(toIndentedString(targetGuid)).append("\n");
sb.append(" createdAt: ").append(toIndentedString(createdAt)).append("\n");
sb.append(" target: ").append(toIndentedString(target)).append("\n");
sb.append(" properties: ").append(toIndentedString(properties)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class FavoriteBodyCreate {
@ApiModelProperty(required = true, value = "")
private Object target = null;
/**
* Get target
* @return target
**/
@JsonProperty("target")
public Object getTarget() {
return target;
}
public void setTarget(Object target) {
this.target = target;
}
public FavoriteBodyCreate target(Object target) {
this.target = target;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class FavoriteBodyCreate {\n");
sb.append(" target: ").append(toIndentedString(target)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class FavoriteEntry {
@ApiModelProperty(required = true, value = "")
private Favorite entry = null;
/**
* Get entry
* @return entry
**/
@JsonProperty("entry")
public Favorite getEntry() {
return entry;
}
public void setEntry(Favorite entry) {
this.entry = entry;
}
public FavoriteEntry entry(Favorite entry) {
this.entry = entry;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class FavoriteEntry {\n");
sb.append(" entry: ").append(toIndentedString(entry)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

View File

@@ -0,0 +1,51 @@
package com.inteligr8.alfresco.acs.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public class FavoritePaging {
@ApiModelProperty(required = true, value = "")
private FavoritePagingList _list = null;
/**
* Get _list
* @return _list
**/
@JsonProperty("list")
public FavoritePagingList getList() {
return _list;
}
public void setList(FavoritePagingList _list) {
this._list = _list;
}
public FavoritePaging _list(FavoritePagingList _list) {
this._list = _list;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class FavoritePaging {\n");
sb.append(" _list: ").append(toIndentedString(_list)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}

Some files were not shown because too many files have changed in this diff Show More