Loading src/main/java/com/inteligr8/activiti/api/ExecutionApi.java +1 −1 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ public interface ExecutionApi { @GET @Produces({ MediaType.APPLICATION_JSON }) public ResultList<Execution> getByAny( ResultList<Execution> getByAny( @QueryParam("id") String executionId, @QueryParam("activityId") String activityId, @QueryParam("processDefinitionKey") String processDefinitionKey, Loading src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java +5 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi; import com.inteligr8.alfresco.activiti.api.ProfileApi; import com.inteligr8.alfresco.activiti.api.ShareApi; import com.inteligr8.alfresco.activiti.api.TasksApi; import com.inteligr8.alfresco.activiti.api.TemplatesApi; /** * This interface consolidates the JAX-RS APIs available in the APS Public Loading Loading @@ -75,4 +76,8 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi { return this.getApi(ShareApi.class); } default TemplatesApi getTemplatesApi() { return this.getApi(TemplatesApi.class); } } src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestCxfApi.java +5 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi; import com.inteligr8.alfresco.activiti.api.TemplatesCxfApi; /** * This interface appends Apache CXF implementation specific methods to the Loading @@ -15,4 +16,8 @@ public interface ApsPublicRestCxfApi extends ApsPublicRestApi { return this.getApi(AppDefinitionsCxfApi.class); } default TemplatesCxfApi getTemplatesCxfApi() { return this.getApi(TemplatesCxfApi.class); } } src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestJerseyApi.java +5 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi; import com.inteligr8.alfresco.activiti.api.TemplatesJerseyApi; /** * This interface appends Jersey implementation specific methods to the JAX-RS Loading @@ -15,4 +16,8 @@ public interface ApsPublicRestJerseyApi extends ApsPublicRestApi { return this.getApi(AppDefinitionsJerseyApi.class); } default TemplatesJerseyApi getTemplatesJerseyApi() { return this.getApi(TemplatesJerseyApi.class); } } src/main/java/com/inteligr8/alfresco/activiti/api/TemplatesApi.java 0 → 100644 +133 −0 Original line number Diff line number Diff line /* * 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.activiti.api; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import com.inteligr8.activiti.model.ResultList; import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight; import com.inteligr8.alfresco.activiti.model.EmailTemplate; import com.inteligr8.alfresco.activiti.model.EmailTemplateLight; /** * This is an undocumented API. * * @author brian@inteligr8.com */ @Path("/app/rest") public interface TemplatesApi { @GET @Path("email-templates/system") @Produces({ MediaType.APPLICATION_JSON }) public ResultList<EmailTemplateLight> getSystemEmailTemplates( @QueryParam("tenantId") Long tenantId); @GET @Path("email-templates/custom") @Produces({ MediaType.APPLICATION_JSON }) public ResultList<EmailTemplateLight> getCustomEmailTemplates( @QueryParam("nameFilter") String nameFilter, @QueryParam("start") Integer start, @QueryParam("size") Integer size, @QueryParam("sort") String sort, @QueryParam("tenantId") Long tenantId); @GET @Path("email-templates/custom/{templateName}") @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate getSystemEmailTemplate( @PathParam("templateName") String name, @QueryParam("tenantId") Long tenantId); @GET @Path("email-templates/custom/{templateId}") @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate getCustomEmailTemplate( @PathParam("templateId") long id, @QueryParam("tenantId") Long tenantId); @POST @Path("email-templates/custom") @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplateLight createCustomEmailTemplate( EmailTemplate template); @PUT @Path("email-templates/custom/{templateName}") @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate updateSystemEmailTemplate( @PathParam("templateName") String name, EmailTemplate template); @PUT @Path("email-templates/custom/{templateId}") @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate updateCustomEmailTemplate( @PathParam("templateId") long id, EmailTemplate template); @DELETE @Path("email-templates/custom/{templateId}") public void deleteCustomEmailTemplate( @PathParam("templateId") long id, @QueryParam("tenantId") Long tenantId); @GET @Path("document-templates") @Produces({ MediaType.APPLICATION_JSON }) public ResultList<DocumentTemplateLight> getDocumentTemplates( @QueryParam("nameFilter") String nameFilter, @QueryParam("start") Integer start, @QueryParam("size") Integer size, @QueryParam("sort") String sort, @QueryParam("tenantId") Long tenantId); default Response getDocumentTemplate( DocumentTemplateLight template) { return this.getDocumentTemplate(template.getId(), template.getCreated().toInstant().toEpochMilli()); } @GET @Path("document-templates/{templateId}/file") @Produces({ "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" }) public Response getDocumentTemplate( @PathParam("templateId") long id, @QueryParam("version") long version); @DELETE @Path("document-templates/{templateId}") public void deleteDocumentTemplate(); } Loading
src/main/java/com/inteligr8/activiti/api/ExecutionApi.java +1 −1 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ public interface ExecutionApi { @GET @Produces({ MediaType.APPLICATION_JSON }) public ResultList<Execution> getByAny( ResultList<Execution> getByAny( @QueryParam("id") String executionId, @QueryParam("activityId") String activityId, @QueryParam("processDefinitionKey") String processDefinitionKey, Loading
src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java +5 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi; import com.inteligr8.alfresco.activiti.api.ProfileApi; import com.inteligr8.alfresco.activiti.api.ShareApi; import com.inteligr8.alfresco.activiti.api.TasksApi; import com.inteligr8.alfresco.activiti.api.TemplatesApi; /** * This interface consolidates the JAX-RS APIs available in the APS Public Loading Loading @@ -75,4 +76,8 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi { return this.getApi(ShareApi.class); } default TemplatesApi getTemplatesApi() { return this.getApi(TemplatesApi.class); } }
src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestCxfApi.java +5 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi; import com.inteligr8.alfresco.activiti.api.TemplatesCxfApi; /** * This interface appends Apache CXF implementation specific methods to the Loading @@ -15,4 +16,8 @@ public interface ApsPublicRestCxfApi extends ApsPublicRestApi { return this.getApi(AppDefinitionsCxfApi.class); } default TemplatesCxfApi getTemplatesCxfApi() { return this.getApi(TemplatesCxfApi.class); } }
src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestJerseyApi.java +5 −0 Original line number Diff line number Diff line package com.inteligr8.alfresco.activiti; import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi; import com.inteligr8.alfresco.activiti.api.TemplatesJerseyApi; /** * This interface appends Jersey implementation specific methods to the JAX-RS Loading @@ -15,4 +16,8 @@ public interface ApsPublicRestJerseyApi extends ApsPublicRestApi { return this.getApi(AppDefinitionsJerseyApi.class); } default TemplatesJerseyApi getTemplatesJerseyApi() { return this.getApi(TemplatesJerseyApi.class); } }
src/main/java/com/inteligr8/alfresco/activiti/api/TemplatesApi.java 0 → 100644 +133 −0 Original line number Diff line number Diff line /* * 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.activiti.api; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import com.inteligr8.activiti.model.ResultList; import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight; import com.inteligr8.alfresco.activiti.model.EmailTemplate; import com.inteligr8.alfresco.activiti.model.EmailTemplateLight; /** * This is an undocumented API. * * @author brian@inteligr8.com */ @Path("/app/rest") public interface TemplatesApi { @GET @Path("email-templates/system") @Produces({ MediaType.APPLICATION_JSON }) public ResultList<EmailTemplateLight> getSystemEmailTemplates( @QueryParam("tenantId") Long tenantId); @GET @Path("email-templates/custom") @Produces({ MediaType.APPLICATION_JSON }) public ResultList<EmailTemplateLight> getCustomEmailTemplates( @QueryParam("nameFilter") String nameFilter, @QueryParam("start") Integer start, @QueryParam("size") Integer size, @QueryParam("sort") String sort, @QueryParam("tenantId") Long tenantId); @GET @Path("email-templates/custom/{templateName}") @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate getSystemEmailTemplate( @PathParam("templateName") String name, @QueryParam("tenantId") Long tenantId); @GET @Path("email-templates/custom/{templateId}") @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate getCustomEmailTemplate( @PathParam("templateId") long id, @QueryParam("tenantId") Long tenantId); @POST @Path("email-templates/custom") @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplateLight createCustomEmailTemplate( EmailTemplate template); @PUT @Path("email-templates/custom/{templateName}") @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate updateSystemEmailTemplate( @PathParam("templateName") String name, EmailTemplate template); @PUT @Path("email-templates/custom/{templateId}") @Consumes({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON }) public EmailTemplate updateCustomEmailTemplate( @PathParam("templateId") long id, EmailTemplate template); @DELETE @Path("email-templates/custom/{templateId}") public void deleteCustomEmailTemplate( @PathParam("templateId") long id, @QueryParam("tenantId") Long tenantId); @GET @Path("document-templates") @Produces({ MediaType.APPLICATION_JSON }) public ResultList<DocumentTemplateLight> getDocumentTemplates( @QueryParam("nameFilter") String nameFilter, @QueryParam("start") Integer start, @QueryParam("size") Integer size, @QueryParam("sort") String sort, @QueryParam("tenantId") Long tenantId); default Response getDocumentTemplate( DocumentTemplateLight template) { return this.getDocumentTemplate(template.getId(), template.getCreated().toInstant().toEpochMilli()); } @GET @Path("document-templates/{templateId}/file") @Produces({ "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" }) public Response getDocumentTemplate( @PathParam("templateId") long id, @QueryParam("version") long version); @DELETE @Path("document-templates/{templateId}") public void deleteDocumentTemplate(); }