Package fr.gouv.vitam.workspace.rest
Class WorkspaceResource
java.lang.Object
fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
fr.gouv.vitam.workspace.rest.WorkspaceResource
-
Field Summary
Fields inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
STATUS_URL, TENANTS_URL -
Method Summary
Modifier and TypeMethodDescriptionjakarta.ws.rs.core.ResponsebulkMove(String sourceContainerName, String targetContainerName, BulkMoveRequest bulkMoveRequest) Moves multiple objects from source paths to destination paths within the same containerjakarta.ws.rs.core.Responsechecks whether an upload is allowed for the current tenant regarding the workspace saturation thresholdsjakarta.ws.rs.core.Responsecompress(String containerName, CompressInformation compressInformation) zip a specific folder into a other directoryjakarta.ws.rs.core.ResponsecomputeObjectDigest(String containerName, String objectName, String algo) checks if a object exists in an container or compute object Digestjakarta.ws.rs.core.ResponsecreateContainer(String containerName) creates a container into the workspacejakarta.ws.rs.core.ResponsecreateFolder(String containerName, String folderName) creates a folder into a containerjakarta.ws.rs.core.ResponsedeleteContainer(String containerName, boolean recursive) deletes a container in the workspacejakarta.ws.rs.core.ResponsedeleteFolder(String containerName, String folderName) deletes a folder in a containerjakarta.ws.rs.core.ResponsedeleteObject(String containerName, String objectName) Deletes an objects in a container *jakarta.ws.rs.core.ResponsegetBulkObjects(String containerName, List<String> objectURIs) gets objects from a container in the workspace as a multiplexed streamjakarta.ws.rs.core.ResponsegetContainerInformation(String containerName) Get container information like capacityjakarta.ws.rs.core.ResponsegetFilesWithParamsFromFolder(String containerName, String folderName) jakarta.ws.rs.core.Responseretrieve free spacejakarta.ws.rs.core.Responsegets an objects from a container in the workspacejakarta.ws.rs.core.ResponsegetObjectInformation(String containerName, String objectName) gets an objects from a container in the workspacejakarta.ws.rs.core.ResponsegetUriDigitalObjectListByFolder(String containerName, String folderName, Integer limit) gets the list of URI of object from folderjakarta.ws.rs.core.ResponseisExistingContainer(String containerName) checks if a container exists in the workspacejakarta.ws.rs.core.ResponseisExistingFolder(String containerName, String folderName) checks if a folder exists in a containerjakarta.ws.rs.core.ResponsepurgeOldFilesInContainer(String containerName, TimeToLive timeToLive) deletes old file in a container in the workspacejakarta.ws.rs.core.ResponseputAtomicObject(InputStream stream, String containerName, String objectName, long size) puts an atomic object into a containerjakarta.ws.rs.core.ResponseputObject(InputStream stream, String containerName, String objectName) puts an object into a containerjakarta.ws.rs.core.ResponseuncompressObject(InputStream stream, String containerName, String folderName, String archiveType) uncompress a sip into the workspaceMethods inherited from class fr.gouv.vitam.common.server.application.resources.ApplicationStatusResource
getServerTenants, status
-
Method Details
-
getFreespacePercent
@Path("/freespace") @GET @Produces("application/json") public jakarta.ws.rs.core.Response getFreespacePercent()retrieve free space- Returns:
- free space percentage
-
checkUploadThreshold
@Path("/status/threshold-check") @GET @Produces("application/json") public jakarta.ws.rs.core.Response checkUploadThreshold()checks whether an upload is allowed for the current tenant regarding the workspace saturation thresholds- Returns:
- a
ThresholdCheckResult(uploadAllowed and, when not, the saturation reason)
-
createContainer
@Path("/containers/{containerName}") @POST @Produces("application/json") public jakarta.ws.rs.core.Response createContainer(@PathParam("containerName") String containerName) creates a container into the workspace- Parameters:
containerName- as path param- Returns:
- Response
-
deleteContainer
@Path("/containers/{containerName}") @DELETE @Produces("application/json") public jakarta.ws.rs.core.Response deleteContainer(@PathParam("containerName") String containerName, @HeaderParam("X-Recursive") boolean recursive) deletes a container in the workspace- Parameters:
containerName- path param of container namerecursive- true if the container should be deleted recursively- Returns:
- Response
-
purgeOldFilesInContainer
@Path("/containers/{containerName}/old_files") @DELETE @Produces("application/json") public jakarta.ws.rs.core.Response purgeOldFilesInContainer(@PathParam("containerName") String containerName, TimeToLive timeToLive) deletes old file in a container in the workspace -
isExistingContainer
@Path("/containers/{containerName}") @HEAD @Produces("application/json") public jakarta.ws.rs.core.Response isExistingContainer(@PathParam("containerName") String containerName) checks if a container exists in the workspace- Parameters:
containerName- path param for container name- Returns:
- Response
-
getContainerInformation
@Path("/container/{containerName}") @GET @Produces("application/json") public jakarta.ws.rs.core.Response getContainerInformation(@PathParam("containerName") String containerName) Get container information like capacity- Parameters:
containerName- the container name- Returns:
- a Json with usableSpace information
-
createFolder
@Path("/containers/{containerName}/folders/{folderName:.*}") @POST @Produces("application/json") public jakarta.ws.rs.core.Response createFolder(@PathParam("containerName") String containerName, @PathParam("folderName") String folderName) creates a folder into a container- Parameters:
containerName- path param of container namefolderName- path param of folder- Returns:
- Response
-
deleteFolder
@Path("/containers/{containerName}/folders/{folderName:.*}") @DELETE @Produces("application/json") public jakarta.ws.rs.core.Response deleteFolder(@PathParam("containerName") String containerName, @PathParam("folderName") String folderName) deletes a folder in a container- Parameters:
containerName- path param for container namefolderName- path param for folder name- Returns:
- Response
-
isExistingFolder
@Path("/containers/{containerName}/folders/{folderName:.*}") @HEAD @Produces("application/json") public jakarta.ws.rs.core.Response isExistingFolder(@PathParam("containerName") String containerName, @PathParam("folderName") String folderName) checks if a folder exists in a container- Parameters:
containerName- path param for container namefolderName- path param for folder name- Returns:
- Response
-
uncompressObject
@Path("/containers/{containerName}/folders/{folderName:.*}") @PUT @Consumes({"application/zip","application/x-gzip","application/gzip","application/x-tar","application/x-bzip2"}) @Produces("application/json") public jakarta.ws.rs.core.Response uncompressObject(InputStream stream, @PathParam("containerName") String containerName, @PathParam("folderName") String folderName, @HeaderParam("Content-Type") String archiveType) uncompress a sip into the workspace- Parameters:
stream- data input streamcontainerName- name of containerfolderName- name of folderarchiveType- the type of archive- Returns:
- Response
-
bulkMove
@Path("/containers/{sourceContainerName}/{targetContainerName}/bulk-move") @POST @Consumes("application/json") @Produces("application/json") public jakarta.ws.rs.core.Response bulkMove(@PathParam("sourceContainerName") String sourceContainerName, @PathParam("targetContainerName") String targetContainerName, BulkMoveRequest bulkMoveRequest) Moves multiple objects from source paths to destination paths within the same container- Parameters:
sourceContainerName- container where the objects residetargetContainerName- container where the objects should movedbulkMoveRequest- source and destination path pairs- Returns:
- Response
-
compress
@Path("/containers/{containerName}") @POST @Consumes("application/json") public jakarta.ws.rs.core.Response compress(@PathParam("containerName") String containerName, CompressInformation compressInformation) zip a specific folder into a other directory- Parameters:
containerName-- Returns:
-
getUriDigitalObjectListByFolder
@Path("/containers/{containerName}/folders/{folderName:.*}") @GET @Produces("application/json") public jakarta.ws.rs.core.Response getUriDigitalObjectListByFolder(@PathParam("containerName") String containerName, @PathParam("folderName") String folderName, @QueryParam("limit") Integer limit) gets the list of URI of object from folder- Parameters:
containerName- name of containerfolderName- name of folderlimit- optional parameter to limit the number of results- Returns:
- Response
-
getFilesWithParamsFromFolder
-
putObject
@Path("/containers/{containerName}/objects/{objectName:.*}") @POST @Consumes("application/octet-stream") @Produces("application/json") public jakarta.ws.rs.core.Response putObject(InputStream stream, @PathParam("containerName") String containerName, @PathParam("objectName") String objectName) puts an object into a container- Parameters:
stream- data input streamcontainerName- name of containerobjectName- name of data object- Returns:
- Response
-
putAtomicObject
@Path("/atomic_containers/{containerName}/objects/{objectName:.*}") @POST @Consumes("application/octet-stream") @Produces("application/json") public jakarta.ws.rs.core.Response putAtomicObject(InputStream stream, @PathParam("containerName") String containerName, @PathParam("objectName") String objectName, @HeaderParam("X-Content-Length") long size) puts an atomic object into a container- Parameters:
stream- data input streamcontainerName- name of containerobjectName- name of data object- Returns:
- Response
-
deleteObject
@Path("/containers/{containerName}/objects/{objectName:.*}") @DELETE @Produces("application/json") public jakarta.ws.rs.core.Response deleteObject(@PathParam("containerName") String containerName, @PathParam("objectName") String objectName) Deletes an objects in a container *- Parameters:
containerName- container nameobjectName- object name- Returns:
- Response
-
getObject
@Path("/containers/{containerName}/objects/{objectName:.*}") @GET @Produces("application/octet-stream") public jakarta.ws.rs.core.Response getObject(@PathParam("containerName") String containerName, @PathParam("objectName") String objectName, @HeaderParam("X-Vitam-Chunk-Offset") Long chunkOffset, @HeaderParam("X-Vitam-Chunk-Max-Size") Long maxChunkSize) gets an objects from a container in the workspace- Parameters:
containerName- name of containerobjectName- name of object- Returns:
- response
-
getBulkObjects
@Path("/containers/{containerName}/objects") @GET @Produces("application/octet-stream") @Consumes("application/json") public jakarta.ws.rs.core.Response getBulkObjects(@PathParam("containerName") String containerName, List<String> objectURIs) gets objects from a container in the workspace as a multiplexed stream- Parameters:
containerName- name of containerobjectURIs- the list of document Uris- Returns:
- response
-
getObjectInformation
@Path("/containers/{containerName}/objects/{objectName:.*}") @GET @Produces("application/json") public jakarta.ws.rs.core.Response getObjectInformation(@PathParam("containerName") String containerName, @PathParam("objectName") String objectName) gets an objects from a container in the workspace- Parameters:
containerName- name of containerobjectName- name of object- Returns:
- Response
- Throws:
IOException- when there is an error of get object
-
computeObjectDigest
@Path("/containers/{containerName}/objects/{objectName:.*}") @HEAD @Produces("application/json") public jakarta.ws.rs.core.Response computeObjectDigest(@PathParam("containerName") String containerName, @PathParam("objectName") String objectName, @HeaderParam("X-digest-algorithm") String algo) checks if a object exists in an container or compute object Digest- Parameters:
containerName- name of containerobjectName- name of objectalgo- path parameter of algo- Returns:
- Response
-