UNPKG

@crowdin/crowdin-api-client

Version:
139 lines (138 loc) 6.18 kB
"use strict"; 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;