xero-node
Version:
Xero NodeJS OAuth 2.0 client for xero-node
375 lines • 21.9 kB
JavaScript
;
/**
* Xero AppStore API
* These endpoints are for Xero Partners to interact with the App Store Billing platform
*
* The version of the OpenAPI document: 12.0.0
* Contact: api@xero.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppStoreApi = exports.AppStoreApiApiKeys = void 0;
const models_1 = require("../model/appstore/models");
const ApiError_1 = require("../../model/ApiError");
const axios_1 = __importDefault(require("axios"));
const models_2 = require("../model/appstore/models");
let defaultBasePath = 'https://api.xero.com/appstore/2.0';
// ===============================================
// This file is autogenerated - Please do not edit
// ===============================================
var AppStoreApiApiKeys;
(function (AppStoreApiApiKeys) {
})(AppStoreApiApiKeys || (exports.AppStoreApiApiKeys = AppStoreApiApiKeys = {}));
class AppStoreApi {
constructor(basePathOrUsername, password, basePath) {
this._basePath = defaultBasePath;
this.defaultHeaders = { 'user-agent': 'xero-node-15.0.0' };
this._useQuerystring = false;
this.binaryHeaders = {};
this.authentications = {
'default': new models_1.VoidAuth(),
'OAuth2': new models_2.OAuth(),
};
if (password) {
if (basePath) {
this.basePath = basePath;
}
}
else {
if (basePathOrUsername) {
this.basePath = basePathOrUsername;
}
}
}
set useQuerystring(value) {
this._useQuerystring = value;
}
set basePath(basePath) {
this._basePath = basePath;
}
get basePath() {
return this._basePath;
}
setDefaultAuthentication(auth) {
this.authentications.default = auth;
}
setApiKey(key, value) {
this.authentications[AppStoreApiApiKeys[key]].apiKey = value;
}
set accessToken(token) {
this.authentications.OAuth2.accessToken = token;
}
/**
*
* @summary Retrieves a subscription for a given subscriptionId
* @param subscriptionId Unique identifier for Subscription object
*/
getSubscription(subscriptionId_1) {
return __awaiter(this, arguments, void 0, function* (subscriptionId, options = { headers: {} }) {
const localVarPath = this.basePath + '/subscriptions/{subscriptionId}'
.replace('{' + 'subscriptionId' + '}', encodeURIComponent(String(subscriptionId)));
let localVarQueryParameters = {};
let localVarHeaderParams = Object.assign({}, this.defaultHeaders);
let localVarFormParams = {};
let acceptHeadersFromSpec = [
"application/json"
];
const isBufferType = acceptHeadersFromSpec.includes("application/pdf") || acceptHeadersFromSpec.includes("application/octet-stream") || acceptHeadersFromSpec.includes("application/jpg");
const responseTypeOption = isBufferType ? "arraybuffer" : "json";
// verify required parameter 'subscriptionId' is not null or undefined
if (subscriptionId === null || subscriptionId === undefined) {
throw new Error('Required parameter subscriptionId was null or undefined when calling getSubscription.');
}
localVarHeaderParams['Accept'] = acceptHeadersFromSpec.join();
Object.assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let localVarRequestOptions = {
method: 'GET',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
responseType: responseTypeOption,
data: {},
};
let authenticationPromise = Promise.resolve();
authenticationPromise = authenticationPromise.then(() => this.authentications.OAuth2.applyToRequest(localVarRequestOptions));
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
return authenticationPromise.then(() => {
if (Object.keys(localVarFormParams).length) {
if (localVarUseFormData) {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'Content-Type': 'multipart/form-data' });
}
else {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'content-type': 'application/x-www-form-urlencoded' });
}
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let body = null;
try {
const response = yield (0, axios_1.default)(localVarRequestOptions);
body = models_1.ObjectSerializer.deserialize(response.data, "Subscription");
if (response.status && response.status >= 200 && response.status <= 299) {
resolve({ response: response, body: body });
}
else {
reject({ response: response, body: body });
}
}
catch (error) {
const errorResponse = new ApiError_1.ApiError(error);
reject(JSON.stringify(errorResponse.generateError()));
}
}));
});
});
}
/**
*
* @summary Gets all usage records related to the subscription
* @param subscriptionId Unique identifier for Subscription object
*/
getUsageRecords(subscriptionId_1) {
return __awaiter(this, arguments, void 0, function* (subscriptionId, options = { headers: {} }) {
const localVarPath = this.basePath + '/subscriptions/{subscriptionId}/usage-records'
.replace('{' + 'subscriptionId' + '}', encodeURIComponent(String(subscriptionId)));
let localVarQueryParameters = {};
let localVarHeaderParams = Object.assign({}, this.defaultHeaders);
let localVarFormParams = {};
let acceptHeadersFromSpec = [
"application/json"
];
const isBufferType = acceptHeadersFromSpec.includes("application/pdf") || acceptHeadersFromSpec.includes("application/octet-stream") || acceptHeadersFromSpec.includes("application/jpg");
const responseTypeOption = isBufferType ? "arraybuffer" : "json";
// verify required parameter 'subscriptionId' is not null or undefined
if (subscriptionId === null || subscriptionId === undefined) {
throw new Error('Required parameter subscriptionId was null or undefined when calling getUsageRecords.');
}
localVarHeaderParams['Accept'] = acceptHeadersFromSpec.join();
Object.assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let localVarRequestOptions = {
method: 'GET',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
responseType: responseTypeOption,
data: {},
};
let authenticationPromise = Promise.resolve();
authenticationPromise = authenticationPromise.then(() => this.authentications.OAuth2.applyToRequest(localVarRequestOptions));
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
return authenticationPromise.then(() => {
if (Object.keys(localVarFormParams).length) {
if (localVarUseFormData) {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'Content-Type': 'multipart/form-data' });
}
else {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'content-type': 'application/x-www-form-urlencoded' });
}
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let body = null;
try {
const response = yield (0, axios_1.default)(localVarRequestOptions);
body = models_1.ObjectSerializer.deserialize(response.data, "UsageRecordsList");
if (response.status && response.status >= 200 && response.status <= 299) {
resolve({ response: response, body: body });
}
else {
reject({ response: response, body: body });
}
}
catch (error) {
const errorResponse = new ApiError_1.ApiError(error);
reject(JSON.stringify(errorResponse.generateError()));
}
}));
});
});
}
/**
*
* @summary Send metered usage belonging to this subscription and subscription item
* @param subscriptionId Unique identifier for Subscription object
* @param subscriptionItemId The unique identifier of the subscriptionItem
* @param createUsageRecord Contains the quantity for the usage record to create
* @param idempotencyKey This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
*/
postUsageRecords(subscriptionId_1, subscriptionItemId_1, createUsageRecord_1, idempotencyKey_1) {
return __awaiter(this, arguments, void 0, function* (subscriptionId, subscriptionItemId, createUsageRecord, idempotencyKey, options = { headers: {} }) {
const localVarPath = this.basePath + '/subscriptions/{subscriptionId}/items/{subscriptionItemId}/usage-records'
.replace('{' + 'subscriptionId' + '}', encodeURIComponent(String(subscriptionId)))
.replace('{' + 'subscriptionItemId' + '}', encodeURIComponent(String(subscriptionItemId)));
let localVarQueryParameters = {};
let localVarHeaderParams = Object.assign({}, this.defaultHeaders);
let localVarFormParams = {};
let acceptHeadersFromSpec = [
"application/json"
];
const isBufferType = acceptHeadersFromSpec.includes("application/pdf") || acceptHeadersFromSpec.includes("application/octet-stream") || acceptHeadersFromSpec.includes("application/jpg");
const responseTypeOption = isBufferType ? "arraybuffer" : "json";
// verify required parameter 'subscriptionId' is not null or undefined
if (subscriptionId === null || subscriptionId === undefined) {
throw new Error('Required parameter subscriptionId was null or undefined when calling postUsageRecords.');
}
// verify required parameter 'subscriptionItemId' is not null or undefined
if (subscriptionItemId === null || subscriptionItemId === undefined) {
throw new Error('Required parameter subscriptionItemId was null or undefined when calling postUsageRecords.');
}
// verify required parameter 'createUsageRecord' is not null or undefined
if (createUsageRecord === null || createUsageRecord === undefined) {
throw new Error('Required parameter createUsageRecord was null or undefined when calling postUsageRecords.');
}
localVarHeaderParams['Idempotency-Key'] = models_1.ObjectSerializer.serialize(idempotencyKey, "string");
localVarHeaderParams['Accept'] = acceptHeadersFromSpec.join();
Object.assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let localVarRequestOptions = {
method: 'POST',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
responseType: responseTypeOption,
data: models_1.ObjectSerializer.serialize(createUsageRecord, "CreateUsageRecord"),
};
let authenticationPromise = Promise.resolve();
authenticationPromise = authenticationPromise.then(() => this.authentications.OAuth2.applyToRequest(localVarRequestOptions));
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
return authenticationPromise.then(() => {
if (Object.keys(localVarFormParams).length) {
if (localVarUseFormData) {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'Content-Type': 'multipart/form-data' });
}
else {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'content-type': 'application/x-www-form-urlencoded' });
}
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let body = null;
try {
const response = yield (0, axios_1.default)(localVarRequestOptions);
body = models_1.ObjectSerializer.deserialize(response.data, "UsageRecord");
if (response.status && response.status >= 200 && response.status <= 299) {
resolve({ response: response, body: body });
}
else {
reject({ response: response, body: body });
}
}
catch (error) {
const errorResponse = new ApiError_1.ApiError(error);
reject(JSON.stringify(errorResponse.generateError()));
}
}));
});
});
}
/**
*
* @summary Update and existing metered usage belonging to this subscription and subscription item
* @param subscriptionId Unique identifier for Subscription object
* @param subscriptionItemId The unique identifier of the subscriptionItem
* @param usageRecordId The unique identifier of the usage record
* @param updateUsageRecord Contains the quantity for the usage record to update
* @param idempotencyKey This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
*/
putUsageRecords(subscriptionId_1, subscriptionItemId_1, usageRecordId_1, updateUsageRecord_1, idempotencyKey_1) {
return __awaiter(this, arguments, void 0, function* (subscriptionId, subscriptionItemId, usageRecordId, updateUsageRecord, idempotencyKey, options = { headers: {} }) {
const localVarPath = this.basePath + '/subscriptions/{subscriptionId}/items/{subscriptionItemId}/usage-records/{usageRecordId}'
.replace('{' + 'subscriptionId' + '}', encodeURIComponent(String(subscriptionId)))
.replace('{' + 'subscriptionItemId' + '}', encodeURIComponent(String(subscriptionItemId)))
.replace('{' + 'usageRecordId' + '}', encodeURIComponent(String(usageRecordId)));
let localVarQueryParameters = {};
let localVarHeaderParams = Object.assign({}, this.defaultHeaders);
let localVarFormParams = {};
let acceptHeadersFromSpec = [
"application/json"
];
const isBufferType = acceptHeadersFromSpec.includes("application/pdf") || acceptHeadersFromSpec.includes("application/octet-stream") || acceptHeadersFromSpec.includes("application/jpg");
const responseTypeOption = isBufferType ? "arraybuffer" : "json";
// verify required parameter 'subscriptionId' is not null or undefined
if (subscriptionId === null || subscriptionId === undefined) {
throw new Error('Required parameter subscriptionId was null or undefined when calling putUsageRecords.');
}
// verify required parameter 'subscriptionItemId' is not null or undefined
if (subscriptionItemId === null || subscriptionItemId === undefined) {
throw new Error('Required parameter subscriptionItemId was null or undefined when calling putUsageRecords.');
}
// verify required parameter 'usageRecordId' is not null or undefined
if (usageRecordId === null || usageRecordId === undefined) {
throw new Error('Required parameter usageRecordId was null or undefined when calling putUsageRecords.');
}
// verify required parameter 'updateUsageRecord' is not null or undefined
if (updateUsageRecord === null || updateUsageRecord === undefined) {
throw new Error('Required parameter updateUsageRecord was null or undefined when calling putUsageRecords.');
}
localVarHeaderParams['Idempotency-Key'] = models_1.ObjectSerializer.serialize(idempotencyKey, "string");
localVarHeaderParams['Accept'] = acceptHeadersFromSpec.join();
Object.assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let localVarRequestOptions = {
method: 'PUT',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
responseType: responseTypeOption,
data: models_1.ObjectSerializer.serialize(updateUsageRecord, "UpdateUsageRecord"),
};
let authenticationPromise = Promise.resolve();
authenticationPromise = authenticationPromise.then(() => this.authentications.OAuth2.applyToRequest(localVarRequestOptions));
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
return authenticationPromise.then(() => {
if (Object.keys(localVarFormParams).length) {
if (localVarUseFormData) {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'Content-Type': 'multipart/form-data' });
}
else {
localVarRequestOptions.data = localVarFormParams;
localVarRequestOptions.headers = Object.assign(Object.assign({}, localVarRequestOptions.headers), { 'content-type': 'application/x-www-form-urlencoded' });
}
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let body = null;
try {
const response = yield (0, axios_1.default)(localVarRequestOptions);
body = models_1.ObjectSerializer.deserialize(response.data, "UsageRecord");
if (response.status && response.status >= 200 && response.status <= 299) {
resolve({ response: response, body: body });
}
else {
reject({ response: response, body: body });
}
}
catch (error) {
const errorResponse = new ApiError_1.ApiError(error);
reject(JSON.stringify(errorResponse.generateError()));
}
}));
});
});
}
}
exports.AppStoreApi = AppStoreApi;
//# sourceMappingURL=appStoreApi.js.map