@crowdin/crowdin-api-client
Version:
JavaScript library for Crowdin API
106 lines (105 loc) • 4.55 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Applications = void 0;
const core_1 = require("../core");
/**
* Crowdin Apps are web applications that can be integrated with Crowdin to extend its functionality.
*
* Use the API to manage the necessary app data.
*/
class Applications extends core_1.CrowdinApi {
/**
* @param options optional pagination parameters for the request
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.installations.getMany
*/
listApplicationInstallations(options) {
const url = `${this.url}/applications/installations`;
return this.getList(url, options === null || options === void 0 ? void 0 : options.limit, options === null || options === void 0 ? void 0 : options.offset);
}
/**
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.installations.post
*/
installApplication(request) {
const url = `${this.url}/applications/installations`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.installations.get
*/
getApplicationInstallation(applicationId) {
const url = `${this.url}/applications/installations/${applicationId}`;
return this.get(url, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param force force delete the application
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.installations.delete
*/
deleteApplicationInstallation(applicationId, force) {
const url = `${this.url}/applications/installations/${applicationId}`;
if (force) {
this.addQueryParam(url, 'force', String(force));
}
return this.delete(url, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.installations.patch
*/
editApplicationInstallation(applicationId, request) {
const url = `${this.url}/applications/installations/${applicationId}`;
return this.patch(url, request, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param path path implemented by the application
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.api.get
*/
getApplicationData(applicationId, path) {
const url = `${this.url}/applications/${applicationId}/api/${path}`;
return this.get(url, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param path path implemented by the application
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.api.put
*/
updateOrRestoreApplicationData(applicationId, path, request) {
const url = `${this.url}/applications/${applicationId}/api/${path}`;
return this.put(url, request, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param path path implemented by the application
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.api.post
*/
addApplicationData(applicationId, path, request) {
const url = `${this.url}/applications/${applicationId}/api/${path}`;
return this.post(url, request, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param path path implemented by the application
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.api.delete
*/
deleteApplicationData(applicationId, path) {
const url = `${this.url}/applications/${applicationId}/api/${path}`;
return this.delete(url, this.defaultConfig());
}
/**
* @param applicationId application identifier
* @param path path implemented by the application
* @param request request body
* @see https://developer.crowdin.com/api/v2/#operation/api.applications.api.patch
*/
editApplicationData(applicationId, path, request) {
const url = `${this.url}/applications/${applicationId}/api/${path}`;
return this.patch(url, request, this.defaultConfig());
}
}
exports.Applications = Applications;