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

309 lines (308 loc) 9.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const RestApi_1 = __importDefault(require("../../modules/RestApi")); class Invoices extends RestApi_1.default { /** * @constructor */ constructor(props) { super(props); } /** * This is the root for the invoice endpoint. From here you can navigate to draft and booked invoices, but also to a number of convenience endpoints such as ‘paid’ and ‘overdue’. * * @see https://restdocs.e-conomic.com/#invoices * @returns {Promise<HttpResponse>} * */ get() { const requestObj = { method: "get", url: `/invoices`, }; return this._httpRequest(requestObj); } /** * This endpoint provides you with a collection of draft invoices. * * @see https://restdocs.e-conomic.com/#get-invoices-drafts * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getDrafts(offset = 0, limit = 100) { const requestObj = { method: "get", url: `/invoices/drafts?skippages=${offset}&pagesize=${limit}`, }; return this._httpRequest(requestObj); } /** * This endpoint provides you with the entire document for a specific draft invoice. * * @see https://restdocs.e-conomic.com/#get-invoices-drafts-draftinvoicenumber * @param {number} draftInvoiceNumber * @returns {Promise<HttpResponse>} * */ getDraft(draftInvoiceNumber) { const requestObj = { method: "get", url: `/invoices/drafts/${draftInvoiceNumber}`, }; return this._httpRequest(requestObj); } /** * This returns a collection of all booked invoices. * * @see https://restdocs.e-conomic.com/#get-invoices-booked * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getAllBooked(offset = 0, limit = 100) { const requestObj = { method: "get", url: `/invoices/booked?skippages=${offset}&pagesize=${limit}`, }; return this._httpRequest(requestObj); } /** * This endpoint returns a specific booked invoice. * * @see https://restdocs.e-conomic.com/#get-invoices-booked-bookedinvoicenumber * @param {number} bookedInvoiceNumber * @returns {Promise<HttpResponse>} * */ getBooked(bookedInvoiceNumber) { const requestObj = { method: "get", url: `/invoices/booked/${bookedInvoiceNumber}`, }; return this._httpRequest(requestObj); } /** * Create booked invoices * * @see https://restdocs.e-conomic.com/?javascript#post-invoices-booked * @param {BookedInvoiceRequestData} data * @returns {Promise<HttpResponse>} */ createBookedInvoice(data) { const requestObj = { method: "post", url: `/invoices/booked/`, data: data, }; return this._httpRequest(requestObj); } /** * This returns a collection of all paid invoices. * * @see https://restdocs.e-conomic.com/#get-invoices-paid * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getPaid(offset = 0, limit = 100, queryParams = {}) { const url = `/invoices/paid?skippages=${offset}&pagesize=${limit}` + (queryParams.filter ? `&filter=${encodeURIComponent(queryParams.filter)}` : ""); const requestObj = { method: "get", url, }; return this._httpRequest(requestObj); } /** * This returns a collection of all unpaid invoices * * @see https://restdocs.e-conomic.com/#get-invoices-unpaid * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getUnpaid(offset = 0, limit = 100, queryParams = {}) { const url = `/invoices/unpaid?skippages=${offset}&pagesize=${limit}` + (queryParams.filter ? `&filter=${encodeURIComponent(queryParams.filter)}` : ""); const requestObj = { method: "get", url, }; return this._httpRequest(requestObj); } /** * This returns a collection of all overdue invoices. * * @see https://restdocs.e-conomic.com/#get-invoices-overdue * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getOverdue(offset = 0, limit = 100, queryParams = {}) { const url = `/invoices/overdue?skippages=${offset}&pagesize=${limit}` + (queryParams.filter ? `&filter=${encodeURIComponent(queryParams.filter)}` : ""); const requestObj = { method: "get", url, }; return this._httpRequest(requestObj); } /** * This returns a collection of all not due invoices. * * @see https://restdocs.e-conomic.com/#get-invoices-not-due * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getNotdue(offset = 0, limit = 100, queryParams = {}) { const url = `/invoices/not-due?skippages=${offset}&pagesize=${limit}` + (queryParams.filter ? `&filter=${encodeURIComponent(queryParams.filter)}` : ""); const requestObj = { method: "get", url, }; return this._httpRequest(requestObj); } /** * This endpoint provides you with a collection of all the invoices sent via e-invoicing. * * @see https://restdocs.e-conomic.com/#get-invoices-sent * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} * */ getAllSent(offset = 0, limit = 100) { const requestObj = { method: "get", url: `/invoices/sent?skippages=${offset}&pagesize=${limit}`, }; return this._httpRequest(requestObj); } /** * This endpoint provides you with a single object of the invoice sent via e-invoicing. * * @see https://restdocs.e-conomic.com/#get-invoices-sent-id * * @param {number} id * @returns {Promise<HttpResponse>} * */ getSent(id) { const requestObj = { method: "get", url: `/invoices/sent/${id}`, }; return this._httpRequest(requestObj); } /** * Create a new draft invoice. * @see https://restdocs.e-conomic.com/#post-invoices-drafts * @param {DraftInvoice} draftInvoice * @returns {Promise<HttpResponse<SingleDraftInvoice>>} */ createDraftInvoice(draftInvoice) { const requestObj = { method: "post", url: `/invoices/drafts`, data: draftInvoice, }; return this._httpRequest(requestObj); } /** * Get a collection of order drafts. * @see https://restdocs.e-conomic.com/#get-orders-drafts * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse<InvoiceResponse<DraftInvoice[], Pagination>>>} */ getOrderDrafts(offset = 0, limit = 100) { const requestObj = { method: "get", url: `/orders/drafts?skippages=${offset}&pagesize=${limit}`, }; return this._httpRequest(requestObj); } /** * Get a specific order draft. * @see https://restdocs.e-conomic.com/#get-orders-drafts-draftOrderNumber * @param {number} draftOrderNumber * @returns {Promise<HttpResponse<SingleDraftInvoice>>} */ getOrderDraft(draftOrderNumber) { const requestObj = { method: "get", url: `/orders/drafts/${draftOrderNumber}`, }; return this._httpRequest(requestObj); } /** * Create a new order draft. * @see https://restdocs.e-conomic.com/#post-orders-drafts * @param {DraftInvoice} draftOrder * @returns {Promise<HttpResponse<SingleDraftInvoice>>} */ createOrderDraft(draftOrder) { const requestObj = { method: "post", url: `/orders/drafts`, data: draftOrder, }; return this._httpRequest(requestObj); } /** * Update an existing order draft. * @see https://restdocs.e-conomic.com/#put-orders-drafts-draftOrderNumber * @param {number} draftOrderNumber * @param {DraftInvoice} draftOrder * @returns {Promise<HttpResponse<SingleDraftInvoice>>} */ updateOrderDraft(draftOrderNumber, draftOrder) { const requestObj = { method: "put", url: `/orders/drafts/${draftOrderNumber}`, data: draftOrder, }; return this._httpRequest(requestObj); } /** * Delete an existing order draft. * @see https://restdocs.e-conomic.com/#delete-orders-drafts-draftOrderNumber * @param {number} draftOrderNumber * @returns {Promise<HttpResponse<void>>} */ deleteOrderDraft(draftOrderNumber) { const requestObj = { method: "delete", url: `/orders/drafts/${draftOrderNumber}`, }; return this._httpRequest(requestObj); } } exports.default = Invoices;