UNPKG

typerinth

Version:

A TypeScript library for interacting with the Modrinth API.

43 lines (42 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Route_1 = require("../Route"); const errors_1 = require("../../errors"); const TeamMemberPermissions_1 = require("../../enums/TeamMemberPermissions"); class GetProjectTeamMembersRoute extends Route_1.Route { projectId; constructor(baseUrl, ua, cacheManager, authorization, projectId) { super(baseUrl, ua, cacheManager, authorization); this.projectId = projectId; } getCacheKey() { return `teams:project_members:${this.projectId}`; } getUrl() { return Route_1.Route.addPathSegment(this.baseUrl, `/project/${this.projectId}/members`); } parseData(data) { if (data === null) throw new errors_1.ProjectNotFoundError('Project not found'); if (!data) throw new errors_1.UnexpectedApiError('Unexpected empty response'); if (data.error) { if (data.error === 'not_found') throw new errors_1.ProjectNotFoundError('Project not found'); throw new errors_1.ApiError(data.error, data.description); } return data.map((member) => ({ team_id: member.team_id, user: member.user, role: member.role, permissions: member.permissions !== null ? (0, TeamMemberPermissions_1.bitfieldToArray)(member.permissions) : null, permissions_bitfield: member.permissions, accepted: member.accepted, payouts_split: member.payouts_split, ordering: member.ordering, })); } } exports.default = GetProjectTeamMembersRoute;