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

154 lines (153 loc) 4.28 kB
import { HttpResponse } from "../../types/Http.type"; import RestApi from "../RestApi"; import { AuthToken } from "../../types/Economic.type"; import { EconomicResponse, Pagination } from "../../types/Economic.type"; import { Layout } from "./Layouts"; import { PaymentTerms } from "./PaymentTerms"; import { VatZone } from "./Vatzone"; export type CostAccount = { accountNumber: number; self: string; }; export type RemittanceAdvice = { creditorId: string; paymentType: { paymentTypeNumber: number; self: string; }; }; export type SalesPerson = { employeeNumber: number; self: string; }; export type SupplierContact = { supplierContactNumber: number; self: string; }; export type SupplierGroup = { supplierGroupNumber: number; self: string; }; export type Supplier = { authToken: any; address: string; attention: Attention; bankAccount: string; barred: boolean; city: string; contacts: string; corporateIdentificationNumber: string; costAccount: CostAccount; country: string; currency: string; defaultInvoiceText: string; email: string; layout: Layout; name: string; paymentTerms: PaymentTerms; phone: string; remittanceAdvice: RemittanceAdvice; salesPerson: SalesPerson; self: string; supplierContact: SupplierContact; supplierGroup: SupplierGroup; supplierNumber: number; vatZone: VatZone; website: string; zip: string; }; export type SupplierInfo = Pick<Supplier, "supplierNumber" | "self">; export type Attention = { customerContactNumber: number; self: string; }; export type CreateSupplier = { address: string; attention: Attention; bankAccount: string; barred: boolean; city: string; contacts: string; corporateIdentificationNumber: string; costAccount: { accountNumber: number; }; country: string; currency: string; defaultInvoiceText: string; email: string; layout: { layoutNumber: number; }; name: string; paymentTerms: { paymentTermsNumber: number; }; phone: string; remittanceAdvice: { creditorId: string; paymentType: { paymentTypeNumber: number; }; }; salesPerson: { employeeNumber: number; }; supplierContact: { supplierContactNumber: number; }; supplierGroup: { supplierGroupNumber: number; }; vatZone: { vatZoneNumber: number; }; website: string; zip: string; }; export type UpdateSupplier = Partial<CreateSupplier>; export default class Suppliers extends RestApi { /** * @constructor */ constructor(props: AuthToken); getUrl(): string; /** * Get collection of suppliers. * @see https://restdocs.e-conomic.com/#get-suppliers * * @param {number} offset * @param {number} limit * @returns {Promise<HttpResponse>} */ get(skipPages?: number, limit?: number): Promise<HttpResponse<EconomicResponse<Supplier[], Pagination, any>>>; /** * Get a specific supplier. * @see https://restdocs.e-conomic.com/#get-suppliers-suppliernumber * @param {number} supplierNumber * @returns {Promise<HttpResponse>} */ getFor(supplierNumber: number): Promise<HttpResponse<Supplier>>; /** * Create a new supplier. * @see https://restdocs.e-conomic.com/#post-suppliers * @param {CreateSupplier} supplier * @returns {Promise<HttpResponse<Supplier>>} */ createSupplier(supplier: CreateSupplier): Promise<HttpResponse<Supplier>>; /** * Update an existing supplier. * @see https://restdocs.e-conomic.com/#put-suppliers-suppliernumber * @param {number} supplierNumber * @param {UpdateSupplier} supplier * @returns {Promise<HttpResponse<Supplier>>} */ updateSupplier(supplierNumber: number, supplier: UpdateSupplier): Promise<HttpResponse<Supplier>>; /** * Delete an existing supplier. * @see https://restdocs.e-conomic.com/#delete-suppliers-suppliernumber * @param {number} supplierNumber * @returns {Promise<HttpResponse<void>>} */ deleteSupplier(supplierNumber: number): Promise<HttpResponse<void>>; }