@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
115 lines (114 loc) • 4.95 kB
JavaScript
"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;