--- id: user title: UserModel sidebar_label: UserModel --- ## UserModel The `UserModel` class provides static methods for interacting with user data on the Comty platform. **Class Overview:** The `UserModel` class offers a set of methods for retrieving and updating user data, including profile information, roles, badges, and configuration settings. ### Static Methods * `data(payload)` Retrieves the data of a user. * `payload`: *object, optional* An object containing the username and user_id. * `username`: *string, optional* The username of the user. * `user_id`: *string, optional* The ID of the user. * `basic`: *boolean, optional* Whether to fetch only basic user information default: false. * Returns: A promise that resolves with the data of the user. * `updateData(payload)` Updates the user data with the given payload. * `payload`: *object* The data to update the user with. * Returns: A promise that resolves with the updated user data. * `unsetPublicName()` Update the public name to null in the user data. * Returns: A Promise that resolves with the response data after updating the public name * `getRoles(user_id)` Retrieves the roles of a user. * `user_id`: *string, optional* The ID of the user. If not provided, the current user ID will be used. * Returns: A promise that resolves with an array of roles for the user. * `getBadges(user_id)` Retrieves the badges for a given user. * `user_id`: *string, optional* The ID of the user. If not provided, the current session user ID will be used. * Returns: A promise that resolves with an array of badges for the user. * `getConfig(key)` Retrive user config from server * `key`: *string* A key of config * Returns: A Promise that resolves with a config object * `updateConfig(update)` Update the configuration with the given update. * `update`: *Object* The object containing the updated configuration data * Returns: A Promise that resolves with the response data after the configuration is updated * `getPublicKey(user_id)` Retrieves the public key for a given user. * `user_id`: *string, optional* The ID of the user. If not provided, the current session user ID will be used. * Returns: A promise that resolves with the public key for the user. * `updatePublicKey(public_key)` Updates the public key for the current user. * `public_key`: *string* The new public key to set. * Returns: A promise that resolves with the response data after updating the public key.