Skip to content

feat(template): persistencia JPA/Panache + envelope de respuesta ApiR… - #3

Merged
ahincho merged 1 commit into
mainfrom
feat/template-arquetipos-hexagonal
Aug 10, 2026
Merged

feat(template): persistencia JPA/Panache + envelope de respuesta ApiR…#3
ahincho merged 1 commit into
mainfrom
feat/template-arquetipos-hexagonal

Conversation

@sistemas0011ff

Copy link
Copy Markdown
Collaborator

…esponse

  • Persistencia real: ClassSectionEntity + EnrollmentEmbeddable + ClassSectionMapper
    • PanacheClassSectionRepository (Postgres via Quarkus Dev Services en test, BD real por env vars en dev/qa/prod)
  • Corrige quarkus.hibernate-orm.database.generation (deprecado) por schema-management.strategy, separado por perfil
  • Envelope de respuesta unificado ApiResponse/ApiErrorItem, alineado con el contrato ya adoptado en el BFF NestJS de Nova
  • ErrorCode + DomainException (commons/exception) como base de las excepciones de dominio; ApiResponseWrapperFilter + DomainExceptionMapper + GenericExceptionMapper en web/ (cross-cutting)
  • Fix: @transactional faltante en EnrollStudentService.handle()
  • Fix: EntityExistsException en save() — distingue insert/update, muta la entity gestionada en vez de crear una duplicada
  • Corrige .gitignore: out/ sin anclar ignoraba adapter/out/ del dominio
  • README actualizado: diagrama hexagonal + Clean Architecture, stack tecnológico, configuración completa por perfil, comandos de test
  • Validado end-to-end con curl real contra Postgres (Aiven): 404 y 200 devolviendo el envelope correcto

…esponse

- Persistencia real: ClassSectionEntity + EnrollmentEmbeddable + ClassSectionMapper
  + PanacheClassSectionRepository (Postgres via Quarkus Dev Services en test,
  BD real por env vars en dev/qa/prod)
- Corrige quarkus.hibernate-orm.database.generation (deprecado) por
  schema-management.strategy, separado por perfil
- Envelope de respuesta unificado ApiResponse<T>/ApiErrorItem, alineado con
  el contrato ya adoptado en el BFF NestJS de Nova
- ErrorCode + DomainException (commons/exception) como base de las
  excepciones de dominio; ApiResponseWrapperFilter + DomainExceptionMapper +
  GenericExceptionMapper en web/ (cross-cutting)
- Fix: @transactional faltante en EnrollStudentService.handle()
- Fix: EntityExistsException en save() — distingue insert/update, muta la
  entity gestionada en vez de crear una duplicada
- Corrige .gitignore: out/ sin anclar ignoraba adapter/out/ del dominio
- README actualizado: diagrama hexagonal + Clean Architecture, stack
  tecnológico, configuración completa por perfil, comandos de test
- Validado end-to-end con curl real contra Postgres (Aiven): 404 y 200
  devolviendo el envelope correcto
@ahincho
ahincho merged commit 93ea360 into main Aug 10, 2026
0 of 2 checks passed
@ahincho
ahincho deleted the feat/template-arquetipos-hexagonal branch August 10, 2026 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants