From 7a94f1c96a90f062131b0f43610451f1a02bdd52 Mon Sep 17 00:00:00 2001 From: Julien Aldon Date: Fri, 20 Feb 2026 10:33:00 +0100 Subject: [PATCH] fix app crash --- backend/pyproject.toml | 3 ++- backend/src/contracts/contracts.py | 10 +++++----- backend/src/forms/forms.py | 6 +++--- backend/src/productors/productors.py | 6 +++--- backend/src/products/products.py | 8 ++++---- backend/src/shipments/shipments.py | 6 +++--- backend/src/templates/templates.py | 6 +++--- backend/src/users/users.py | 6 +++--- docker-compose.dev.yaml | 2 +- frontend/src/components/Navbar/index.tsx | 6 +++--- frontend/src/components/Products/Modal/index.tsx | 2 +- 11 files changed, 31 insertions(+), 30 deletions(-) diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 1e833d1..7af776e 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -29,7 +29,8 @@ dependencies = [ "cryptography", "requests", "weasyprint", - "odfdo" + "odfdo", + "alembic" ] [project.urls] diff --git a/backend/src/contracts/contracts.py b/backend/src/contracts/contracts.py index e490a5f..5eab4b9 100644 --- a/backend/src/contracts/contracts.py +++ b/backend/src/contracts/contracts.py @@ -115,7 +115,7 @@ def get_contracts( ): return service.get_all(session, user, forms) -@router.get('{id}/file') +@router.get('/{id}/file') def get_contract_file( id: int, session: Session = Depends(get_session), @@ -135,7 +135,7 @@ def get_contract_file( } ) -@router.get('{form_id}/files') +@router.get('/{form_id}/files') def get_contract_files( form_id: int, session: Session = Depends(get_session), @@ -160,7 +160,7 @@ def get_contract_files( } ) -@router.get('{form_id}/recap') +@router.get('/{form_id}/recap') def get_contract_recap( form_id: int, session: Session = Depends(get_session), @@ -179,7 +179,7 @@ def get_contract_recap( } ) -@router.get('{id}', response_model=models.ContractPublic) +@router.get('/{id}', response_model=models.ContractPublic) def get_contract(id: int, session: Session = Depends(get_session), user: models.User = Depends(get_current_user)): if not service.is_allowed(session, user, id): raise HTTPException(status_code=403, detail=messages.notallowed) @@ -188,7 +188,7 @@ def get_contract(id: int, session: Session = Depends(get_session), user: models. raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.ContractPublic) +@router.delete('/{id}', response_model=models.ContractPublic) def delete_contract(id: int, session: Session = Depends(get_session), user: models.User = Depends(get_current_user)): if not service.is_allowed(session, user, id): raise HTTPException(status_code=403, detail=messages.notallowed) diff --git a/backend/src/forms/forms.py b/backend/src/forms/forms.py index d527491..a30eafc 100644 --- a/backend/src/forms/forms.py +++ b/backend/src/forms/forms.py @@ -17,7 +17,7 @@ async def get_forms( ): return service.get_all(session, seasons, productors, current_season) -@router.get('{id}', response_model=models.FormPublic) +@router.get('/{id}', response_model=models.FormPublic) async def get_form(id: int, session: Session = Depends(get_session)): result = service.get_one(session, id) if result is None: @@ -32,7 +32,7 @@ async def create_form( ): return service.create_one(session, form) -@router.put('{id}', response_model=models.FormPublic) +@router.put('/{id}', response_model=models.FormPublic) async def update_form( id: int, form: models.FormUpdate, user: models.User = Depends(get_current_user), @@ -43,7 +43,7 @@ async def update_form( raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.FormPublic) +@router.delete('/{id}', response_model=models.FormPublic) async def delete_form( id: int, user: models.User = Depends(get_current_user), diff --git a/backend/src/productors/productors.py b/backend/src/productors/productors.py index f2058da..cd24e23 100644 --- a/backend/src/productors/productors.py +++ b/backend/src/productors/productors.py @@ -17,7 +17,7 @@ def get_productors( ): return service.get_all(session, names, types) -@router.get('{id}', response_model=models.ProductorPublic) +@router.get('/{id}', response_model=models.ProductorPublic) def get_productor( id: int, user: models.User = Depends(get_current_user), @@ -36,7 +36,7 @@ def create_productor( ): return service.create_one(session, productor) -@router.put('{id}', response_model=models.ProductorPublic) +@router.put('/{id}', response_model=models.ProductorPublic) def update_productor( id: int, productor: models.ProductorUpdate, user: models.User = Depends(get_current_user), @@ -47,7 +47,7 @@ def update_productor( raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.ProductorPublic) +@router.delete('/{id}', response_model=models.ProductorPublic) def delete_productor( id: int, user: models.User = Depends(get_current_user), diff --git a/backend/src/products/products.py b/backend/src/products/products.py index e7c7e8c..7f212b2 100644 --- a/backend/src/products/products.py +++ b/backend/src/products/products.py @@ -6,7 +6,7 @@ from sqlmodel import Session import src.products.service as service from src.auth.auth import get_current_user router = APIRouter(prefix='/products') -#user=Depends(get_current_user) + @router.get('', response_model=list[models.ProductPublic], ) def get_products( user: models.User = Depends(get_current_user), @@ -22,7 +22,7 @@ def get_products( types, ) -@router.get('{id}', response_model=models.ProductPublic) +@router.get('/{id}', response_model=models.ProductPublic) def get_product( id: int, user: models.User = Depends(get_current_user), @@ -41,7 +41,7 @@ def create_product( ): return service.create_one(session, product) -@router.put('{id}', response_model=models.ProductPublic) +@router.put('/{id}', response_model=models.ProductPublic) def update_product( id: int, product: models.ProductUpdate, user: models.User = Depends(get_current_user), @@ -52,7 +52,7 @@ def update_product( raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.ProductPublic) +@router.delete('/{id}', response_model=models.ProductPublic) def delete_product( id: int, user: models.User = Depends(get_current_user), diff --git a/backend/src/shipments/shipments.py b/backend/src/shipments/shipments.py index ee47a34..91f798b 100644 --- a/backend/src/shipments/shipments.py +++ b/backend/src/shipments/shipments.py @@ -22,7 +22,7 @@ def get_shipments( forms, ) -@router.get('{id}', response_model=models.ShipmentPublic) +@router.get('/{id}', response_model=models.ShipmentPublic) def get_shipment( id: int, user: models.User = Depends(get_current_user), @@ -41,7 +41,7 @@ def create_shipment( ): return service.create_one(session, shipment) -@router.put('{id}', response_model=models.ShipmentPublic) +@router.put('/{id}', response_model=models.ShipmentPublic) def update_shipment( id: int, shipment: models.ShipmentUpdate, user: models.User = Depends(get_current_user), @@ -52,7 +52,7 @@ def update_shipment( raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.ShipmentPublic) +@router.delete('/{id}', response_model=models.ShipmentPublic) def delete_shipment( id: int, user: models.User = Depends(get_current_user), diff --git a/backend/src/templates/templates.py b/backend/src/templates/templates.py index eb35873..2f33222 100644 --- a/backend/src/templates/templates.py +++ b/backend/src/templates/templates.py @@ -15,7 +15,7 @@ def get_templates( ): return service.get_all(session) -@router.get('{id}', response_model=models.TemplatePublic) +@router.get('/{id}', response_model=models.TemplatePublic) def get_template( id: int, user: models.User = Depends(get_current_user), @@ -34,7 +34,7 @@ def create_template( ): return service.create_one(session, template) -@router.put('{id}', response_model=models.TemplatePublic) +@router.put('/{id}', response_model=models.TemplatePublic) def update_template( id: int, template: models.TemplateUpdate, user: models.User = Depends(get_current_user), @@ -45,7 +45,7 @@ def update_template( raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.TemplatePublic) +@router.delete('/{id}', response_model=models.TemplatePublic) def delete_template( id: int, user: models.User = Depends(get_current_user), diff --git a/backend/src/users/users.py b/backend/src/users/users.py index b599afe..8c375bd 100644 --- a/backend/src/users/users.py +++ b/backend/src/users/users.py @@ -28,7 +28,7 @@ def get_roles( ): return service.get_roles(session) -@router.get('{id}', response_model=models.UserPublic) +@router.get('/{id}', response_model=models.UserPublic) def get_users( id: int, user: models.User = Depends(get_current_user), @@ -47,7 +47,7 @@ def create_user( ): return service.create_one(session, user) -@router.put('{id}', response_model=models.UserPublic) +@router.put('/{id}', response_model=models.UserPublic) def update_user( id: int, user: models.UserUpdate, @@ -59,7 +59,7 @@ def update_user( raise HTTPException(status_code=404, detail=messages.notfound) return result -@router.delete('{id}', response_model=models.UserPublic) +@router.delete('/{id}', response_model=models.UserPublic) def delete_user( id: int, user: models.User = Depends(get_current_user), diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml index c07e388..b9d15dd 100644 --- a/docker-compose.dev.yaml +++ b/docker-compose.dev.yaml @@ -33,7 +33,7 @@ services: KEYCLOAK_CLIENT_ID: ${KEYCLOAK_CLIENT_ID} KEYCLOAK_CLIENT_SECRET: ${KEYCLOAK_CLIENT_SECRET} KEYCLOAK_REDIRECT_URI: ${KEYCLOAK_REDIRECT_URI} - DEBUG: ${DEBUG} + DEBUG: true MAX_AGE: ${MAX_AGE} ports: - "8000:8000" diff --git a/frontend/src/components/Navbar/index.tsx b/frontend/src/components/Navbar/index.tsx index 607938f..e40ad29 100644 --- a/frontend/src/components/Navbar/index.tsx +++ b/frontend/src/components/Navbar/index.tsx @@ -29,13 +29,13 @@ export function Navbar() { ) : null} {!user?.logged ? ( - {t("login with keycloak", { capfirst: true })} - + ) : (