xero-node
Version:
Xero NodeJS OAuth 2.0 client for xero-node
351 lines • 16.1 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.VoidAuth = exports.OAuth = exports.ApiKeyAuth = exports.HttpBasicAuth = exports.ObjectSerializer = void 0;
__exportStar(require("././balanceSheetAccountDetail"), exports);
__exportStar(require("././balanceSheetAccountGroup"), exports);
__exportStar(require("././balanceSheetAccountType"), exports);
__exportStar(require("././balanceSheetResponse"), exports);
__exportStar(require("././bankStatementAccountingResponse"), exports);
__exportStar(require("././bankStatementResponse"), exports);
__exportStar(require("././bankTransactionResponse"), exports);
__exportStar(require("././cashAccountResponse"), exports);
__exportStar(require("././cashBalance"), exports);
__exportStar(require("././cashValidationResponse"), exports);
__exportStar(require("././cashflowAccount"), exports);
__exportStar(require("././cashflowActivity"), exports);
__exportStar(require("././cashflowResponse"), exports);
__exportStar(require("././cashflowType"), exports);
__exportStar(require("././contactDetail"), exports);
__exportStar(require("././contactResponse"), exports);
__exportStar(require("././contactTotalDetail"), exports);
__exportStar(require("././contactTotalOther"), exports);
__exportStar(require("././creditNoteResponse"), exports);
__exportStar(require("././currentStatementResponse"), exports);
__exportStar(require("././dataSourceResponse"), exports);
__exportStar(require("././incomeByContactResponse"), exports);
__exportStar(require("././invoiceResponse"), exports);
__exportStar(require("././lineItemResponse"), exports);
__exportStar(require("././manualJournalTotal"), exports);
__exportStar(require("././overpaymentResponse"), exports);
__exportStar(require("././paymentResponse"), exports);
__exportStar(require("././pnlAccount"), exports);
__exportStar(require("././pnlAccountClass"), exports);
__exportStar(require("././pnlAccountType"), exports);
__exportStar(require("././prepaymentResponse"), exports);
__exportStar(require("././problem"), exports);
__exportStar(require("././problemType"), exports);
__exportStar(require("././profitAndLossResponse"), exports);
__exportStar(require("././statementBalanceResponse"), exports);
__exportStar(require("././statementLineResponse"), exports);
__exportStar(require("././statementLinesResponse"), exports);
__exportStar(require("././statementResponse"), exports);
__exportStar(require("././totalDetail"), exports);
__exportStar(require("././totalOther"), exports);
__exportStar(require("././trialBalanceAccount"), exports);
__exportStar(require("././trialBalanceEntry"), exports);
__exportStar(require("././trialBalanceMovement"), exports);
__exportStar(require("././trialBalanceResponse"), exports);
const balanceSheetAccountDetail_1 = require("././balanceSheetAccountDetail");
const balanceSheetAccountGroup_1 = require("././balanceSheetAccountGroup");
const balanceSheetAccountType_1 = require("././balanceSheetAccountType");
const balanceSheetResponse_1 = require("././balanceSheetResponse");
const bankStatementAccountingResponse_1 = require("././bankStatementAccountingResponse");
const bankStatementResponse_1 = require("././bankStatementResponse");
const bankTransactionResponse_1 = require("././bankTransactionResponse");
const cashAccountResponse_1 = require("././cashAccountResponse");
const cashBalance_1 = require("././cashBalance");
const cashValidationResponse_1 = require("././cashValidationResponse");
const cashflowAccount_1 = require("././cashflowAccount");
const cashflowActivity_1 = require("././cashflowActivity");
const cashflowResponse_1 = require("././cashflowResponse");
const cashflowType_1 = require("././cashflowType");
const contactDetail_1 = require("././contactDetail");
const contactResponse_1 = require("././contactResponse");
const contactTotalDetail_1 = require("././contactTotalDetail");
const contactTotalOther_1 = require("././contactTotalOther");
const creditNoteResponse_1 = require("././creditNoteResponse");
const currentStatementResponse_1 = require("././currentStatementResponse");
const dataSourceResponse_1 = require("././dataSourceResponse");
const incomeByContactResponse_1 = require("././incomeByContactResponse");
const invoiceResponse_1 = require("././invoiceResponse");
const lineItemResponse_1 = require("././lineItemResponse");
const manualJournalTotal_1 = require("././manualJournalTotal");
const overpaymentResponse_1 = require("././overpaymentResponse");
const paymentResponse_1 = require("././paymentResponse");
const pnlAccount_1 = require("././pnlAccount");
const pnlAccountClass_1 = require("././pnlAccountClass");
const pnlAccountType_1 = require("././pnlAccountType");
const prepaymentResponse_1 = require("././prepaymentResponse");
const problem_1 = require("././problem");
const problemType_1 = require("././problemType");
const profitAndLossResponse_1 = require("././profitAndLossResponse");
const statementBalanceResponse_1 = require("././statementBalanceResponse");
const statementLineResponse_1 = require("././statementLineResponse");
const statementLinesResponse_1 = require("././statementLinesResponse");
const statementResponse_1 = require("././statementResponse");
const totalDetail_1 = require("././totalDetail");
const totalOther_1 = require("././totalOther");
const trialBalanceAccount_1 = require("././trialBalanceAccount");
const trialBalanceEntry_1 = require("././trialBalanceEntry");
const trialBalanceMovement_1 = require("././trialBalanceMovement");
const trialBalanceResponse_1 = require("././trialBalanceResponse");
/* tslint:disable:no-unused-variable */
let primitives = [
"string",
"boolean",
"double",
"integer",
"long",
"float",
"number",
"any"
];
let enumsMap = {
"ProblemType": problemType_1.ProblemType,
};
let typeMap = {
"BalanceSheetAccountDetail": balanceSheetAccountDetail_1.BalanceSheetAccountDetail,
"BalanceSheetAccountGroup": balanceSheetAccountGroup_1.BalanceSheetAccountGroup,
"BalanceSheetAccountType": balanceSheetAccountType_1.BalanceSheetAccountType,
"BalanceSheetResponse": balanceSheetResponse_1.BalanceSheetResponse,
"BankStatementAccountingResponse": bankStatementAccountingResponse_1.BankStatementAccountingResponse,
"BankStatementResponse": bankStatementResponse_1.BankStatementResponse,
"BankTransactionResponse": bankTransactionResponse_1.BankTransactionResponse,
"CashAccountResponse": cashAccountResponse_1.CashAccountResponse,
"CashBalance": cashBalance_1.CashBalance,
"CashValidationResponse": cashValidationResponse_1.CashValidationResponse,
"CashflowAccount": cashflowAccount_1.CashflowAccount,
"CashflowActivity": cashflowActivity_1.CashflowActivity,
"CashflowResponse": cashflowResponse_1.CashflowResponse,
"CashflowType": cashflowType_1.CashflowType,
"ContactDetail": contactDetail_1.ContactDetail,
"ContactResponse": contactResponse_1.ContactResponse,
"ContactTotalDetail": contactTotalDetail_1.ContactTotalDetail,
"ContactTotalOther": contactTotalOther_1.ContactTotalOther,
"CreditNoteResponse": creditNoteResponse_1.CreditNoteResponse,
"CurrentStatementResponse": currentStatementResponse_1.CurrentStatementResponse,
"DataSourceResponse": dataSourceResponse_1.DataSourceResponse,
"IncomeByContactResponse": incomeByContactResponse_1.IncomeByContactResponse,
"InvoiceResponse": invoiceResponse_1.InvoiceResponse,
"LineItemResponse": lineItemResponse_1.LineItemResponse,
"ManualJournalTotal": manualJournalTotal_1.ManualJournalTotal,
"OverpaymentResponse": overpaymentResponse_1.OverpaymentResponse,
"PaymentResponse": paymentResponse_1.PaymentResponse,
"PnlAccount": pnlAccount_1.PnlAccount,
"PnlAccountClass": pnlAccountClass_1.PnlAccountClass,
"PnlAccountType": pnlAccountType_1.PnlAccountType,
"PrepaymentResponse": prepaymentResponse_1.PrepaymentResponse,
"Problem": problem_1.Problem,
"ProfitAndLossResponse": profitAndLossResponse_1.ProfitAndLossResponse,
"StatementBalanceResponse": statementBalanceResponse_1.StatementBalanceResponse,
"StatementLineResponse": statementLineResponse_1.StatementLineResponse,
"StatementLinesResponse": statementLinesResponse_1.StatementLinesResponse,
"StatementResponse": statementResponse_1.StatementResponse,
"TotalDetail": totalDetail_1.TotalDetail,
"TotalOther": totalOther_1.TotalOther,
"TrialBalanceAccount": trialBalanceAccount_1.TrialBalanceAccount,
"TrialBalanceEntry": trialBalanceEntry_1.TrialBalanceEntry,
"TrialBalanceMovement": trialBalanceMovement_1.TrialBalanceMovement,
"TrialBalanceResponse": trialBalanceResponse_1.TrialBalanceResponse,
};
class ObjectSerializer {
static findCorrectType(data, expectedType) {
if (data == undefined) {
return expectedType;
}
else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) {
return expectedType;
}
else if (expectedType === "Date") {
return expectedType;
}
else {
if (enumsMap[expectedType]) {
return expectedType;
}
if (!typeMap[expectedType]) {
return expectedType; // w/e we don't know the type
}
// Check the discriminator
let discriminatorProperty = typeMap[expectedType].discriminator;
if (discriminatorProperty == null) {
return expectedType; // the type does not have a discriminator. use it.
}
else {
if (data[discriminatorProperty]) {
var discriminatorType = data[discriminatorProperty];
if (typeMap[discriminatorType]) {
return discriminatorType; // use the type given in the discriminator
}
else {
return expectedType; // discriminator did not map to a type
}
}
else {
return expectedType; // discriminator was not present (or an empty string)
}
}
}
}
static serialize(data, type) {
if (data == undefined) {
return data;
}
else if (primitives.indexOf(type.toLowerCase()) !== -1) {
return data;
}
else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
let subType = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
let transformedData = [];
for (let [index, date] of Object.entries(data)) {
transformedData.push(ObjectSerializer.serialize(date, subType));
}
if (subType === 'string') {
return transformedData.join(',');
}
else {
return transformedData;
}
}
else if (type === "Date") {
return data.toISOString();
}
else {
if (enumsMap[type]) {
return data;
}
if (!typeMap[type]) { // in case we dont know the type
return data;
}
// Get the actual type of this object
type = this.findCorrectType(data, type);
// get the map for the correct type.
let attributeTypes = typeMap[type].getAttributeTypeMap();
let instance = {};
for (let [index, attributeType] of Object.entries(attributeTypes)) {
instance[attributeType['baseName']] = ObjectSerializer.serialize(data[attributeType['name']], attributeType['type']);
}
return instance;
}
}
static deserializeDateFormats(type, data) {
const isDate = new Date(data);
if (isNaN(isDate.getTime())) {
const re = /-?\d+/;
const m = re.exec(data);
return new Date(parseInt(m[0], 10));
}
else {
return isDate;
}
}
static deserialize(data, type) {
// polymorphism may change the actual type.
type = ObjectSerializer.findCorrectType(data, type);
if (data == undefined) {
return data;
}
else if (primitives.indexOf(type.toLowerCase()) !== -1) {
if (type === "string" && data.toString().substring(0, 6) === "/Date(") {
return this.deserializeDateFormats(type, data); // For MS dates that are of type 'string'
}
else {
return data;
}
}
else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
let subType = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
let transformedData = [];
// Asset API returns string even for Array<Model>
const dataFormatted = typeof data == 'string' ? JSON.parse(data) : data;
for (let [index, currentData] of Object.entries(dataFormatted)) {
transformedData.push(ObjectSerializer.deserialize(currentData, subType));
}
return transformedData;
}
else if (type === "Date") {
return this.deserializeDateFormats(type, data);
}
else {
if (enumsMap[type]) { // is Enum
return data;
}
if (!typeMap[type]) { // dont know the type
return data;
}
let instance = new typeMap[type]();
let attributeTypes = typeMap[type].getAttributeTypeMap();
for (let [index, attributeType] of Object.entries(attributeTypes)) {
instance[attributeType['name']] = ObjectSerializer.deserialize(data[attributeType['baseName']], attributeType['type']);
}
return instance;
}
}
}
exports.ObjectSerializer = ObjectSerializer;
class HttpBasicAuth {
constructor() {
this.username = '';
this.password = '';
}
applyToRequest(requestOptions) {
requestOptions.auth = {
username: this.username, password: this.password
};
}
}
exports.HttpBasicAuth = HttpBasicAuth;
class ApiKeyAuth {
constructor(location, paramName) {
this.location = location;
this.paramName = paramName;
this.apiKey = '';
}
applyToRequest(requestOptions) {
if (this.location == "query") {
requestOptions.params[this.paramName] = this.apiKey;
}
else if (this.location == "header" && requestOptions && requestOptions.headers) {
requestOptions.headers[this.paramName] = this.apiKey;
}
}
}
exports.ApiKeyAuth = ApiKeyAuth;
class OAuth {
constructor() {
this.accessToken = '';
}
applyToRequest(requestOptions) {
if (requestOptions && requestOptions.headers) {
requestOptions.headers["Authorization"] = "Bearer " + this.accessToken;
}
}
}
exports.OAuth = OAuth;
class VoidAuth {
constructor() {
this.username = '';
this.password = '';
}
applyToRequest(_) {
// Do nothing
}
}
exports.VoidAuth = VoidAuth;
//# sourceMappingURL=models.js.map