diff --git a/src/models/user/index.js b/src/models/user/index.js index f1d600d..a8480ba 100755 --- a/src/models/user/index.js +++ b/src/models/user/index.js @@ -2,7 +2,15 @@ import SessionModel from "../session" import request from "../../request" export default class User { - static data = async (payload = {}) => { + /** + * Retrieves the data of a user. + * + * @param {Object} payload - An object containing the username and user_id. + * @param {string} payload.username - The username of the user. + * @param {string} payload.user_id - The ID of the user. + * @return {Promise} - A promise that resolves with the data of the user. + */ + static async data(payload = {}) { let { username, user_id, @@ -30,7 +38,13 @@ export default class User { return response.data } - static updateData = async (payload) => { + /** + * Updates the user data with the given payload. + * + * @param {Object} payload - The data to update the user with. + * @return {Promise} - A promise that resolves with the updated user data. + */ + static async updateData(payload) { const response = await request({ method: "POST", url: "/users/self/update", @@ -42,36 +56,39 @@ export default class User { return response.data } - static unsetFullName = async () => { + /** + * Update the public name to null in the user data. + * + * @return {Promise} A Promise that resolves with the response data after updating the public name + */ + static async unsetPublicName() { return await User.updateData({ - full_name: null, + public_name: null, }) } - static selfRoles = async () => { + /** + * Retrieves the roles of a user. + * + * @param {string} user_id - The ID of the user. If not provided, the current user ID will be used. + * @return {Promise} An array of roles for the user. + */ + static async getRoles(user_id) { const response = await request({ method: "GET", - url: "/users/self/roles", + url: `/users/${user_id ?? "self"}/roles`, }) return response.data } - static haveRole = async (role) => { - const roles = await User.selfRoles() - - if (!roles) { - return false - } - - return Array.isArray(roles) && roles.includes(role) - } - - static haveAdmin = async () => { - return User.haveRole("admin") - } - - static getUserBadges = async (user_id) => { + /** + * Retrieves the badges for a given user. + * + * @param {string} user_id - The ID of the user. If not provided, the current session user ID will be used. + * @return {Promise} An array of badges for the user. + */ + static async getBadges(user_id) { if (!user_id) { user_id = SessionModel.user_id } @@ -84,61 +101,6 @@ export default class User { return data } - static getUserFollowers = async ({ - user_id, - limit = 20, - offset = 0, - }) => { - // if user_id or username is not provided, set with current user - if (!user_id && !username) { - user_id = SessionModel.user_id - } - - const { data } = await request({ - method: "GET", - url: `/user/${user_id}/followers`, - params: { - limit, - offset, - } - }) - - return data - } - - static getConnectedUsersFollowing = async () => { - const { data } = await request({ - method: "GET", - url: "/status/connected/following", - }) - - return data - } - - static checkUsernameAvailability = async (username) => { - const { data } = await request({ - method: "GET", - url: `/availability`, - params: { - username, - } - }) - - return data - } - - static checkEmailAvailability = async (email) => { - const { data } = await request({ - method: "GET", - url: `/availability`, - params: { - email, - } - }) - - return data - } - /** * Retrive user config from server *