From 5c90474f0146b7aa263fb62277eafb4f20f75e71 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Thu, 13 Jul 2023 19:47:02 +0000 Subject: [PATCH 1/2] feat(Common): ORB-2866 - PC117- alterar maxItems --- dictionary/getStatus_v2.csv | 4 ++-- swagger-apis/common/2.0.0.yml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dictionary/getStatus_v2.csv b/dictionary/getStatus_v2.csv index 7a9503186..00d31ff19 100644 --- a/dictionary/getStatus_v2.csv +++ b/dictionary/getStatus_v2.csv @@ -1,6 +1,6 @@ Xpath;Nome;Definição;Tipo de Dado;Tamanho;Mandatoriedade;Formato;Domínio;Mínimo de Ocorrências;Máximo de Ocorrências;Restrições;Nulidade;Tipo de Dado Json;Exemplo;Tamanho mínimo /data;data;;Objeto;;Obrigatório;;;1;1;"";Não permitido;object;; -/data/status;status;;Lista;;Obrigatório;;;1;N;"";Não permitido;array;; +/data/status;status;;Lista;;Obrigatório;;;1;1;"";Não permitido;array;; /data/status/code;code;"Condição atual da API: * `OK` - A implementação é totalmente funcional * `PARTIAL_FAILURE` - Um ou mais endpoints estão indisponíveis @@ -14,4 +14,4 @@ SCHEDULED_OUTAGE";1;1;"";Não permitido;string;OK; /data/status/detectionTime;detectionTime;A data e hora em que a interrupção atual foi detectada. Será obrigatoriamente preenchido se a propriedade code for PARTIAL_FAILURE ou UNAVAILABLE;Texto;20;Opcional;;;0;1;"";Não permitido;string;2020-07-21T08:30:00Z; /data/status/expectedResolutionTime;expectedResolutionTime;A data e hora em que o serviço completo deve continuar (se conhecido). Será obrigatoriamente preenchido se code tiver algum valor que não seja OK;Texto;20;Opcional;;;0;1;"";Não permitido;string;2020-07-21T08:30:00Z; /data/status/updateTime;updateTime;A data e hora em que esse status foi atualizado pela última vez pelo titular dos dados.;Texto;20;Opcional;;;0;1;"";Não permitido;string;2020-01-02T01:00:00Z; -/data/status/unavailableEndpoints;unavailableEndpoints;Endpoints com indisponibilidade;Lista;2000;Opcional;;;0;N;"";Não permitido;array;; +/data/status/unavailableEndpoints;unavailableEndpoints;Endpoints com indisponibilidade;Lista;2000;Opcional;;;0;1;"";Não permitido;array;; diff --git a/swagger-apis/common/2.0.0.yml b/swagger-apis/common/2.0.0.yml index f50297171..86196308a 100644 --- a/swagger-apis/common/2.0.0.yml +++ b/swagger-apis/common/2.0.0.yml @@ -60,6 +60,7 @@ components: properties: status: type: array + maxItems: 1000 items: $ref: '#/components/schemas/Status' links: @@ -75,6 +76,7 @@ components: properties: data: type: array + maxItems: 1000 items: required: - outageTime @@ -184,6 +186,7 @@ components: unavailableEndpoints: type: array description: Endpoints com indisponibilidade + maxItems: 1000 items: type: string maxLength: 2000 From de528368fd2734f169629fa420f0a4f7e07d2739 Mon Sep 17 00:00:00 2001 From: Cecilia Fernandes <115801960+CeciliaFFernandes@users.noreply.github.com> Date: Thu, 13 Jul 2023 20:05:50 +0000 Subject: [PATCH 2/2] feat(Common): ORB-2867 - PC118 - Status code --- swagger-apis/common/2.0.0.yml | 179 ++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) diff --git a/swagger-apis/common/2.0.0.yml b/swagger-apis/common/2.0.0.yml index 86196308a..d40e8e285 100644 --- a/swagger-apis/common/2.0.0.yml +++ b/swagger-apis/common/2.0.0.yml @@ -27,6 +27,22 @@ paths: application/json: schema: $ref: '#/components/schemas/ResponseDiscoveryStatusList' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' /outages: get: tags: @@ -44,6 +60,22 @@ paths: application/json: schema: $ref: '#/components/schemas/ResponseDiscoveryOutageList' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + '504': + $ref: '#/components/responses/GatewayTimeout' + '529': + $ref: '#/components/responses/SiteIsOverloaded' + default: + $ref: '#/components/responses/Default' components: schemas: ResponseDiscoveryStatusList: @@ -192,6 +224,104 @@ components: maxLength: 2000 example: - 'https://api.banco.com.br/open-banking/channels/v1/electronic-channels' + ResponseErrorMetaSingle: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 13 + items: + type: object + required: + - code + - title + - detail + properties: + code: + description: Código de erro específico do endpoint + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + title: + description: Título legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + detail: + description: Descrição legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + meta: + type: object + description: Meta informações referente à API requisitada. + required: + - requestDateTime + properties: + requestDateTime: + description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' + type: string + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' + ResponseError: + type: object + required: + - errors + properties: + errors: + type: array + minItems: 1 + maxItems: 13 + items: + type: object + required: + - code + - title + - detail + properties: + code: + description: Código de erro específico do endpoint + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + title: + description: Título legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 255 + detail: + description: Descrição legível por humanos deste erro específico + type: string + pattern: '[\w\W\s]*' + maxLength: 2048 + meta: + type: object + description: Meta informações referente à API requisitada. + required: + - totalRecords + - totalPages + - requestDateTime + properties: + totalRecords: + type: integer + format: int32 + description: Número total de registros no resultado + example: 1 + totalPages: + type: integer + format: int32 + description: Número total de páginas no resultado + example: 1 + requestDateTime: + description: 'Data e hora da consulta, conforme especificação RFC-3339, formato UTC.' + type: string + maxLength: 20 + format: date-time + example: '2021-05-21T08:30:00Z' parameters: page: name: page @@ -213,3 +343,52 @@ components: minimum: 1 maximum: 1000 format: int32 + responses: + BadRequest: + description: A requisição foi malformada, omitindo atributos obrigatórios, seja no payload ou através de atributos na URL.​ + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + NotFound: + description: O recurso solicitado não existe ou não foi implementado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + MethodNotAllowed: + description: O consumidor tentou acessar o recurso com um método não suportado. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + TooManyRequests: + description: A operação foi recusada, pois muitas solicitações foram feitas dentro de um determinado período ou o limite global de requisições concorrentes foi atingido. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + InternalServerError: + description: Ocorreu um erro no gateway da API ou no microsserviço. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + GatewayTimeout: + description: GATEWAY TIMEOUT - A requisição não foi atendida dentro do tempo limite estabelecido. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError' + SiteIsOverloaded: + description: O site está sobrecarregado e a operação foi recusada, pois foi atingido o limite máximo de TPS global, neste momento. + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseErrorMetaSingle' + Default: + description: '\-' + content: + application/json; charset=utf-8: + schema: + $ref: '#/components/schemas/ResponseError'