From d7abc88bef2126fa503bacc7adc532d6787f86cd Mon Sep 17 00:00:00 2001 From: Eduardo Lauer Date: Tue, 5 Aug 2025 17:08:40 -0300 Subject: [PATCH 1/4] add session flush and fix identation --- src/crud.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/crud.py b/src/crud.py index ac59365..8fa0ce7 100644 --- a/src/crud.py +++ b/src/crud.py @@ -157,7 +157,6 @@ async def _build_plano_trabalho_model( f" matricula_siape: {plano_trabalho.matricula_siape}\n" f" cod_unidade_lotacao: {plano_trabalho.cod_unidade_lotacao_participante}" ) - session.add(db_participante) db_participante.planos_trabalho.append(db_plano) @@ -274,13 +273,14 @@ async def update_plano_trabalho( ) session.add(db_plano_atualizado) try: - await session.refresh(db_plano_atualizado) + await session.flush() except IntegrityError as e: raise HTTPException( status_code=422, detail="Alteração rejeitada por violar regras de integridade", ) from e - return schemas.PlanoTrabalhoSchema.model_validate(db_plano_atualizado) + await session.refresh(db_plano_atualizado) + return schemas.PlanoTrabalhoSchema.model_validate(db_plano_atualizado) async def get_plano_entregas( @@ -469,8 +469,11 @@ async def update_plano_entregas( for entrega in db_plano_entregas_atualizado.entregas: session.add(entrega) + session.add(db_plano_entregas_atualizado) + await session.flush() + await session.refresh(db_plano_entregas_atualizado) return schemas.PlanoEntregasSchema.model_validate(db_plano_entregas_atualizado) From 51438a62f0cbc25f1b8135339047adb02ad8cea9 Mon Sep 17 00:00:00 2001 From: Eduardo Lauer Date: Wed, 6 Aug 2025 16:12:23 -0300 Subject: [PATCH 2/4] Update release-notes.md --- release-notes.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/release-notes.md b/release-notes.md index 23d1513..29b990d 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,5 +1,9 @@ # Release notes +## 3.3.6 +* Add audit table for registering database operations (INSERT/UPDATE/DELETE) +* Hotfix: Refactor update_planos to ensure proper transaction handling + ## 3.3.5 * Use transaction mode in update_plano_trabalho and update_plano_entregas From 8662cf7b7ffd714c9304d26e9c8afcb7203fa3da Mon Sep 17 00:00:00 2001 From: Eduardo Lauer Date: Wed, 8 Oct 2025 11:28:54 -0300 Subject: [PATCH 3/4] add debug for ci/cd --- .github/workflows/ci_tests.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 754e540..be0963a 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -21,3 +21,14 @@ jobs: run: make build - name: Run tests run: make tests + - name: Debug failure + if: failure() + run: | + echo "=== Docker Compose Services ===" + docker compose ps + echo + echo "=== Logs for api-pgd ===" + docker compose logs api-pgd || true + echo + echo "=== Logs for all containers ===" + docker compose logs || true From 6bc6746b0440696fc9aa08b65054cc221d491a03 Mon Sep 17 00:00:00 2001 From: Eduardo Lauer Date: Wed, 8 Oct 2025 11:58:36 -0300 Subject: [PATCH 4/4] force bcrypt version to 4.0.1 (compatible with passlib) --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a5b99d8..e8a746c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,6 +6,7 @@ pydantic[email]==2.8.2 pytest==8.2.2 httpx==0.27.0 python-jose[cryptography]==3.3.0 -passlib[bcrypt]==1.7.4 +passlib==1.7.4 +bcrypt==4.0.1 python-multipart==0.0.9 fastapi-mail==1.4.1