@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
139 lines (138 loc) • 6.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Screenshots = void 0;
const core_1 = require("../core");
/**
* Screenshots provide translators with additional context for the source strings.
* Screenshot tags allow specifying which source strings are displayed on each screenshot.
*
* Use API to manage screenshots and their tags.
*/
class Screenshots extends core_1.CrowdinApi {
listScreenshots(projectId, options, deprecatedOffset) {
if ((0, core_1.isOptionalNumber)(options, '1' in arguments)) {
options = { limit: options, offset: deprecatedOffset };
}
let url = `${this.url}/projects/${projectId}/screenshots`;
url = this.addQueryParam(url, 'stringId', options.stringId);
url = this.addQueryParam(url, 'labelIds', options.labelIds);
url = this.addQueryParam(url, 'excludeLabelIds', options.excludeLabelIds);
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.screenshots.post
*/
addScreenshot(projectId, request) {
const url = `${this.url}/projects/${projectId}/screenshots`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.get
*/
getScreenshot(projectId, screenshotId) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}`;
return this.get(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.put
*/
updateScreenshot(projectId, screenshotId, request) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}`;
return this.put(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.delete
*/
deleteScreenshot(projectId, screenshotId) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}`;
return this.delete(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.patch
*/
editScreenshot(projectId, screenshotId, request) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}`;
return this.patch(url, request, this.defaultConfig());
}
listScreenshotTags(projectId, screenshotId, options, deprecatedOffset) {
if ((0, core_1.isOptionalNumber)(options, '2' in arguments)) {
options = { limit: options, offset: deprecatedOffset };
}
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags`;
return this.getList(url, options.limit, options.offset);
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.putMany
*/
replaceTags(projectId, screenshotId, request) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags`;
return this.put(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.post
*/
addTag(projectId, screenshotId, request) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.deleteMany
*/
clearTags(projectId, screenshotId) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags`;
return this.delete(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param tagId tag identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.get
*/
getTag(projectId, screenshotId, tagId) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags/${tagId}`;
return this.get(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param tagId tag identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.delete
*/
deleteTag(projectId, screenshotId, tagId) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags/${tagId}`;
return this.delete(url, this.defaultConfig());
}
/**
* @param projectId project identifier
* @param screenshotId screenshot identifier
* @param tagId tag identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.projects.screenshots.tags.patch
*/
updateTag(projectId, screenshotId, tagId, request) {
const url = `${this.url}/projects/${projectId}/screenshots/${screenshotId}/tags/${tagId}`;
return this.patch(url, request, this.defaultConfig());
}
}
exports.Screenshots = Screenshots;
;