Commit Graph

12 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 0a48f3743b chore: commite gradle-wrapper.jar et exclut de *.jar dans .gitignore
CI — Tests & Docker Build / Tests (push) Failing after 1m36s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
Sans le jar, ./gradlew échoue au docker build en CI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:32:30 +02:00
Gato 59cc7cf161 ci: build image de test via Dockerfile.test, même pattern qu'Olhar-PWA
CI — Tests & Docker Build / Tests (push) Failing after 4s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
Le montage de workspace ne fonctionne pas dans le runner Gitea (pwd ne
pointe pas vers le checkout). On construit une image avec les sources
embarquées et on lance les tests depuis cette image.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:30:13 +02:00
Gato 9be3caa4ad ci: remplace \$GITHUB_WORKSPACE par \$(pwd) pour le mount Docker
CI — Tests & Docker Build / Tests (push) Failing after 3s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
\$GITHUB_WORKSPACE n'est pas résolu dans le runner Gitea act.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:27:42 +02:00
Gato 3d97f5d01f ci: remplace actions/setup-java par docker run eclipse-temurin:25-jdk
CI — Tests & Docker Build / Tests (push) Failing after 29s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
Le runner Gitea ne résout pas correctement le path Java installé par
actions/setup-java (bug avec le suffix -9.0.LTS dans le chemin Temurin).
Utilisation directe de l'image eclipse-temurin:25-jdk comme pour le dev local.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:26:19 +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 c34cc41496 ci: pipeline Gitea Actions build & push Docker sur push main
CI — Tests & Docker Build / Tests (push) Failing after 2m55s
CI — Tests & Docker Build / Build & push image Docker (push) Has been skipped
- Dockerfile multi-stage (build eclipse-temurin:25-jdk → runtime)
- CI : tests via actions/setup-java puis build & push vers registry Gitea
- Trigger Watchtower après push sur main
- CLAUDE.md + rules projet (.claude/rules/)
- Version build.gradle : 0.0.1-SNAPSHOT → 0.0.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:05:53 +02:00
Gato b4e5bd69f6 chore: migration Groovy DSL + Java 25 via container Podman
- Remplace build.gradle.kts par build.gradle (Groovy DSL)
- Le Kotlin DSL est incompatible avec Java 25 (bug de parsing dans le compilateur Kotlin embarqué)
- Toolchain configuré sur Java 25, build exécuté dans eclipse-temurin:25-jdk
- Lombok 1.18.38 fixé explicitement (supporte Java 25)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 06:11:38 +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