Source code for imednet.endpoints.users
"""Endpoint for managing users in a study."""
from imednet.core.endpoint.edc_mixin import EdcAsyncListGetEndpoint, EdcSyncListGetEndpoint
from imednet.core.endpoint.strategies import MappingParamProcessor, PopStudyKeyStrategy
from imednet.models.users import User
[docs]class UsersOperationDef:
"""Definition for User operations."""
PATH = "users"
MODEL = User
_id_param = "userId"
STUDY_KEY_STRATEGY = PopStudyKeyStrategy()
PARAM_PROCESSOR = MappingParamProcessor(
mapping={"include_inactive": "includeInactive"},
defaults={"include_inactive": False},
)
[docs]class UsersEndpoint(UsersOperationDef, EdcSyncListGetEndpoint[User]): # type: ignore[misc]
"""Synchronous endpoint for managing Users."""
[docs]class AsyncUsersEndpoint(UsersOperationDef, EdcAsyncListGetEndpoint[User]): # type: ignore[misc]
"""Asynchronous endpoint for managing Users."""