"""Endpoint for managing users in a study."""
from imednet.core.endpoint.base import GenericListGetEndpoint
from imednet.core.endpoint.edc_mixin import EdcEndpointMixin
from imednet.core.endpoint.strategies import MappingParamProcessor, PopStudyKeyStrategy
from imednet.errors import ClientError
from imednet.models.users import User
[docs]class UsersEndpoint(
EdcEndpointMixin,
GenericListGetEndpoint[User],
):
"""
API endpoint for interacting with users in an iMedNet study.
Provides methods to list and retrieve user information.
"""
PATH = "users"
MODEL = User
_id_param = "userId"
STUDY_KEY_STRATEGY = PopStudyKeyStrategy(exception_cls=ClientError)
PARAM_PROCESSOR = MappingParamProcessor(
mapping={"include_inactive": "includeInactive"},
defaults={"include_inactive": False},
)