UNPKG

@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
"use strict"; 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;