@phasesdk/api-client-for-economic
Version:
e-conomic REST API Library for Node.js is a powerful tool designed to simplify integration with the e-conomic platform for developers building Node.js applications. With this library, developers can effortlessly leverage the full functionality of the e-co
200 lines (199 loc) • 7.39 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntryType = void 0;
const RestApi_1 = __importDefault(require("../../modules/RestApi"));
// Enums for entry types to improve type safety
var EntryType;
(function (EntryType) {
EntryType["FinanceVoucher"] = "financeVoucher";
EntryType["SupplierInvoice"] = "supplierInvoice";
EntryType["SupplierPayment"] = "supplierPayment";
EntryType["CustomerPayment"] = "customerPayment";
EntryType["ManualCustomerInvoice"] = "manualCustomerInvoice";
})(EntryType || (exports.EntryType = EntryType = {}));
class Journals extends RestApi_1.default {
/**
* @constructor
*/
constructor(props) {
super(props);
}
/**
* Root for the journal endpoint.
*
* @see https://restdocs.e-conomic.com/#get-journals
* @returns {Promise<HttpResponse>}
*
*/
getJournals(offset = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/journals?skippages=${offset}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Root for the journal endpoint.
*
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber
*
*/
getJournalNumber(journalNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Root for the voucher endpoint.
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-vouchers
* @returns {Promise<HttpResponse>}
*
*/
getVouchers(journalNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/vouchers?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Create vouchers
* @see https://restdocs.e-conomic.com/#post-journals-journalnumber-vouchers
* @returns {Promise<HttpResponse<CreateVoucher>>}
*/
createVoucher(journalNumber, voucher) {
const requestObj = {
method: "post",
url: `/journals/${journalNumber}/vouchers`,
data: voucher,
};
return this._httpRequest(requestObj);
}
/**
* Get voucher number
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-vouchers-accountingyear-vouchernumber
* @returns {Promise<HttpResponse<VoucherNumber>>}
*/
getVoucherNumber(journalNumber, voucherNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/vouchers/${voucherNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Get number of pages available on the document.
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-vouchers-accountingyear-vouchernumber-attachment
* @returns {Promise<HttpResponse<Attachment>>}
*/
getAttachment(journalNumber, voucherNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/vouchers/${voucherNumber}/attachment`,
};
return this._httpRequest(requestObj);
}
/**
* Get the file attachment for the given voucher
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-vouchers-accountingyear-vouchernumber-attachment-file
* @returns {Promise<HttpResponse<any>>}
*/
getAttachedFile(journalNumber, voucherNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/vouchers/${voucherNumber}/attachment/file`,
};
return this._httpRequest(requestObj);
}
/**
* Attaching a document to the voucher
* @see https://restdocs.e-conomic.com/#post-journals-journalnumber-vouchers-accountingyear-vouchernumber-attachment-file
* @returns {Promise<HttpResponse<any>>}
*/
attachFile(journalNumber, voucherNumber) {
const requestObj = {
method: "post",
url: `/journals/${journalNumber}/vouchers/${voucherNumber}/attachment/file`,
};
return this._httpRequest(requestObj);
}
/**
* Attach more pages to the file, that is associated with the voucher.
* @see https://restdocs.e-conomic.com/#patch-journals-journalnumber-vouchers-accountingyear-vouchernumber-attachment-file
* @returns {Promise<HttpResponse<any>>}
*/
attachFiles(journalNumber, voucherNumber) {
const requestObj = {
method: "patch",
url: `/journals/${journalNumber}/vouchers/${voucherNumber}/attachment/file`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a collection of all entries in the journal
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-entries
* @returns {Promise<HttpResponse>}
*
*/
getEntries(journalNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/entries?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
/**
* Get entry number
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-entries-entrynumber
* @returns {Promise<HttpResponse<EntryNumber>>}
*/
getEntryNumber(journalNumber, entryNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/entries/${entryNumber}`,
};
return this._httpRequest(requestObj);
}
/**
* Returns the templates available for journal entries.
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-templates
* @returns {Promise<HttpResponse<JournalTemplate>>}
*/
getJournalTemplate(journalNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/templates`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a template that sets the boilerplate for a finance voucher entry
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-templates-financevoucher
* @returns {Promise<HttpResponse<FinanceVoucherTemplate>>}
*/
getFinanceVoucherTemplate(journalNumber) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/templates/financeVoucher`,
};
return this._httpRequest(requestObj);
}
/**
* Returns a template that sets the boilerplate for a manual customer invoice
* @see https://restdocs.e-conomic.com/#get-journals-journalnumber-templates-financevoucher
* @returns {Promise<HttpResponse<ManualCustomerInvoiceTemplate[]>>}
*/
getManualCustomerInvoiceTemplates(journalNumber, skipPages = 0, limit = 100) {
const requestObj = {
method: "get",
url: `/journals/${journalNumber}/templates/manualCustomerInvoice?skippages=${skipPages}&pagesize=${limit}`,
};
return this._httpRequest(requestObj);
}
}
exports.default = Journals;