diff --git a/documentation/Bruno/Arcadia Api/Api/V1/Health Check.yml b/documentation/Bruno/Arcadia Api/Api/V1/Health Check.yml new file mode 100644 index 0000000..d47b63c --- /dev/null +++ b/documentation/Bruno/Arcadia Api/Api/V1/Health Check.yml @@ -0,0 +1,15 @@ +info: + name: Health Check + type: http + seq: 4 + +http: + method: GET + url: "{{ENDPOINT}}/api/{{APIV1}}/health" + auth: inherit + +settings: + encodeUrl: true + timeout: 0 + followRedirects: true + maxRedirects: 5 diff --git a/documentation/OpenApi/openapi.yaml b/documentation/OpenApi/openapi.yaml index e9130ca..41d0c4f 100644 --- a/documentation/OpenApi/openapi.yaml +++ b/documentation/OpenApi/openapi.yaml @@ -3,6 +3,9 @@ info: title: Arcadia API description: | Arcadia API in order to abstract corporate metamodel to a proper and stable implemented API. + + ### ⏱️ Gestion Temporelle & Fuseaux Horaires (RFC 3339 / UTC) + Tous les horodatages transmis en entrée (ex: paramètre de filtrage `since`) ou restitués dans les réponses JSON (ex: `created_at`, `updated_at`, `timestamp`) sont strictement normalisés au format standard **RFC 3339 / ISO-8601** en temps universel coordonné avec le suffixe `Z` (ex: `2026-08-21T14:30:00Z`). contact: name: Uwil Engineering Team email: digital@ldc.fr @@ -22,6 +25,8 @@ security: HmacSignature: [] tags: + - name: System + description: Points d'entrée système et sondes de disponibilité. - name: Employees description: Gestion et consultation du référentiel RH des employés. - name: Brands @@ -32,6 +37,29 @@ tags: description: Consultation des compositions nutritionnelles et détaillées des produits INCO. paths: + /health: + get: + tags: + - System + summary: Sonde de santé et de disponibilité du système + description: | + Vérifie l'état de fonctionnement et la connectivité de l'ensemble des dépendances d'infrastructure (base de données par défaut, base de données Arcadia, cache et serveur SMTP). + operationId: checkHealth + security: [] + responses: + "200": + description: Système opérationnel (tous les composants sont fonctionnels). + content: + application/json: + schema: + $ref: "#/components/schemas/HealthCheckResponse" + "503": + description: Système dégradé ou indisponible (au moins un composant est en échec). + content: + application/json: + schema: + $ref: "#/components/schemas/HealthCheckResponse" + /employees: get: tags: @@ -626,6 +654,58 @@ components: $ref: "#/components/schemas/ProblemDetails" schemas: + HealthCheckResponse: + type: object + description: Résultat de la sonde d'état et de disponibilité des services. + required: + - status + - timestamp + - checks + properties: + status: + type: string + enum: + - healthy + - unhealthy + description: État de santé global du système. + example: "healthy" + timestamp: + type: string + format: date-time + description: Horodatage de la vérification au format RFC 3339 UTC. + example: "2026-08-21T14:30:00Z" + checks: + type: object + description: Détails des vérifications par composant. + additionalProperties: + type: object + required: + - status + properties: + status: + type: string + enum: + - up + - down + description: État du composant. + example: "up" + connection: + type: string + description: Nom de la connexion de base de données vérifiée. + example: "sqlite" + store: + type: string + description: Nom du magasin de cache vérifié. + example: "database" + transport: + type: string + description: Type de transport mail vérifié. + example: "smtp" + message: + type: string + nullable: true + description: Message d'erreur éventuel en cas d'échec. + Brand: type: object description: Représentation canonique d'une marque dans Arcadia API.