UNPKG

io.parrots

Version:

Parrots.io App

1,013 lines (1,012 loc) 610 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Headers, RequestOptions, URLSearchParams, RequestMethod } from '@angular/http'; import { AbstractParrotsServerResource } from '../AbstractParrotsServerResource'; const /** @type {?} */ BASE_PATH = "./classes"; export class ClassesResource extends AbstractParrotsServerResource { /** * @param {?} connectionMgr * @param {?=} basePath */ constructor(connectionMgr, basePath) { super(connectionMgr); this.basePath = BASE_PATH; this.defaultHeaders = new Headers(); if (basePath !== null && basePath !== undefined && basePath !== '') { this.basePath = basePath; } } /** * @return {?} */ uuid4Generate() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var /** @type {?} */ r = Math.random() * 16 | 0, /** @type {?} */ v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } /** * @param {?} classname * @param {?} uuid * @return {?} */ findTestData(classname, uuid) { let /** @type {?} */ testData = this.getTestData(); let /** @type {?} */ testArray = (testData !== null && testData !== undefined) ? testData[classname] : []; for (let /** @type {?} */ item of testArray) { if (item._uuid === uuid) { return item; } } return null; } /** * @param {?} classname * @return {?} */ findTestDataSchema(classname) { let /** @type {?} */ key = classname + "-schema"; let /** @type {?} */ testData = this.getTestData(); let /** @type {?} */ schemaResult = (testData !== null && testData !== undefined) ? testData[key] : {}; return schemaResult; } /** * Configure the persisent class metadata. * * @param {?} body The metadata object to configure. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ configure(body, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.configureWithHttpInfo(body, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Create a new persistent object (insert new row). * * @param {?} body The object to be created. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ create(body, classname, langPreference, extraHttpRequestParams) { if (this.isTestMode()) { if (body !== null && body !== undefined) { body._uuid = this.uuid4Generate(); let /** @type {?} */ testData = this.getTestData(); let /** @type {?} */ testResult = (testData !== null && testData !== undefined) ? testData[classname] : []; if (testResult.length == 0) { testData[classname] = testResult; } testResult.push(body); } return Promise.resolve(body); } return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.createWithHttpInfo(body, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Create a new persistent object (insert new row) with the specified \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} body The object to be created. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ createLang(lang, body, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.createLangWithHttpInfo(lang, body, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Create a new persistent object (insert new row) with the specified \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} body The object to be created. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ createUUIDLang(lang, body, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.createUUIDLangWithHttpInfo(lang, body, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete the object (row) from the given \&quot;uuid\&quot;. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} permanent To permanent delete (destroy) the object or not. The destroyed objects will not be able to be recycled. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ delete(uuid, classname, permanent, langPreference, extraHttpRequestParams) { if (this.isTestMode()) { return Promise.resolve(this.findTestData(classname, uuid)); } return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.deleteWithHttpInfo(uuid, classname, permanent, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete the object (row) from the given \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} permanent To permanent delete (destroy) the object or not. The destroyed objects will not be able to be recycled. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ deleteLang(lang, uuid, classname, permanent, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.deleteLangWithHttpInfo(lang, uuid, classname, permanent, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete (destroy) the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be deleted (ISO-639) * @param {?} version The object \&quot;version\&quot; number to be deleted. * @param {?} permanent You must explicitly set this header to \&quot;true\&quot; to perform this operation. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ destroyLangVersion(lang, version, permanent, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.destroyLangVersionWithHttpInfo(lang, version, permanent, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete (destroy) the specified \&quot;version\&quot; of the given object \&quot;uuid\&quot;. * * @param {?} version The object \&quot;version\&quot; number to be deleted. * @param {?} permanent You must explicitly set this header to \&quot;true\&quot; to perform this operation. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ destroyVersion(version, permanent, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.destroyVersionWithHttpInfo(version, permanent, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Find the object (row) from the given \&quot;uuid\&quot;. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ find(uuid, classname, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.findWithHttpInfo(uuid, classname, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Find the object (row) from the given \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ findLang(lang, uuid, classname, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.findLangWithHttpInfo(lang, uuid, classname, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Find the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to find (ISO-639) * @param {?} version The object \&quot;version\&quot; number to find. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ findLangVersion(lang, version, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.findLangVersionWithHttpInfo(lang, version, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Find the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot;. * * @param {?} version The object \&quot;version\&quot; number to find. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ findVersion(version, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.findVersionWithHttpInfo(version, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get current object&#39;s available actions. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} deleted * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getActions(uuid, classname, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getActionsWithHttpInfo(uuid, classname, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get persistent class&#39;s info. * * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getClassInfo(classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getClassInfoWithHttpInfo(classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get current object&#39;s available actions in the specified \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getLangActions(lang, uuid, classname, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getLangActionsWithHttpInfo(lang, uuid, classname, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get the current object&#39;s state in the specified \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getLangState(lang, uuid, classname, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getLangStateWithHttpInfo(lang, uuid, classname, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * List all object&#39;s versions from the given \&quot;uuid\&quot; and the specified \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} startIndex The query cursor start index (or the number of first rows to be skipped). * @param {?=} endIndex The query cursor end index (the max rows to be returned will be [\&quot;endIndex\&quot; - \&quot;startIndex\&quot;]). * @param {?=} sortDescending To sort the result list using field \&quot;_version\&quot; in descending order (newest first). * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getLangVersions(lang, uuid, classname, startIndex, endIndex, sortDescending, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getLangVersionsWithHttpInfo(lang, uuid, classname, startIndex, endIndex, sortDescending, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get persistent class&#39;s metadata. * * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getMetadata(classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getMetadataWithHttpInfo(classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get the object&#39;s json schema. * * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getSchemaInfo(classname, langPreference, extraHttpRequestParams) { if (this.isTestMode()) { return Promise.resolve(this.findTestDataSchema(classname)); } return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getSchemaInfoWithHttpInfo(classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Get the current object&#39;s state. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getState(uuid, classname, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getStateWithHttpInfo(uuid, classname, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * List all object&#39;s versions from the given \&quot;uuid\&quot;. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} startIndex The query cursor start index (or the number of first rows to be skipped). * @param {?=} endIndex The query cursor end index (the max rows to be returned will be [\&quot;endIndex\&quot; - \&quot;startIndex\&quot;]). * @param {?=} sortDescending To sort the result list using field \&quot;_version\&quot; in descending order (newest first). * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ getVersions(uuid, classname, startIndex, endIndex, sortDescending, langPreference, extraHttpRequestParams) { if (this.isTestMode()) { let /** @type {?} */ obj = this.findTestData(classname, uuid); let /** @type {?} */ testResult = []; if (obj !== null && obj !== undefined) { if (obj._version === undefined || obj._version === null) { obj._version = 0; obj._created = new Date(); } testResult.push(obj); for (let /** @type {?} */ i = 1; i <= 3; i++) { let /** @type {?} */ newObj = JSON.parse(JSON.stringify(obj)); newObj._version = i; newObj._created = new Date(); testResult.push(newObj); } } let /** @type {?} */ result = { "items": testResult }; return Promise.resolve(result); } return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.getVersionsWithHttpInfo(uuid, classname, startIndex, endIndex, sortDescending, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * List all available persistent classes. * * @param {?=} extraHttpRequestParams * @return {?} */ listClassNames(extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.listClassNamesWithHttpInfo(extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Make a stateless object to be stateful with the given \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ makeLangStateful(lang, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.makeLangStatefulWithHttpInfo(lang, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Make a stateless object to be stateful with the given \&quot;uuid\&quot; and \&quot;lang\&quot; starting at the specified \&quot;activityId\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} activityId The \&quot;activityId\&quot; of object&#39;s starting state. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ makeLangStatefulActivity(lang, activityId, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.makeLangStatefulActivityWithHttpInfo(lang, activityId, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Make a stateful object to be stateless with the given \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ makeLangStateless(lang, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.makeLangStatelessWithHttpInfo(lang, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Make a stateless object to be stateful with the given \&quot;uuid\&quot;. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ makeStateful(uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.makeStatefulWithHttpInfo(uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Make a stateless object to be stateful with the given \&quot;uuid\&quot; starting at the specified \&quot;activityId\&quot;. * * @param {?} activityId The \&quot;activityId\&quot; of object&#39;s starting state. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ makeStateful1(activityId, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.makeStatefulActivityWithHttpInfo(activityId, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Make a stateful object to be stateless with the given \&quot;uuid\&quot;. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ makeStateless(uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.makeStatelessWithHttpInfo(uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Partial update the object (row) on the given \&quot;uuid\&quot;. \@PATCH operation will only update the fields specified in request data. * * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} body The object fields to be updated. All object fields not presented in this request data will be leaved to be the same. * @param {?=} incrementVersion Increment the object \&quot;_version\&quot; (if it is version-controlled). * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ patchUpdate(uuid, classname, body, incrementVersion, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.patchUpdateWithHttpInfo(uuid, classname, body, incrementVersion, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Partial update the object (row) on the given \&quot;uuid\&quot; and \&quot;lang\&quot;. \@PATCH operation will only update the fields specified in request data. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} body The object fields to be updated. All object fields not presented in this request data will be leaved to be the same. * @param {?=} incrementVersion Increment the object \&quot;_version\&quot; (if it is version-controlled). * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ patchUpdateLang(lang, uuid, classname, body, incrementVersion, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.patchUpdateLangWithHttpInfo(lang, uuid, classname, body, incrementVersion, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Partial update the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot; and \&quot;lang\&quot;. \@PATCH operation will only update the fields specified in request data. * * @param {?} lang The object&#39;s lang code to be updated (ISO-639) * @param {?} version The object \&quot;version\&quot; number to be updated. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} body The object fields to be updated. All object fields not presented in this request data will be leaved to be the same. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ patchUpdateLangVersion(lang, version, uuid, classname, body, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.patchUpdateLangVersionWithHttpInfo(lang, version, uuid, classname, body, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Partial update the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot;. \@PATCH operation will only update the fields specified in request data. * * @param {?} version The object \&quot;version\&quot; number to be updated. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} body The object fields to be updated. All object fields not presented in this request data will be leaved to be the same. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ patchUpdateVersion(version, uuid, classname, body, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.patchUpdateVersionWithHttpInfo(version, uuid, classname, body, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Promote the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot; and \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} version The object \&quot;version\&quot; number to be promoted. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ promoteLangVersion(lang, version, uuid, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.promoteLangVersionWithHttpInfo(lang, version, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Promote the specified \&quot;version\&quot; copy of the given object \&quot;uuid\&quot;. * * @param {?} version The object \&quot;version\&quot; number to be promoted. * @param {?} uuid The persistent object (row) \&quot;uuid\&quot;. * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ promoteVersion(version, uuid, classname, langPreference, extraHttpRequestParams) { if (this.isTestMode()) { let /** @type {?} */ obj = this.findTestData(classname, uuid); let /** @type {?} */ testResult = []; if (obj !== null && obj !== undefined) { if (obj._version === undefined || obj._version === null) { obj._version = 0; } let /** @type {?} */ newObj = JSON.parse(JSON.stringify(obj)); testResult.push(newObj); } let /** @type {?} */ result = { "items": testResult }; return Promise.resolve(result); } return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.promoteVersionWithHttpInfo(version, uuid, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Query all persistent object without filter. * * @param {?} classname The persistent class name. * @param {?=} startIndex The query cursor start index (or the number of first rows to be skipped). * @param {?=} count The number of max rows will be returned in response result [max&#x3D;500]. * @param {?=} defaultLangOnly To query the objects in default lang [_lang&#x3D;null] only or not. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] objects. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ query(classname, startIndex, count, defaultLangOnly, deleted, langPreference, extraHttpRequestParams) { if (this.isTestMode()) { let /** @type {?} */ testData = this.getTestData(); let /** @type {?} */ testResult = []; if (testData !== null && testData !== undefined && testData[classname] !== null && testData[classname] !== undefined) { for (let /** @type {?} */ item of testData[classname]) { testResult.push(item); } } let /** @type {?} */ result = { "items": testResult }; return Promise.resolve(result); } return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryWithHttpInfo(classname, startIndex, count, defaultLangOnly, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Count all objects (rows) of this class. This api will count default lang [_lang&#x3D;null] and in-used [_deleted&#x3D;false] objects only. * * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryCount(classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryCountWithHttpInfo(classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Count the objects (rows) matched by the specified query. * * @param {?} classname The persistent class name. * @param {?=} body The query filter object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryCountWithFilter(classname, body, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryCountWithFilterWithHttpInfo(classname, body, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete persistent objects matched by the specified query. * * @param {?} classname The persistent class name. * @param {?=} startIndex The query cursor start index (or the number of first rows to be skipped). * @param {?=} count The number of max rows will be returned in response result [max&#x3D;500]. * @param {?=} defaultLangOnly To query the objects in default lang [_lang&#x3D;null] only or not. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] objects. * @param {?=} permanent To permanent delete (destroy) the objects or not. The destroyed objects will not be able to be recycled. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryDelete(classname, startIndex, count, defaultLangOnly, deleted, permanent, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryDeleteWithHttpInfo(classname, startIndex, count, defaultLangOnly, deleted, permanent, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete persistent objects matched by the specified query. * * @param {?} classname The persistent class name. * @param {?=} permanent To permanent delete (destroy) the objects or not. The destroyed objects will not be able to be recycled. * @param {?=} body The query filter object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryDeleteWithFilter(classname, permanent, body, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryDeleteWithFilterWithHttpInfo(classname, permanent, body, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Query all persistent object without filter on the specified \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} classname The persistent class name. * @param {?=} startIndex The query cursor start index (or the number of first rows to be skipped). * @param {?=} count The number of max rows will be returned in response result [max&#x3D;500]. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] objects. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryLang(lang, classname, startIndex, count, deleted, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryLangWithHttpInfo(lang, classname, startIndex, count, deleted, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Count all objects (rows) of this class in the specified \&quot;lang\&quot;. This api will count in-used [_deleted&#x3D;false] objects only. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} classname The persistent class name. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryLangCount(lang, classname, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryLangCountWithHttpInfo(lang, classname, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Count the objects (rows) matched by the specified query in the given \&quot;lang\&quot;. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} classname The persistent class name. * @param {?=} body The query filter object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryLangCountWithFilter(lang, classname, body, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryLangCountWithFilterWithHttpInfo(lang, classname, body, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete persistent objects matched by the specified query. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} classname The persistent class name. * @param {?=} startIndex The query cursor start index (or the number of first rows to be skipped). * @param {?=} count The number of max rows will be returned in response result [max&#x3D;500]. * @param {?=} deleted To query the deleted [true], in-used [false] or both [both|all] objects. * @param {?=} permanent To permanent delete (destroy) the objects or not. The destroyed objects will not be able to be recycled. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryLangDelete(lang, classname, startIndex, count, deleted, permanent, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryLangDeleteWithHttpInfo(lang, classname, startIndex, count, deleted, permanent, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => { reject(error); }); }); } /** * Delete persistent objects matched by the specified query. * * @param {?} lang The object&#39;s lang code to be queried (ISO-639) * @param {?} classname The persistent class name. * @param {?=} permanent To permanent delete (destroy) the objects or not. The destroyed objects will not be able to be recycled. * @param {?=} body The query filter object. * @param {?=} langPreference The language preference used to perform the operation (especially in READ operations such as find/query). * @param {?=} extraHttpRequestParams * @return {?} */ queryLangDeleteWithFilter(lang, classname, permanent, body, langPreference, extraHttpRequestParams) { return new Promise((resolve, reject) => { let /** @type {?} */ prom = this.queryLangDeleteWithFilterWithHttpInfo(lang, classname, permanent, body, langPreference, extraHttpRequestParams); prom.then((response) => { resolve(response.json()); }, (error) => {