@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
95 lines (94 loc) • 3.99 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Labels = void 0;
const core_1 = require("../core");
class Labels extends core_1.CrowdinApi {
listLabels(projectId, options, deprecatedOffset) {
if ((0, core_1.isOptionalNumber)(options, '1' in arguments)) {
options = { limit: options, offset: deprecatedOffset };
}
let url = `${this.url}/projects/${projectId}/labels`;
url = this.addQueryParam(url, 'orderBy', options.orderBy);
return this.getList(url, options.limit, options.offset);
}
/**
* @param projectId project identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.post
*/
addLabel(projectId, request) {
const url = `${this.url}/projects/${projectId}/labels`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.get
*/
getLabel(projectId, labelId) {
const url = `${this.url}/projects/${projectId}/labels/${labelId}`;
return this.get(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.delete
*/
deleteLabel(projectId, labelId) {
const url = `${this.url}/projects/${projectId}/labels/${labelId}`;
return this.delete(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.patch
*/
editLabel(projectId, labelId, request) {
const url = `${this.url}/projects/${projectId}/labels/${labelId}`;
return this.patch(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.screenshots.post
*/
assignLabelToScreenshots(projectId, labelId, request) {
const url = `${this.url}/projects/${projectId}/labels/${labelId}/screenshots`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @param screenshotIds screenshot identifiers
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.screenshots.deleteMany
*/
unassignLabelFromScreenshots(projectId, labelId, screenshotIds) {
let url = `${this.url}/projects/${projectId}/labels/${labelId}/screenshots`;
url = this.addQueryParam(url, 'screenshotIds', screenshotIds);
return this.delete(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.strings.post
*/
assignLabelToString(projectId, labelId, request) {
const url = `${this.url}/projects/${projectId}/labels/${labelId}/strings`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param labelId label identifier
* @param stringIds string identifiers
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.labels.strings.deleteMany
*/
unassignLabelFromString(projectId, labelId, stringIds) {
let url = `${this.url}/projects/${projectId}/labels/${labelId}/strings`;
url = this.addQueryParam(url, 'stringIds', stringIds);
return this.delete(url, this.defaultConfig());
}
}
exports.Labels = Labels;
;