xero-node
Version:
Xero NodeJS OAuth 2.0 client for xero-node
580 lines (579 loc) • 24.8 kB
JavaScript
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./account"));
__export(require("./accountType"));
__export(require("./accounts"));
__export(require("./accountsPayable"));
__export(require("./accountsReceivable"));
__export(require("./address"));
__export(require("./allocation"));
__export(require("./allocations"));
__export(require("./attachment"));
__export(require("./attachments"));
__export(require("./balances"));
__export(require("./bankTransaction"));
__export(require("./bankTransactions"));
__export(require("./bankTransfer"));
__export(require("./bankTransfers"));
__export(require("./batchPayment"));
__export(require("./batchPaymentDetails"));
__export(require("./batchPayments"));
__export(require("./bill"));
__export(require("./brandingTheme"));
__export(require("./brandingThemes"));
__export(require("./cISOrgSetting"));
__export(require("./cISSetting"));
__export(require("./cISSettings"));
__export(require("./contact"));
__export(require("./contactGroup"));
__export(require("./contactGroups"));
__export(require("./contactPerson"));
__export(require("./contacts"));
__export(require("./countryCode"));
__export(require("./creditNote"));
__export(require("./creditNotes"));
__export(require("./currencies"));
__export(require("./currency"));
__export(require("./currencyCode"));
__export(require("./element"));
__export(require("./employee"));
__export(require("./employees"));
__export(require("./expenseClaim"));
__export(require("./expenseClaims"));
__export(require("./externalLink"));
__export(require("./historyRecord"));
__export(require("./historyRecords"));
__export(require("./invoice"));
__export(require("./invoiceReminder"));
__export(require("./invoiceReminders"));
__export(require("./invoices"));
__export(require("./item"));
__export(require("./items"));
__export(require("./journal"));
__export(require("./journalLine"));
__export(require("./journals"));
__export(require("./lineAmountTypes"));
__export(require("./lineItem"));
__export(require("./lineItemTracking"));
__export(require("./linkedTransaction"));
__export(require("./linkedTransactions"));
__export(require("./manualJournal"));
__export(require("./manualJournalLine"));
__export(require("./manualJournals"));
__export(require("./modelError"));
__export(require("./onlineInvoice"));
__export(require("./onlineInvoices"));
__export(require("./organisation"));
__export(require("./organisations"));
__export(require("./overpayment"));
__export(require("./overpayments"));
__export(require("./payment"));
__export(require("./paymentService"));
__export(require("./paymentServices"));
__export(require("./paymentTerm"));
__export(require("./paymentTermType"));
__export(require("./payments"));
__export(require("./phone"));
__export(require("./prepayment"));
__export(require("./prepayments"));
__export(require("./purchase"));
__export(require("./purchaseOrder"));
__export(require("./purchaseOrders"));
__export(require("./quote"));
__export(require("./quoteStatusCodes"));
__export(require("./quotes"));
__export(require("./receipt"));
__export(require("./receipts"));
__export(require("./repeatingInvoice"));
__export(require("./repeatingInvoices"));
__export(require("./report"));
__export(require("./reportAttribute"));
__export(require("./reportCell"));
__export(require("./reportFields"));
__export(require("./reportRow"));
__export(require("./reportRows"));
__export(require("./reportWithRow"));
__export(require("./reportWithRows"));
__export(require("./reports"));
__export(require("./requestEmpty"));
__export(require("./rowType"));
__export(require("./salesTrackingCategory"));
__export(require("./schedule"));
__export(require("./taxComponent"));
__export(require("./taxRate"));
__export(require("./taxRates"));
__export(require("./taxType"));
__export(require("./tenNinteyNineContact"));
__export(require("./timeZone"));
__export(require("./trackingCategories"));
__export(require("./trackingCategory"));
__export(require("./trackingOption"));
__export(require("./trackingOptions"));
__export(require("./user"));
__export(require("./users"));
__export(require("./validationError"));
var account_1 = require("./account");
var accountType_1 = require("./accountType");
var accounts_1 = require("./accounts");
var accountsPayable_1 = require("./accountsPayable");
var accountsReceivable_1 = require("./accountsReceivable");
var address_1 = require("./address");
var allocation_1 = require("./allocation");
var allocations_1 = require("./allocations");
var attachment_1 = require("./attachment");
var attachments_1 = require("./attachments");
var balances_1 = require("./balances");
var bankTransaction_1 = require("./bankTransaction");
var bankTransactions_1 = require("./bankTransactions");
var bankTransfer_1 = require("./bankTransfer");
var bankTransfers_1 = require("./bankTransfers");
var batchPayment_1 = require("./batchPayment");
var batchPaymentDetails_1 = require("./batchPaymentDetails");
var batchPayments_1 = require("./batchPayments");
var bill_1 = require("./bill");
var brandingTheme_1 = require("./brandingTheme");
var brandingThemes_1 = require("./brandingThemes");
var cISOrgSetting_1 = require("./cISOrgSetting");
var cISSetting_1 = require("./cISSetting");
var cISSettings_1 = require("./cISSettings");
var contact_1 = require("./contact");
var contactGroup_1 = require("./contactGroup");
var contactGroups_1 = require("./contactGroups");
var contactPerson_1 = require("./contactPerson");
var contacts_1 = require("./contacts");
var countryCode_1 = require("./countryCode");
var creditNote_1 = require("./creditNote");
var creditNotes_1 = require("./creditNotes");
var currencies_1 = require("./currencies");
var currency_1 = require("./currency");
var currencyCode_1 = require("./currencyCode");
var element_1 = require("./element");
var employee_1 = require("./employee");
var employees_1 = require("./employees");
var expenseClaim_1 = require("./expenseClaim");
var expenseClaims_1 = require("./expenseClaims");
var externalLink_1 = require("./externalLink");
var historyRecord_1 = require("./historyRecord");
var historyRecords_1 = require("./historyRecords");
var invoice_1 = require("./invoice");
var invoiceReminder_1 = require("./invoiceReminder");
var invoiceReminders_1 = require("./invoiceReminders");
var invoices_1 = require("./invoices");
var item_1 = require("./item");
var items_1 = require("./items");
var journal_1 = require("./journal");
var journalLine_1 = require("./journalLine");
var journals_1 = require("./journals");
var lineAmountTypes_1 = require("./lineAmountTypes");
var lineItem_1 = require("./lineItem");
var lineItemTracking_1 = require("./lineItemTracking");
var linkedTransaction_1 = require("./linkedTransaction");
var linkedTransactions_1 = require("./linkedTransactions");
var manualJournal_1 = require("./manualJournal");
var manualJournalLine_1 = require("./manualJournalLine");
var manualJournals_1 = require("./manualJournals");
var modelError_1 = require("./modelError");
var onlineInvoice_1 = require("./onlineInvoice");
var onlineInvoices_1 = require("./onlineInvoices");
var organisation_1 = require("./organisation");
var organisations_1 = require("./organisations");
var overpayment_1 = require("./overpayment");
var overpayments_1 = require("./overpayments");
var payment_1 = require("./payment");
var paymentService_1 = require("./paymentService");
var paymentServices_1 = require("./paymentServices");
var paymentTerm_1 = require("./paymentTerm");
var paymentTermType_1 = require("./paymentTermType");
var payments_1 = require("./payments");
var phone_1 = require("./phone");
var prepayment_1 = require("./prepayment");
var prepayments_1 = require("./prepayments");
var purchase_1 = require("./purchase");
var purchaseOrder_1 = require("./purchaseOrder");
var purchaseOrders_1 = require("./purchaseOrders");
var quote_1 = require("./quote");
var quoteStatusCodes_1 = require("./quoteStatusCodes");
var quotes_1 = require("./quotes");
var receipt_1 = require("./receipt");
var receipts_1 = require("./receipts");
var repeatingInvoice_1 = require("./repeatingInvoice");
var repeatingInvoices_1 = require("./repeatingInvoices");
var report_1 = require("./report");
var reportAttribute_1 = require("./reportAttribute");
var reportCell_1 = require("./reportCell");
var reportFields_1 = require("./reportFields");
var reportRow_1 = require("./reportRow");
var reportRows_1 = require("./reportRows");
var reportWithRow_1 = require("./reportWithRow");
var reportWithRows_1 = require("./reportWithRows");
var reports_1 = require("./reports");
var requestEmpty_1 = require("./requestEmpty");
var rowType_1 = require("./rowType");
var salesTrackingCategory_1 = require("./salesTrackingCategory");
var schedule_1 = require("./schedule");
var taxComponent_1 = require("./taxComponent");
var taxRate_1 = require("./taxRate");
var taxRates_1 = require("./taxRates");
var taxType_1 = require("./taxType");
var tenNinteyNineContact_1 = require("./tenNinteyNineContact");
var timeZone_1 = require("./timeZone");
var trackingCategories_1 = require("./trackingCategories");
var trackingCategory_1 = require("./trackingCategory");
var trackingOption_1 = require("./trackingOption");
var trackingOptions_1 = require("./trackingOptions");
var user_1 = require("./user");
var users_1 = require("./users");
var validationError_1 = require("./validationError");
/* tslint:disable:no-unused-variable */
var primitives = [
"string",
"boolean",
"double",
"integer",
"long",
"float",
"number",
"any"
];
var enumsMap = {
"Account.StatusEnum": account_1.Account.StatusEnum,
"Account.BankAccountTypeEnum": account_1.Account.BankAccountTypeEnum,
"Account.ClassEnum": account_1.Account.ClassEnum,
"Account.SystemAccountEnum": account_1.Account.SystemAccountEnum,
"AccountType": accountType_1.AccountType,
"Address.AddressTypeEnum": address_1.Address.AddressTypeEnum,
"BankTransaction.TypeEnum": bankTransaction_1.BankTransaction.TypeEnum,
"BankTransaction.StatusEnum": bankTransaction_1.BankTransaction.StatusEnum,
"BatchPayment.TypeEnum": batchPayment_1.BatchPayment.TypeEnum,
"BrandingTheme.TypeEnum": brandingTheme_1.BrandingTheme.TypeEnum,
"Contact.ContactStatusEnum": contact_1.Contact.ContactStatusEnum,
"ContactGroup.StatusEnum": contactGroup_1.ContactGroup.StatusEnum,
"CountryCode": countryCode_1.CountryCode,
"CreditNote.TypeEnum": creditNote_1.CreditNote.TypeEnum,
"CreditNote.StatusEnum": creditNote_1.CreditNote.StatusEnum,
"CurrencyCode": currencyCode_1.CurrencyCode,
"Employee.StatusEnum": employee_1.Employee.StatusEnum,
"ExpenseClaim.StatusEnum": expenseClaim_1.ExpenseClaim.StatusEnum,
"ExternalLink.LinkTypeEnum": externalLink_1.ExternalLink.LinkTypeEnum,
"Invoice.TypeEnum": invoice_1.Invoice.TypeEnum,
"Invoice.StatusEnum": invoice_1.Invoice.StatusEnum,
"Journal.SourceTypeEnum": journal_1.Journal.SourceTypeEnum,
"LineAmountTypes": lineAmountTypes_1.LineAmountTypes,
"LinkedTransaction.StatusEnum": linkedTransaction_1.LinkedTransaction.StatusEnum,
"LinkedTransaction.TypeEnum": linkedTransaction_1.LinkedTransaction.TypeEnum,
"LinkedTransaction.SourceTransactionTypeCodeEnum": linkedTransaction_1.LinkedTransaction.SourceTransactionTypeCodeEnum,
"ManualJournal.StatusEnum": manualJournal_1.ManualJournal.StatusEnum,
"Organisation.VersionEnum": organisation_1.Organisation.VersionEnum,
"Organisation.OrganisationTypeEnum": organisation_1.Organisation.OrganisationTypeEnum,
"Organisation.SalesTaxBasisEnum": organisation_1.Organisation.SalesTaxBasisEnum,
"Organisation.SalesTaxPeriodEnum": organisation_1.Organisation.SalesTaxPeriodEnum,
"Organisation.OrganisationEntityTypeEnum": organisation_1.Organisation.OrganisationEntityTypeEnum,
"Organisation.ClassEnum": organisation_1.Organisation.ClassEnum,
"Organisation.EditionEnum": organisation_1.Organisation.EditionEnum,
"Overpayment.TypeEnum": overpayment_1.Overpayment.TypeEnum,
"Overpayment.StatusEnum": overpayment_1.Overpayment.StatusEnum,
"Payment.StatusEnum": payment_1.Payment.StatusEnum,
"Payment.PaymentTypeEnum": payment_1.Payment.PaymentTypeEnum,
"PaymentTermType": paymentTermType_1.PaymentTermType,
"Phone.PhoneTypeEnum": phone_1.Phone.PhoneTypeEnum,
"Prepayment.TypeEnum": prepayment_1.Prepayment.TypeEnum,
"Prepayment.StatusEnum": prepayment_1.Prepayment.StatusEnum,
"PurchaseOrder.StatusEnum": purchaseOrder_1.PurchaseOrder.StatusEnum,
"QuoteStatusCodes": quoteStatusCodes_1.QuoteStatusCodes,
"Receipt.StatusEnum": receipt_1.Receipt.StatusEnum,
"RepeatingInvoice.TypeEnum": repeatingInvoice_1.RepeatingInvoice.TypeEnum,
"RepeatingInvoice.StatusEnum": repeatingInvoice_1.RepeatingInvoice.StatusEnum,
"Report.ReportTypeEnum": report_1.Report.ReportTypeEnum,
"RowType": rowType_1.RowType,
"Schedule.UnitEnum": schedule_1.Schedule.UnitEnum,
"Schedule.DueDateTypeEnum": schedule_1.Schedule.DueDateTypeEnum,
"TaxRate.StatusEnum": taxRate_1.TaxRate.StatusEnum,
"TaxRate.ReportTaxTypeEnum": taxRate_1.TaxRate.ReportTaxTypeEnum,
"TaxType": taxType_1.TaxType,
"TimeZone": timeZone_1.TimeZone,
"TrackingCategory.StatusEnum": trackingCategory_1.TrackingCategory.StatusEnum,
"TrackingOption.StatusEnum": trackingOption_1.TrackingOption.StatusEnum,
"User.OrganisationRoleEnum": user_1.User.OrganisationRoleEnum,
};
var typeMap = {
"Account": account_1.Account,
"Accounts": accounts_1.Accounts,
"AccountsPayable": accountsPayable_1.AccountsPayable,
"AccountsReceivable": accountsReceivable_1.AccountsReceivable,
"Address": address_1.Address,
"Allocation": allocation_1.Allocation,
"Allocations": allocations_1.Allocations,
"Attachment": attachment_1.Attachment,
"Attachments": attachments_1.Attachments,
"Balances": balances_1.Balances,
"BankTransaction": bankTransaction_1.BankTransaction,
"BankTransactions": bankTransactions_1.BankTransactions,
"BankTransfer": bankTransfer_1.BankTransfer,
"BankTransfers": bankTransfers_1.BankTransfers,
"BatchPayment": batchPayment_1.BatchPayment,
"BatchPaymentDetails": batchPaymentDetails_1.BatchPaymentDetails,
"BatchPayments": batchPayments_1.BatchPayments,
"Bill": bill_1.Bill,
"BrandingTheme": brandingTheme_1.BrandingTheme,
"BrandingThemes": brandingThemes_1.BrandingThemes,
"CISOrgSetting": cISOrgSetting_1.CISOrgSetting,
"CISSetting": cISSetting_1.CISSetting,
"CISSettings": cISSettings_1.CISSettings,
"Contact": contact_1.Contact,
"ContactGroup": contactGroup_1.ContactGroup,
"ContactGroups": contactGroups_1.ContactGroups,
"ContactPerson": contactPerson_1.ContactPerson,
"Contacts": contacts_1.Contacts,
"CreditNote": creditNote_1.CreditNote,
"CreditNotes": creditNotes_1.CreditNotes,
"Currencies": currencies_1.Currencies,
"Currency": currency_1.Currency,
"Element": element_1.Element,
"Employee": employee_1.Employee,
"Employees": employees_1.Employees,
"ExpenseClaim": expenseClaim_1.ExpenseClaim,
"ExpenseClaims": expenseClaims_1.ExpenseClaims,
"ExternalLink": externalLink_1.ExternalLink,
"HistoryRecord": historyRecord_1.HistoryRecord,
"HistoryRecords": historyRecords_1.HistoryRecords,
"Invoice": invoice_1.Invoice,
"InvoiceReminder": invoiceReminder_1.InvoiceReminder,
"InvoiceReminders": invoiceReminders_1.InvoiceReminders,
"Invoices": invoices_1.Invoices,
"Item": item_1.Item,
"Items": items_1.Items,
"Journal": journal_1.Journal,
"JournalLine": journalLine_1.JournalLine,
"Journals": journals_1.Journals,
"LineItem": lineItem_1.LineItem,
"LineItemTracking": lineItemTracking_1.LineItemTracking,
"LinkedTransaction": linkedTransaction_1.LinkedTransaction,
"LinkedTransactions": linkedTransactions_1.LinkedTransactions,
"ManualJournal": manualJournal_1.ManualJournal,
"ManualJournalLine": manualJournalLine_1.ManualJournalLine,
"ManualJournals": manualJournals_1.ManualJournals,
"ModelError": modelError_1.ModelError,
"OnlineInvoice": onlineInvoice_1.OnlineInvoice,
"OnlineInvoices": onlineInvoices_1.OnlineInvoices,
"Organisation": organisation_1.Organisation,
"Organisations": organisations_1.Organisations,
"Overpayment": overpayment_1.Overpayment,
"Overpayments": overpayments_1.Overpayments,
"Payment": payment_1.Payment,
"PaymentService": paymentService_1.PaymentService,
"PaymentServices": paymentServices_1.PaymentServices,
"PaymentTerm": paymentTerm_1.PaymentTerm,
"Payments": payments_1.Payments,
"Phone": phone_1.Phone,
"Prepayment": prepayment_1.Prepayment,
"Prepayments": prepayments_1.Prepayments,
"Purchase": purchase_1.Purchase,
"PurchaseOrder": purchaseOrder_1.PurchaseOrder,
"PurchaseOrders": purchaseOrders_1.PurchaseOrders,
"Quote": quote_1.Quote,
"Quotes": quotes_1.Quotes,
"Receipt": receipt_1.Receipt,
"Receipts": receipts_1.Receipts,
"RepeatingInvoice": repeatingInvoice_1.RepeatingInvoice,
"RepeatingInvoices": repeatingInvoices_1.RepeatingInvoices,
"Report": report_1.Report,
"ReportAttribute": reportAttribute_1.ReportAttribute,
"ReportCell": reportCell_1.ReportCell,
"ReportFields": reportFields_1.ReportFields,
"ReportRow": reportRow_1.ReportRow,
"ReportRows": reportRows_1.ReportRows,
"ReportWithRow": reportWithRow_1.ReportWithRow,
"ReportWithRows": reportWithRows_1.ReportWithRows,
"Reports": reports_1.Reports,
"RequestEmpty": requestEmpty_1.RequestEmpty,
"SalesTrackingCategory": salesTrackingCategory_1.SalesTrackingCategory,
"Schedule": schedule_1.Schedule,
"TaxComponent": taxComponent_1.TaxComponent,
"TaxRate": taxRate_1.TaxRate,
"TaxRates": taxRates_1.TaxRates,
"TenNinteyNineContact": tenNinteyNineContact_1.TenNinteyNineContact,
"TrackingCategories": trackingCategories_1.TrackingCategories,
"TrackingCategory": trackingCategory_1.TrackingCategory,
"TrackingOption": trackingOption_1.TrackingOption,
"TrackingOptions": trackingOptions_1.TrackingOptions,
"User": user_1.User,
"Users": users_1.Users,
"ValidationError": validationError_1.ValidationError,
};
var ObjectSerializer = /** @class */ (function () {
function ObjectSerializer() {
}
ObjectSerializer.findCorrectType = function (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
var 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)
}
}
}
};
ObjectSerializer.serialize = function (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
var subType = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
var transformedData = [];
for (var index in data) {
var date = data[index];
transformedData.push(ObjectSerializer.serialize(date, subType));
}
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.
var attributeTypes = typeMap[type].getAttributeTypeMap();
var instance = {};
for (var index in attributeTypes) {
var attributeType = attributeTypes[index];
instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type);
}
return instance;
}
};
ObjectSerializer.deserialize = function (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) {
return data;
}
else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
var subType = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
var transformedData = [];
for (var index in data) {
var date = data[index];
transformedData.push(ObjectSerializer.deserialize(date, subType));
}
return transformedData;
}
else if (type === "Date") {
return new Date(data);
}
else {
if (enumsMap[type]) { // is Enum
return data;
}
if (!typeMap[type]) { // dont know the type
return data;
}
var instance = new typeMap[type]();
var attributeTypes = typeMap[type].getAttributeTypeMap();
for (var index in attributeTypes) {
var attributeType = attributeTypes[index];
instance[attributeType.name] = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type);
}
return instance;
}
};
return ObjectSerializer;
}());
exports.ObjectSerializer = ObjectSerializer;
var HttpBasicAuth = /** @class */ (function () {
function HttpBasicAuth() {
this.username = '';
this.password = '';
}
HttpBasicAuth.prototype.applyToRequest = function (requestOptions) {
requestOptions.auth = {
username: this.username, password: this.password
};
};
return HttpBasicAuth;
}());
exports.HttpBasicAuth = HttpBasicAuth;
var ApiKeyAuth = /** @class */ (function () {
function ApiKeyAuth(location, paramName) {
this.location = location;
this.paramName = paramName;
this.apiKey = '';
}
ApiKeyAuth.prototype.applyToRequest = function (requestOptions) {
if (this.location == "query") {
requestOptions.qs[this.paramName] = this.apiKey;
}
else if (this.location == "header" && requestOptions && requestOptions.headers) {
requestOptions.headers[this.paramName] = this.apiKey;
}
};
return ApiKeyAuth;
}());
exports.ApiKeyAuth = ApiKeyAuth;
var OAuth = /** @class */ (function () {
function OAuth() {
this.accessToken = '';
}
OAuth.prototype.applyToRequest = function (requestOptions) {
if (requestOptions && requestOptions.headers) {
requestOptions.headers["Authorization"] = "Bearer " + this.accessToken;
}
};
return OAuth;
}());
exports.OAuth = OAuth;
var VoidAuth = /** @class */ (function () {
function VoidAuth() {
this.username = '';
this.password = '';
}
VoidAuth.prototype.applyToRequest = function (_) {
// Do nothing
};
return VoidAuth;
}());
exports.VoidAuth = VoidAuth;