Commit Graph

13 Commits

Author SHA1 Message Date
dahoud
3bd7f74a77 Fix: Correct Dockerfile HEALTHCHECK and Swagger UI URL for root-path configuration
- Fixed HEALTHCHECK to use /btpxpress/q/health/ready instead of /q/health/ready
- Added quarkus.swagger-ui.urls.default=/btpxpress/openapi for correct OpenAPI loading
- Ensures Swagger UI loads the spec from the correct path with root-path

These fixes ensure:
1. Docker health checks work correctly with quarkus.http.root-path=/btpxpress
2. Swagger UI correctly loads /btpxpress/openapi instead of /openapi
3. Pods are marked healthy by Kubernetes

Resolves the 404 error in Swagger UI when loading API definition.
2025-10-23 15:26:11 +00:00
dahoud
a0b0db5ec8 Fix: Configure quarkus.http.root-path for proper Swagger UI routing
- Added quarkus.http.root-path=/btpxpress in production config
- Removed custom Swagger UI files (index.html, swagger-initializer.js)
- Backend now knows it's served under /btpxpress context path
- Swagger UI will correctly generate URLs like /btpxpress/openapi

IMPORTANT: Ingress configuration must be updated to NOT use rewrite-target
The Ingress should pass requests to backend with full path preserved:
  https://api.lions.dev/btpxpress/openapi -> http://backend:8080/btpxpress/openapi

This is the proper solution instead of using rewrite-target which breaks
context-aware applications like Swagger UI.
2025-10-23 11:57:24 +00:00
dahoud
a48c07d0a9 Fix: Configure Swagger UI to load OpenAPI from /btpxpress/openapi via custom initializer
Ajoute un fichier swagger-initializer.js personnalisé qui surcharge
l'URL par défaut pour charger l'OpenAPI spec depuis /btpxpress/openapi.

Cela corrige le problème où Swagger UI ne pouvait pas charger la spécification
derrière l'Ingress nginx avec rewrite-target.
2025-10-23 11:40:03 +00:00
dahoud
a440d705b0 Fix: Configure Swagger UI to load OpenAPI from /btpxpress/openapi
Ajoute quarkus.swagger-ui.url=/btpxpress/openapi pour corriger le chargement
de la spécification OpenAPI dans Swagger UI derrière l'Ingress nginx avec rewrite.
2025-10-23 11:23:20 +00:00
dahoud
5f1f5c6844 Fix: Remove duplicate UserResource class
- Suppression du UserResource.java dupliqué dans adapter/http
- Conservation de la version standardisée dans application/rest
- Correction de l'erreur de compilation 'duplicate class'
2025-10-23 10:58:02 +00:00
dahoud
fba7666268 Refactor: Standardisation complète de l'architecture REST
🔧 RESTRUCTURATION
- UserResource déplacé de adapter.http vers application.rest
- FournisseurResource déplacé vers application.rest
- Suppression des contrôleurs obsolètes (presentation.controller)
- Suppression de MaterielFournisseurService en doublon

📝 STANDARDISATION DOCUMENTATION
- Annotations OpenAPI uniformes (@Operation, @APIResponse, @Parameter)
- Descriptions concises et cohérentes pour tous les endpoints
- Codes de réponse HTTP standards (200, 201, 400, 404, 500)

🛠️ ENDPOINTS USERS STANDARDISÉS
- GET /api/v1/users - Liste tous les utilisateurs
- GET /api/v1/users/{id} - Détails d'un utilisateur
- GET /api/v1/users/stats - Statistiques globales
- GET /api/v1/users/count - Comptage
- GET /api/v1/users/pending - Utilisateurs en attente
- POST /api/v1/users - Création
- PUT /api/v1/users/{id} - Mise à jour
- DELETE /api/v1/users/{id} - Suppression
- POST /api/v1/users/{id}/approve - Approbation
- POST /api/v1/users/{id}/reject - Rejet
- PUT /api/v1/users/{id}/status - Changement de statut
- PUT /api/v1/users/{id}/role - Changement de rôle

⚠️ GESTION D'ERREURS
- Format uniforme: Map.of("error", "message")
- Codes HTTP cohérents avec les autres ressources
- Validation des entrées standardisée

 VALIDATION
- Compilation réussie: mvn clean compile -DskipTests
- Pattern conforme aux autres ressources (PhaseTemplate, Fournisseur)
- Documentation OpenAPI/Swagger complète et cohérente
2025-10-23 10:43:32 +00:00
dahoud
de943a4a29 Fix: Remplacer l'image RedHat UBI par eclipse-temurin
L'image registry.access.redhat.com/ubi8/openjdk-17-runtime:1.18
n'était pas accessible, causant des échecs de build Docker.

Changements:
- Utilisation de eclipse-temurin:17-jre-alpine (image publique)
- Création manuelle de l'utilisateur appuser (UID 185)
- Même configuration de sécurité et de permissions

Cette image est plus légère et publiquement accessible,
ce qui permet un build Docker sans authentification.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 13:09:30 +00:00
dahoud
559a968d2c Fix: Allow public access to Swagger UI and OpenAPI endpoints
Added explicit HTTP auth permissions to allow unauthenticated access to:
- /q/* (health endpoints)
- /openapi (OpenAPI spec)
- /swagger-ui/* (Swagger UI)

This fixes the issue where proactive auth mode blocked access to
documentation endpoints in production.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 13:02:07 +00:00
dahoud
3dc0ce9176 Fix: Remove quarkus.http.root-path to fix API routing
The Ingress already handles the /btpxpress path prefix with rewrite-target,
so the backend should serve requests directly without a root-path.

This fixes the 404 errors when accessing endpoints like:
- https://api.lions.dev/btpxpress/q/health
- https://api.lions.dev/btpxpress/api/*

Before: Backend expected /btpxpress/q/health (due to root-path)
After: Backend serves /q/health (Ingress rewrites /btpxpress/... to /...)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 10:34:46 +00:00
dahoud
59ef8420d3 Fix: Update Dockerfile to support uber-jar package type 2025-10-13 00:07:24 +00:00
dahoud
89e38f59db Add ci-cd profile to exclude environment-dependent tests 2025-10-12 23:50:37 +00:00
dahoud
7494ed1ec5 Fix: Rendre les tests plus flexibles pour l'environnement CI/CD lionsctl 2025-10-12 23:42:18 +00:00
dahoud
f2bb633142 Initial commit 2025-10-01 01:37:34 +00:00