Commit Graph

6 Commits

Author SHA1 Message Date
Gato e73ecfd379 feat(version): exposer GET /api/v1/version public sans authentification
CI — Tests & Docker Build / Tests (push) Failing after 5s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 10:07:14 +02:00
Gato 647f10ff8a feat(photos): GET /photos, PATCH /photos/:id, POST /photos (upload)
CI — Tests & Docker Build / Tests (push) Failing after 19m22s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
- Domaine : Photo avec statuts todo/ok/flag, valDate automatique au passage ok
- Ports in : GetPhotos, UpdatePhoto, UploadPhotos
- Ports out : PhotoRepository, PhotoStoragePort
- Infrastructure : PhotoEntity, mapper, adapter JPA, LocalPhotoStorage
- Controller : liste, patch, upload multipart, endpoint image
- Migration V3 : table photos
- Tests unitaires UpdatePhotoService
- application.yml : multipart 50MB, photos.storage-path

Closes #2, #4, #5

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 09:16:55 +02:00
Gato 6c8c01a90e fix: aligne les variables d'env application.yml avec le compose de production
CI — Tests & Docker Build / Tests (push) Successful in 1m39s
CI — Tests & Docker Build / Build & push image Docker (push) Successful in 2m47s
DATASOURCE_URL/USERNAME/PASSWORD correspondent aux variables définies dans
le docker-compose.yml de l'Infra. Ajout de cors.allowed-origin pour le futur.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:49:52 +02:00
Gato a739282755 fix: commite UserRepository.java et corrige out/ dans .gitignore
CI — Tests & Docker Build / Tests (push) Successful in 2m19s
CI — Tests & Docker Build / Build & push image Docker (push) Successful in 2m53s
out/ sans / initial ignorait application/port/out/, qui est un répertoire
valide de la Clean Architecture.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:35:25 +02:00
Gato 12a28af1ca feat(auth): POST /auth/login retourne email, name, role et token
CI — Tests & Docker Build / Tests (push) Failing after 4s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
- Champ `name` ajouté sur User, UserEntity, RegisterRequest
- AuthenticateUserUseCase retourne Result(user, token) au lieu du token seul
- UserNotFoundException remplacé par BadCredentialsException au login (pas de fuite d'info)
- @Email retiré de LoginRequest (identifiant = "gato", pas nécessairement un email)
- Migration V2 : colonne name + utilisateur par défaut gato/change (ADMIN)
- bytecode cible Java 21 (ASM Spring Boot 3.4 ne supporte pas Java 25)
- Tests : AbstractIntegrationTest simplifié, URL TC JDBC + network host

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:24:41 +02:00
Gato c230a999ab feat: initialisation du projet Olhar-API en Clean Architecture
- Spring Boot 3.4.1 + Gradle Kotlin DSL, Java 21
- Clean Architecture (domain / application / infrastructure / interfaces)
- Spring Security stateless avec JWT (JJWT 0.12.6)
- Flyway + PostgreSQL (migration V1 table users)
- SpringDoc OpenAPI / Swagger UI avec auth Bearer
- Testcontainers pour les tests d'intégration
- Use cases Register et Authenticate (endpoints POST /api/v1/auth/register et /login)
- GlobalExceptionHandler avec ProblemDetail (RFC 9457)
- docker-compose.yml pour Postgres local

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 05:56:46 +02:00