UNPKG

@crowdin/crowdin-api-client

Version:
115 lines (114 loc) 4.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Teams = void 0; const core_1 = require("../core"); class Teams extends core_1.CrowdinApi { /** * @param teamId team identifier * @param options request options * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.teams.projects.permissions.getMany */ listTeamProjectPermissions(teamId, options) { const url = `${this.url}/teams/${teamId}/projects/permissions`; return this.getList(url, options === null || options === void 0 ? void 0 : options.limit, options === null || options === void 0 ? void 0 : options.offset); } /** * @param teamId team identifier * @param request request body * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.teams.projects.permissions.patch */ editTeamProjectPermissions(teamId, request) { const url = `${this.url}/teams/${teamId}/projects/permissions`; return this.patch(url, request, this.defaultConfig()); } /** * @param projectId project identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.projects.teams.post */ addTeamToProject(projectId, request) { const url = `${this.url}/projects/${projectId}/teams`; return this.post(url, request, this.defaultConfig()); } listTeams(options, deprecatedOffset) { var _a; if ((0, core_1.isOptionalNumber)(options, '0' in arguments)) { options = { limit: options, offset: deprecatedOffset }; } let url = `${this.url}/teams`; url = this.addQueryParam(url, 'orderBy', options.orderBy); url = this.addQueryParam(url, 'search', options === null || options === void 0 ? void 0 : options.search); url = this.addQueryParam(url, 'projectIds', options === null || options === void 0 ? void 0 : options.projectIds); url = this.addQueryParam(url, 'projectRoles', (_a = options === null || options === void 0 ? void 0 : options.projectRoles) === null || _a === void 0 ? void 0 : _a.toString()); url = this.addQueryParam(url, 'languageIds', options === null || options === void 0 ? void 0 : options.languageIds); url = this.addQueryParam(url, 'groupIds', options === null || options === void 0 ? void 0 : options.groupIds); return this.getList(url, options.limit, options.offset); } /** * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.post */ addTeam(request) { const url = `${this.url}/teams`; return this.post(url, request, this.defaultConfig()); } /** * @param teamId team identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.get */ getTeam(teamId) { const url = `${this.url}/teams/${teamId}`; return this.get(url, this.defaultConfig()); } /** * @param teamId team identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.delete */ deleteTeam(teamId) { const url = `${this.url}/teams/${teamId}`; return this.delete(url, this.defaultConfig()); } /** * @param teamId team identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.patch */ editTeam(teamId, request) { const url = `${this.url}/teams/${teamId}`; return this.patch(url, request, this.defaultConfig()); } teamMembersList(teamId, options, deprecatedOffset) { if ((0, core_1.isOptionalNumber)(options, '1' in arguments)) { options = { limit: options, offset: deprecatedOffset }; } const url = `${this.url}/teams/${teamId}/members`; return this.getList(url, options.limit, options.offset); } /** * @param teamId team identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.post */ addTeamMembers(teamId, request) { const url = `${this.url}/teams/${teamId}/members`; return this.post(url, request, this.defaultConfig()); } /** * @param teamId team identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.deleteMany */ deleteAllTeamMembers(teamId) { const url = `${this.url}/teams/${teamId}/members`; return this.delete(url, this.defaultConfig()); } /** * @param teamId team identifier * @param memberId member identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.teams.members.delete */ deleteTeamMember(teamId, memberId) { const url = `${this.url}/teams/${teamId}/members/${memberId}`; return this.delete(url, this.defaultConfig()); } } exports.Teams = Teams;