Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from pydantic import UUID4, field_validator

from care.emr.models.organization import FacilityOrganizationUser
from care.emr.resources.base import EMRResource
from care.emr.resources.base import EMRResource, model_from_cache
from care.emr.resources.role.spec import RoleReadSpec
from care.emr.resources.user.spec import UserSpec
from care.security.models import RoleModel
Expand Down Expand Up @@ -53,5 +53,5 @@ class FacilityOrganizationUserReadSpec(FacilityOrganizationUserBaseSpec):
def perform_extra_serialization(cls, mapping, obj):
mapping["id"] = obj.external_id
mapping["user"] = UserSpec.serialize(obj.user).to_json()
Comment thread
praffq marked this conversation as resolved.
mapping["role"] = RoleReadSpec.serialize(obj.role).to_json()
mapping["role"] = model_from_cache(RoleReadSpec, id=obj.role_id)
return mapping
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class OrganizationUserReadSpec(OrganizationUserBaseSpec):
def perform_extra_serialization(cls, mapping, obj):
mapping["id"] = obj.external_id
mapping["user"] = model_from_cache(UserSpec, id=obj.user_id)
mapping["role"] = RoleReadSpec.serialize(obj.role).to_json()
mapping["role"] = model_from_cache(RoleReadSpec, id=obj.role_id)
return mapping


Expand Down
3 changes: 2 additions & 1 deletion care/emr/resources/role/spec.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from pydantic import UUID4, model_validator
from pydantic_core.core_schema import ValidationInfo

from care.emr.resources.base import EMRResource
from care.emr.resources.base import EMRResource, cacheable
from care.emr.utils.slug_type import SlugType
from care.security.models import PermissionModel, RoleModel
from care.security.permissions.base import PermissionController
Expand Down Expand Up @@ -66,6 +66,7 @@ def perform_extra_deserialization(self, is_update, obj):
obj.permissions = []


@cacheable
class RoleReadSpec(RoleBaseSpec):
permissions: list[PermissionSpec]

Expand Down
Loading