From 27cc5518d0b2cef854905b2ebabfaa1e295bf7e5 Mon Sep 17 00:00:00 2001 From: Kresnadi Budisantoso Date: Thu, 2 May 2024 15:09:28 +0200 Subject: [PATCH] RedactManager API Specs for BASF - Added endpoint to retrieve the dossier status definitions --- .../src/main/resources/api/redactmanager.yaml | 111 +++++++++++++++++- 1 file changed, 107 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/redactmanager.yaml b/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/redactmanager.yaml index c5e9e9da4..64bfdeb01 100644 --- a/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/redactmanager.yaml +++ b/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/redactmanager.yaml @@ -111,6 +111,37 @@ paths: $ref: '#/components/responses/429' "500": $ref: '#/components/responses/500' + /api/dossier-templates/{dossierTemplateId}/dossier-status-definitions: + get: # TODO: implement endpoint to get dossier status definitions + summary: Returns the list of all existing dossier status definitions + tags: + - 1. Dossier Templates + description: | + Retrieves a collection of dossier status definitions associated with a specific dossier template. Each dossier + status definition includes details such as the status name, description, and other relevant metadata. This endpoint + is useful for clients needing to display or set the status of a dossier associated with a specific dossier template. + parameters: + - $ref: '#/components/parameters/dossierTemplateId' + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/DossierStatusDefinitionList' + description: | + Successfully returned the dossier status definitions for the specified dossier template. + "400": + $ref: '#/components/responses/400' + "401": + $ref: '#/components/responses/401' + "403": + $ref: '#/components/responses/403' + "404": + $ref: '#/components/responses/404-dossier-template' + "429": + $ref: '#/components/responses/429' + "500": + $ref: '#/components/responses/500' /api/dossier-templates/{dossierTemplateId}/dossier-attribute-definitions: get: # TODO: implement endpoint to get dossier attribute definitions summary: Returns the list of all existing dossier attribute definitions @@ -119,8 +150,8 @@ paths: description: | Retrieves a collection of dossier attribute definitions associated with a specific dossier template. Each dossier attribute definition includes details such as attribute type, name, and other relevant metadata. This endpoint - is useful for clients needing to understand what attributes are expected or allowed for dossiers under a particular - dossier template. + is useful for clients needing to understand what attributes are expected or allowed for dossiers associated with + a specific dossier template. parameters: - $ref: '#/components/parameters/dossierTemplateId' responses: @@ -151,8 +182,8 @@ paths: description: | Retrieves a collection of file attribute definitions associated with a specific dossier template. Each file attribute definition includes details such as attribute type, name, and other relevant metadata. This endpoint - is useful for clients needing to understand what attributes are expected or allowed for files under a particular - dossier template. + is useful for clients needing to understand what attributes are expected or allowed for files associated with + a specific dossier template. parameters: - $ref: '#/components/parameters/dossierTemplateId' responses: @@ -1312,6 +1343,51 @@ components: entityRuleId: ABC.0.0 type: entity_type page: 123 + DossierStatusDefinition: + type: object + description: | + The `DossierStatusDefinition` object contains the relevant information to define a dossier status. The dossier status + is used to assign a custom status to a dossier. + properties: + id: + type: string + format: uuid + description: | + A unique identifier for the dossier status definition. This ID is automatically generated by + the system upon creation and is used for referencing the dossier status definition in API calls. + example: bcd22239-cedf-442f-a5a1-1664cba94dc6 + name: + type: string + description: | + User-defined name of the dossier status definition, capturing its essence. The name needs to be unique + for the dossier template. + example: "Done" + description: + type: string + description: | + A text that can be added to provide further details about the status. E.g., what it is intended for or + the circumstances under which it can be used. + example: "Dossiers with this status should only contain approved files and indicate that the users have completed the redactions." + rank: + format: int32 + type: integer + description: | + A number that allows to define a custom display order. + default: "" + example: 1 + color: + type: string + description: | + A hexadecimal color code that can be set to assign a color to a + the `PREVIEW` file. + + - Yellow is `#ffda05` + - Green is `#5eb160` + example: "#5eb160" + required: + - name + - rank + - color DossierAttributeDefinition: type: object description: | @@ -1443,6 +1519,26 @@ components: editable: true filterable: true displayedInFileList: false + DossierStatusDefinitionList: + type: object + description: A list of dossier status definitions. + properties: + dossierStatusDefinitions: + items: + $ref: '#/components/schemas/DossierStatusDefinition' + type: array + example: + dossierStatusDefinitions: + - id: "123e7567-e89b-12d3-a456-426614174000" + name: "In Progress" + description: "Dossiers with this status are currently being processed by the users." + rank: 0 + color: "#ffda05" + - id: "23e45378-e90b-12d3-a456-765114174321" + name: "Done" + description: "Dossiers with this status should only contain approved files and indicate that the users have completed the redactions." + rank: 1 + color: "#5eb160" DossierAttributeDefinitionList: type: object description: A list of dossier attribute definitions. @@ -2646,6 +2742,13 @@ components: redactionPreviewColor: type: string example: "#9398a0" + description: | + A hexadecimal color code that is used to define the highlighting color of the redaction annotations in + the `PREVIEW` file. + + - Black is `#000000` + - White is `#ffffff` + - Grey is `#cccccc` BulkDownloadRequest: allOf: - $ref: '#/components/schemas/DownloadRequest'