From 2515f36afa9af914da667b6dee60532290ec1418 Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Tue, 24 Dec 2024 14:36:29 +0100 Subject: [PATCH] OVPAY-879 - Audit Trail v2 overhaul. --- src/openapi/fiko/fiko-crud.yaml | 643 ++++++++++++++------------------ 1 file changed, 285 insertions(+), 358 deletions(-) diff --git a/src/openapi/fiko/fiko-crud.yaml b/src/openapi/fiko/fiko-crud.yaml index 887bb4e..8a4a360 100644 --- a/src/openapi/fiko/fiko-crud.yaml +++ b/src/openapi/fiko/fiko-crud.yaml @@ -244,26 +244,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "fiko", - "timestamp": "2022-01-01 00:00:00", - "action": "created", - "description": "Transaction created.", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - } + $ref: "#/components/schemas/TransactionAuditTrailsPostRequestBody" responses: "201": description: Created content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - } + $ref: "#/components/schemas/TransactionAuditTrailsPostResponseBody" /transactionaudittrails: get: summary: Find audit trail entries. @@ -330,32 +318,7 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "transactionAuditTrails": - [ - { - "transactionAuditTrailId": "afce35b2-1dff-4ace-98d0-4b9ac405c87d", - "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", - "user": "fiko", - "timestamp": "2022-01-01 00:00:00", - "action": "created", - "description": "Transaction created.", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - }, - { - "transactionAuditTrailId": "e63cc37b-4d87-4278-8eb5-1477e07edf3d", - "transactionItemId": "d667d293-aa82-4c9e-9b10-77cffc9058a1", - "user": "fiko", - "timestamp": "2022-01-01 00:01:00", - "action": "processed", - "description": "Transaction processed.", - "correlationId": "3e9d7d4b-8adf-4e7f-8251-be308f16d3de", - }, - ], - "href": null, - } + $ref: "#/components/schemas/TransactionAuditTrailsGetResponseBody" /processingfailures: get: summary: Find processing failures. @@ -881,48 +844,6 @@ paths: { "productContraAccountId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", } - /productmetadata/{productMetadataId}/metadataaudittrails: - parameters: - - in: path - name: productMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the product metadata. - post: - summary: Add metadata audit trail. - description: Add metadata audit trail. - tags: - - Audit Trail v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "rmeeuws", - "timestamp": "2024-10-04T00:00:00", - "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": - [ - { - "fieldName": "department", - "oldValue": "900", - "newValue": "999", - }, - ], - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" /contraaccountmetadata: get: summary: Find contra account metadata. @@ -1044,48 +965,6 @@ paths: { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } - /contraaccountmetadata/{contraAccountMetadataId}/metadataaudittrails: - parameters: - - in: path - name: contraAccountMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the contra account metadata. - post: - summary: Add metadata audit trail. - description: Add metadata audit trail. - tags: - - Audit Trail v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "rmeeuws", - "timestamp": "2024-10-04T00:00:00", - "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": - [ - { - "fieldName": "contraAccountMetadataId", - "oldValue": "873810a3-a11a-4d4d-9af7-395520fa207c", - "newValue": "9a8eb116-5270-4ef9-81ef-fdc2e72c281a", - }, - ], - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" /taxmetadata: get: summary: Find tax metadata. @@ -1229,48 +1108,6 @@ paths: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } - /taxmetadata/{taxMetadataId}/metadataaudittrails: - parameters: - - in: path - name: taxMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the contra account metadata. - post: - summary: Add metadata audit trail. - description: Add metadata audit trail. - tags: - - Audit Trail v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "rmeeuws", - "timestamp": "2024-10-04T00:00:00", - "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": - [ - { - "fieldName": "taxCode", - "oldValue": null, - "newValue": "V21", - }, - ], - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" /sourcemetadata: get: summary: Find source metadata. @@ -1427,48 +1264,6 @@ paths: $ref: "#/components/schemas/unavailable" example: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } - /sourcemetadata/{sourceMetadataId}/metadataaudittrails: - parameters: - - in: path - name: sourceMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the contra account metadata. - post: - summary: Add metadata audit trail. - description: Add metadata audit trail. - tags: - - Audit Trail v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "rmeeuws", - "timestamp": "2024-10-04T00:00:00", - "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": - [ - { - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Mark Verheij", - }, - ], - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" /accountingperiodmetadata: get: summary: Find accounting period metadata. @@ -1575,48 +1370,6 @@ paths: { "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } - /accountingperiodmetadata/{accountingPeriodMetadataId}/metadataaudittrails: - parameters: - - in: path - name: accountingPeriodMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the contra account metadata. - post: - summary: Add metadata audit trail. - description: Add metadata audit trail. - tags: - - Audit Trail v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "rmeeuws", - "timestamp": "2024-10-04T00:00:00", - "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": - [ - { - "fieldName": "isOpen", - "oldValue": "true", - "newValue": "false", - }, - ], - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" /concessionmetadata: get: summary: Find concession metadata. @@ -1748,48 +1501,6 @@ paths: { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } - /concessionmetadata/{concessionMetadataId}/metadataaudittrails: - parameters: - - in: path - name: concessionMetadataId - schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - required: true - description: The id of the product metadata. - post: - summary: Add metadata audit trail. - description: Add metadata audit trail. - tags: - - Audit Trail v2 - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "user": "rmeeuws", - "timestamp": "2024-10-04T00:00:00", - "correlationId": "a03cd0c2-38b5-4619-b9e3-d6e5b842e127", - "metadataChanges": - [ - { - "fieldName": "percentage", - "oldValue": null, - "newValue": "23.456", - }, - ], - } - responses: - "201": - description: Created - content: - application/json: - schema: - $ref: "#/components/schemas/postMetadataAuditTrailResponse" /metadataaudittrails: get: summary: Find metadata audit trails. @@ -1805,106 +1516,103 @@ paths: example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the metadata audit trail. - in: query - name: productMetadataId + name: source schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the product metadata. + example: FMT + description: The source of the metadata change. - in: query - name: concessionMetadataId + name: endpoint schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the concession metadata. + format: url + example: https://dev.api.htm.nl/v2/productmetadata + description: The endpoint of the metadata change. - in: query - name: contraAccountMetadataId + name: operation schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the contra account metadata. + type: array + items: + type: string + enum: + - GET + - POST + - PATCH + - DELETE + example: POST + explode: false + description: The operation of the metadata change. - in: query - name: taxMetadataId + name: responseCode schema: - type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the tax metadata. + type: integer + example: 200 + description: The HTTP response code of the metadata change. - in: query - name: sourceMetadataId + name: requestBody schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the source metadata. + format: json + example: { "json": "data" } + description: The request body of the metadata change. - in: query - name: accountingPeriodMetadataId + name: responseBody schema: type: string - format: uuid - example: 37a8095b-19db-498f-9349-5f37d21c5bdf - description: The id of the accounting period metadata. + format: json + example: { "json": "data" } + description: The response body of the metadata change. - in: query name: user schema: type: string - example: rmeeuws - description: The username of the user. + example: r.meeuws + description: The id of the user who performed the metadata change. - in: query name: timestampBefore schema: type: string - example: 2022-01-01 00:00:00 - description: The timestamp before the event occured. + format: date-time + example: 2024-01-01T00:00:00.000 + description: The timestamp before the metadata change was made. - in: query name: timestampAfter schema: type: string - example: 2022-01-01 00:00:00 - description: The timestamp after the event occured. + format: date-time + example: 2024-01-01T00:00:00.000 + description: The timestamp after the metadata change was made. - in: query name: correlationId schema: type: string - example: a3891560-3084-42cb-867c-f289e7cda47d - description: The correlation id of the event. + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + description: The correlation id of the metadata change. responses: "200": description: OK content: application/json: schema: - $ref: "#/components/schemas/unavailable" - example: - { - "metadataAuditTrails": - [ - { - "metadataAuditTrailId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "productMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", - "concessionMetadataId": null, - "contraAccountMetadataId": null, - "taxMetadataId": null, - "sourceMetadataId": null, - "accountingPeriodMetadataId": null, - "user": "rmeeuws", - "timestamp": "2022-01-01 00:00:00", - "correlationId": "a3891560-3084-42cb-867c-f289e7cda47d", - "metadataChanges": - [ - { - "metadataChangesId": "43a481a7-0845-460f-b44a-b4112cc2e193", - "fieldName": "businessOwner", - "oldValue": "Corneel Verstoep", - "newValue": "Jan-Willem Vermeij", - }, - ], - }, - ], - "href": null, - } + $ref: "#/components/schemas/MetadataAuditTrailsGetResponseBody" + post: + summary: Add metadata audit trail. + description: Add metadata audit trail. + tags: + - Audit Trail v2 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/MetadataAuditTrailsPostRequestBody" + responses: + "201": + description: Created + content: + application/json: + schema: + $ref: "#/components/schemas/MetadataAuditTrailsPostResponseBody" /concessions: get: summary: Get all concessions. @@ -2106,6 +1814,7 @@ components: properties: transactionItemId: type: string + format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d required: - transactionItemId @@ -2177,6 +1886,7 @@ components: properties: transactionItemId: type: string + format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d required: - transactionItemId @@ -2196,6 +1906,7 @@ components: properties: transactionItemId: type: string + format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d required: - transactionItemId @@ -2398,7 +2109,6 @@ components: processingFailureId: type: string format: uuid - nullable: false example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureId @@ -2433,7 +2143,6 @@ components: processingFailureInstanceId: type: string format: uuid - nullable: false example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureInstanceId @@ -2459,10 +2168,228 @@ components: processingFailureInstanceId: type: string format: uuid - nullable: false example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureInstanceId + TransactionAuditTrailsPostRequestBody: + type: object + properties: + user: + type: string + example: fiko + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + action: + type: string + enum: + - created + - succeeded + - failed + - returned to trx-db + - returned to src + example: created + description: + type: string + nullable: true + example: Transaction created. + correlationId: + type: string + format: uuid + nullable: true + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - user + - timestamp + - action + TransactionAuditTrailsPostResponseBody: + type: object + properties: + transactionAuditTrailId: + type: string + format: uuid + example: 37a8095b-19db-498f-9349-5f37d21c5bdf + required: + - transactionAuditTrailId + TransactionAuditTrailsGetResponseBody: + type: object + properties: + transactionAuditTrails: + type: array + items: + type: object + properties: + transactionAuditTrailId: + type: string + format: uuid + example: afce35b2-1dff-4ace-98d0-4b9ac405c87d + transactionItemId: + type: string + format: uuid + example: d667d293-aa82-4c9e-9b10-77cffc9058a1 + user: + type: string + example: fiko + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + action: + type: string + enum: + - created + - succeeded + - failed + - returned to trx-db + - returned to src + example: created + description: + type: string + nullable: true + example: Transaction created. + correlationId: + type: string + format: uuid + nullable: true + example: a3891560-3084-42cb-867c-f289e7cda47d + required: + - transactionAuditTrailId + - transactionItemId + - user + - timestamp + - action + href: + type: string + nullable: true + example: null + required: + - transactionAuditTrails + MetadataAuditTrailsGetResponseBody: + type: object + properties: + metadataAuditTrails: + type: array + items: + type: object + properties: + metadataAuditTrailId: + type: string + format: uuid + example: b6161270-eb08-4242-90ec-967d5db62070 + source: + type: string + example: FMT + endpoint: + type: string + format: url + example: https://dev.api.htm.nl/v2/productmetadata + operation: + type: string + enum: + - GET + - POST + - PATCH + - DELETE + example: POST + requestBody: + type: string + format: json + example: { "json": "data" } + responseCode: + type: integer + example: 200 + responseBody: + type: string + format: json + example: { "json": "data" } + user: + type: string + example: r.meeuws + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + correlationId: + type: string + format: uuid + nullable: true + example: 662de47c-d809-41bd-b3f6-5c7e1dc5c030 + required: + - metadataAuditTrailId + - source + - endpoint + - operation + - requestBody + - responseCode + - responseBody + - user + - timestamp + href: + type: string + nullable: true + example: null + required: + - metadataAuditTrails + MetadataAuditTrailsPostRequestBody: + type: object + properties: + source: + type: string + example: FMT + endpoint: + type: string + format: url + example: https://dev.api.htm.nl/v2/productmetadata + operation: + type: string + enum: + - GET + - POST + - PATCH + - DELETE + example: POST + requestBody: + type: string + format: json + example: { "json": "data" } + responseCode: + type: integer + example: 200 + responseBody: + type: string + format: json + example: { "json": "data" } + user: + type: string + example: r.meeuws + timestamp: + type: string + format: date-time + example: 2022-01-01 00:00:00 + correlationId: + type: string + format: uuid + nullable: true + example: 662de47c-d809-41bd-b3f6-5c7e1dc5c030 + required: + - source + - endpoint + - operation + - requestBody + - responseCode + - responseBody + - user + - timestamp + MetadataAuditTrailsPostResponseBody: + type: object + properties: + metadataAuditTrailId: + type: string + format: uuid + example: b6161270-eb08-4242-90ec-967d5db62070 + required: + - metadataAuditTrailId rfc9457: type: object properties: