FINERACT-628 self service APIs for client image management
This commit is contained in:
+1
@@ -188,6 +188,7 @@ public class ClientApiConstants {
|
||||
public static final String datatables = "datatables";
|
||||
public static final String obligeeData = "ObligeeDetails";
|
||||
|
||||
public static final String clientEntityName = "clients";
|
||||
|
||||
/**
|
||||
* These parameters will match the class level parameters of
|
||||
|
||||
+46
@@ -18,9 +18,14 @@
|
||||
*/
|
||||
package org.apache.fineract.portfolio.self.client.api;
|
||||
|
||||
import java.io.InputStream;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.DELETE;
|
||||
import javax.ws.rs.DefaultValue;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.HeaderParam;
|
||||
import javax.ws.rs.POST;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.PathParam;
|
||||
import javax.ws.rs.Produces;
|
||||
@@ -44,6 +49,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.sun.jersey.core.header.FormDataContentDisposition;
|
||||
import com.sun.jersey.multipart.FormDataBodyPart;
|
||||
import com.sun.jersey.multipart.FormDataParam;
|
||||
|
||||
@Path("/self/clients")
|
||||
@Component
|
||||
@Scope("singleton")
|
||||
@@ -217,6 +226,43 @@ public class SelfClientsApiResource {
|
||||
throw new ClientNotFoundException(clientId);
|
||||
}
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{clientId}/images")
|
||||
@Consumes({ MediaType.MULTIPART_FORM_DATA })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
public String addNewClientImage(@PathParam("clientId") final Long clientId,
|
||||
@HeaderParam("Content-Length") final Long fileSize, @FormDataParam("file") final InputStream inputStream,
|
||||
@FormDataParam("file") final FormDataContentDisposition fileDetails,
|
||||
@FormDataParam("file") final FormDataBodyPart bodyPart) {
|
||||
|
||||
validateAppuserClientsMapping(clientId);
|
||||
return this.imagesApiResource.addNewClientImage(ClientApiConstants.clientEntityName, clientId, fileSize,
|
||||
inputStream, fileDetails, bodyPart);
|
||||
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("{clientId}/images")
|
||||
@Consumes({ MediaType.TEXT_PLAIN, MediaType.TEXT_HTML, MediaType.APPLICATION_JSON })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
public String addNewClientImage(@PathParam("entity") final String entityName,
|
||||
@PathParam("clientId") final Long clientId, final String jsonRequestBody) {
|
||||
validateAppuserClientsMapping(clientId);
|
||||
return this.imagesApiResource.addNewClientImage(ClientApiConstants.clientEntityName, clientId, jsonRequestBody);
|
||||
|
||||
}
|
||||
|
||||
@DELETE
|
||||
@Path("{clientId}/images")
|
||||
@Consumes({ MediaType.APPLICATION_JSON })
|
||||
@Produces({ MediaType.APPLICATION_JSON })
|
||||
public String deleteClientImage(@PathParam("clientId") final Long clientId) {
|
||||
|
||||
validateAppuserClientsMapping(clientId);
|
||||
return this.imagesApiResource.deleteClientImage(ClientApiConstants.clientEntityName, clientId);
|
||||
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{clientId}/obligeedetails")
|
||||
|
||||
Reference in New Issue
Block a user