From 4174891d62a602a9229677178770bc125b4f69dd Mon Sep 17 00:00:00 2001 From: Pedro Marques Date: Thu, 19 Sep 2024 13:48:39 -0300 Subject: [PATCH] refactor: Update entities_mrg.py and entities_std.py routers to use pipeline permissions for user validation --- app/routers/entities_mrg.py | 17 +++++++++-------- app/routers/entities_std.py | 14 ++++++++------ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/app/routers/entities_mrg.py b/app/routers/entities_mrg.py index 129f1a5..d3845e6 100644 --- a/app/routers/entities_mrg.py +++ b/app/routers/entities_mrg.py @@ -8,7 +8,8 @@ from tortoise.exceptions import ValidationError from app.dependencies import ( - assert_user_is_active + assert_user_has_pipeline_read_permition, + assert_user_has_pipeline_write_permition ) from app.types.pydantic_models import ( CompletePatientModel, @@ -49,7 +50,7 @@ @router.put("/patient") async def create_or_update_patient( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], patients: List[PydanticMergedPatient], ) -> int: @@ -83,7 +84,7 @@ async def create_or_update_patient( @router.put("/patientaddress") async def create_or_update_patientaddress( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], patientaddress_list: List[PydanticMergedPatientAddress], ) -> int: # Get list of patient codes @@ -113,7 +114,7 @@ async def create_or_update_patientaddress( @router.put("/patienttelecom") async def create_or_update_patienttelecom( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], patienttelecom_list: List[PydanticMergedPatientTelecom], ) -> int: # Get list of patient codes @@ -142,7 +143,7 @@ async def create_or_update_patienttelecom( @router.put("/patientcns") async def create_or_update_patientcns( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], patientcns_list: List[PydanticMergedPatientCns], ) -> int: # Get list of patient codes @@ -171,7 +172,7 @@ async def create_or_update_patientcns( @router.get("/patient/{patient_cpf}") async def get_patient( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_read_permition)], patient_cpf: int, )-> list[CompletePatientModel]: @@ -227,7 +228,7 @@ async def get_patient( @router.put("/professionals") async def create_or_update_professionals( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], professionals: List[ProfessionalModel], ) -> int: @@ -330,7 +331,7 @@ async def create_or_update_professionals( @router.put("/teams") async def create_or_update_teams( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], teams: List[TeamModel], ) -> int: diff --git a/app/routers/entities_std.py b/app/routers/entities_std.py index a7229cb..16600ba 100644 --- a/app/routers/entities_std.py +++ b/app/routers/entities_std.py @@ -8,12 +8,14 @@ from fastapi import APIRouter, Depends from fastapi.responses import HTMLResponse - from tortoise import Tortoise from tortoise.contrib.pydantic import pydantic_model_creator from tortoise.exceptions import ValidationError, DoesNotExist -from app.dependencies import assert_user_is_active +from app.dependencies import ( + assert_user_has_pipeline_read_permition, + assert_user_has_pipeline_write_permition +) from app.types.pydantic_models import ( PatientMergeableRecord, StandardizedPatientRecordModel, StandardizedPatientConditionModel, BulkInsertOutputModel, MergeableRecord, Page @@ -37,7 +39,7 @@ @router.get("/patientrecords/updated") async def get_patientrecords_of_updated_patients( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_read_permition)], start_datetime: datetime.datetime = datetime.datetime.now() - datetime.timedelta(hours=1), end_datetime: datetime.datetime = datetime.datetime.now(), @@ -100,7 +102,7 @@ async def get_patientrecords_of_updated_patients( @router.post("/patientrecords", status_code=201) async def create_standardized_patientrecords( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], records: list[StandardizedPatientRecordModel], ) -> BulkInsertOutputModel: @@ -164,7 +166,7 @@ async def create_standardized_patientrecords( @router.get("/patientconditions") async def get_standardized_patientconditions( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_read_permition)], patient_cpf: str, ) -> list[MergeableRecord[StandardizedPatientConditionModel]]: @@ -188,7 +190,7 @@ async def get_standardized_patientconditions( @router.post("/patientconditions", status_code=201) async def create_standardized_patientconditions( - _: Annotated[User, Depends(assert_user_is_active)], + _: Annotated[User, Depends(assert_user_has_pipeline_write_permition)], conditions: list[StandardizedPatientConditionModel], ) -> BulkInsertOutputModel: