async def list_user_types(self): """ Fetches all User Types in your org Args: Returns: list: Collection of UserType instances. """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/meta/types/user """) body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, UserType) if error: return (None, response, error) try: result = [] for item in response.get_body(): result.append(UserType(self.form_response_body(item))) except Exception as error: return (None, response, error) return (result, response, None)
async def get_user_type(self, typeId): """ Fetches a User Type by ID. The special identifier `defa ult` may be used to fetch the default User Type. Args: type_id {str} Returns: UserType """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/meta/types/user/{typeId} """) body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, UserType) if error: return (None, response, error) try: result = UserType(self.form_response_body(response.get_body())) except Exception as error: return (None, response, error) return (result, response, None)
async def replace_user_type(self, typeId, user_type, keep_empty_params=False): """ Replace an existing User Type Args: type_id {str} {user_type} Returns: UserType """ http_method = "put".upper() api_url = format_url(f""" {self._base_url} /api/v1/meta/types/user/{typeId} """) if isinstance(user_type, dict): body = user_type else: body = user_type.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } form = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers, form, keep_empty_params=keep_empty_params) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, UserType) if error: return (None, response, error) try: result = UserType(self.form_response_body(response.get_body())) except Exception as error: return (None, response, error) return (result, response, None)
async def create_user_type(self, user_type, keep_empty_params=False): """ Creates a new User Type. A default User Type is automat ically created along with your org, and you may add ano ther 9 User Types for a maximum of 10. Args: {user_type} Returns: UserType """ http_method = "post".upper() api_url = format_url(f""" {self._base_url} /api/v1/meta/types/user """) if isinstance(user_type, dict): body = user_type else: body = user_type.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } form = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers, form, keep_empty_params=keep_empty_params) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, UserType) if error: return (None, response, error) try: result = UserType(self.form_response_body(response.get_body())) except Exception as error: return (None, response, error) return (result, response, None)