Source code for wxc_sdk.roles

from pydantic import TypeAdapter

from wxc_sdk.api_child import ApiChild

__all__ = ['RolesApi']

from wxc_sdk.common import IdAndName


[docs] class RolesApi(ApiChild, base='roles'): """ Roles A persona for an authenticated user, corresponding to a set of privileges within an organization. This roles resource can be accessed only by an admin and shows only roles relevant to an admin. """
[docs] def list(self) -> list[IdAndName]: """ List Roles List all roles. :rtype: list[Role] """ url = self.ep() data = super().get(url) r = TypeAdapter(list[IdAndName]).validate_python(data['items']) return r
[docs] def details(self, role_id: str) -> IdAndName: """ Get Role Details Shows details for a role, by ID. Specify the role ID in the `roleId` parameter in the URI. :param role_id: The unique identifier for the role. :type role_id: str :rtype: :class:`Role` """ url = self.ep(f'{role_id}') data = super().get(url) r = IdAndName.model_validate(data) return r