Files
dashlibstorage/API.md

18 KiB

LibDashStore API

This document is auto-generated from the JSDoc comments in src/store by running npm run api-doc.

The store is exposed as a LibDashStore instance (see src/index.js). Each method is an async function that takes a pool (mssql connection pool) at construction time and returns a callable function. Methods are grouped by the namespace they are exposed under.

Table of Contents

  • companyuser
    • add(companyId: number, googleAuthId: number): Promise<number>
    • delete(id: number): Promise<void>
    • getByEmail(email: string): Promise<Array<number>>
  • company
    • create(input: {iso639: string, name: string, taxrate: number, reducedtaxrate: number, googleAuthId: number}): Promise<{id: number, rootCategoryId: number, languageId: number, taxrateId: number, reducedtaxrateId: number, taxfreerateId: number, posCustomerGroupId: number}>
    • delete(companyId: number): Promise<void>
    • getById(id: number, tx?: object): Promise<object|undefined>
    • getByName(name: string, tx?: object): Promise<object|undefined>
    • list(googleAuthId: number): Promise<Array<object>>
    • update(id: number, input: {iso639: string, name: string, taxrate: number, reducedtaxrate: number}): Promise<{id: number, rootCategoryId: number, languageId: number, taxrateId: number, reducedtaxrateId: number, taxfreerateId: number}>
  • category
    • addImage(googleAuthId: number, categoryId: number, image: Buffer): Promise<{id: number, fullHash: string, thumbW: number, thumbH: number, thumbHash: string}>
    • createUnderParent(input: {googleAuthId: number, parentId: number, name: string}): Promise<{id: number, parentId: number, sort: number, name: string, slug: string}>
    • delete(input: {googleAuthId: number, id: number}): Promise<void>
    • deleteImage(googleAuthId: number, categoryId: number): Promise<{id: number, thumbW: null, thumbH: null, thumbHash: null}>
    • ensureByPath(input: {googleAuthId: number, parentId: number, path: string}, tx?: object): Promise<number>
    • getCategoryArticles(googleAuthId: number, categoryId: number): Promise<Array<object>>
    • getTreeForCompany(googleAuthId: number): Promise<{languageId: number, tree: Array<object>, articles: Array<object>}>
    • move(input: {googleAuthId: number, id: number, parentId: number}): Promise<{id: number, parentId: number, sort: number}>
    • order(input: {googleAuthId: number, parentId: number, categoryIds: Array<number>}): Promise<{categoryIds: Array<number>}>
    • rename(input: {googleAuthId: number, id: number, name: string}): Promise<{id: number, name: string, slug: string}>
  • article
    • addImage(googleAuthId: number, sku: string, image: Buffer): Promise<{picId: number, sort: number, full: {w: number, h: number, size: number}, thumb: {w: number, h: number}, fullHash: string, thumbHash: string}>
    • createUnderParent(input: {googleAuthId: number, parentId: number, name: string}): Promise<{id: number, parentId: number, name: string, sku: string}>
    • delete(googleAuthId: number, sku: string): Promise<void>
    • deleteImage(googleAuthId: number, sku: string, fullHash: string): Promise<void>
    • getBySku(googleAuthId: number, sku: string): Promise<{article: object}>
    • getHistoryBySku(googleAuthId: number, sku: string): Promise<Array<{id: number, companyuserId: number|null, date: string, text: string}>>
    • importRows(input: {googleAuthId: number, rows: Array<object>}): Promise<{imported: Array<object>, skipped: Array<object>, errors: Array<object>}>
    • listExport(googleAuthId: number, categoryId?: number|null): Promise<Array<object>>
    • listSearchIndex(googleAuthId: number): Promise<Array<{id: number, sku: string, name: string, eans: Array<string>, categoryIds: Array<number>}>>
    • orderImages(googleAuthId: number, sku: string, input: {fullHashes: Array<string>}): Promise<{fullHashes: Array<string>}>
    • setBrandIdBySku(googleAuthId: number, sku: string, brandId: number|null): Promise<object>
    • setCategoryIdsBySku(googleAuthId: number, sku: string, categoryIds: Array<number>): Promise<object>
    • setEansBySku(googleAuthId: number, sku: string, eans: Array<string>): Promise<object>
    • setFatherBySku(googleAuthId: number, sku: string, fatherSku: string|null): Promise<object>
    • setPricesBySku(googleAuthId: number, sku: string, prices: Array<{price: number, tax: number, minmultiplier?: number}>): Promise<object>
    • setWeightBySku(googleAuthId: number, sku: string, weight: number): Promise<object>
    • updateBySku(googleAuthId: number, sku: string, patch: {name?: string, unitSi?: string, unitamount?: number}): Promise<object>
  • lang
    • create(iso639: string, tx?: object): Promise<number>
    • delete(id: number): Promise<void>
    • ensure(iso639: string, tx?: object): Promise<number>
    • getByIso639(iso639: string, tx?: object): Promise<{id: number, iso639: string}>
    • list(): Promise<Array<{id: number, iso639: string}>>
  • tax
    • create(rate: number, tx?: object): Promise<number>
    • ensure(rate: number, tx?: object): Promise<number>
    • getByRate(rate: number, tx?: object): Promise<{id: number, rate: number}>
    • list(): Promise<Array<{id: number, rate: number}>>
  • unit
    • delete(googleAuthId: number, si: string): Promise<void>
    • list(googleAuthId: number): Promise<Array<{id: number, si: string, basesi: string, basesifactor: number, symbol: string, name: string}>>
    • upsert(googleAuthId: number, input: {si: string, basesi: string, basesifactor: number, symbol: string, name: string}): Promise<{id: number, si: string, basesi: string, basesifactor: number, symbol: string, name: string}>
  • companysetting
    • get(googleAuthId: number, key: string, options?: {frontendOnly?: boolean, maskWriteonly?: boolean}): Promise<{key: string, value: string, frontend: boolean, writeonly: boolean}|undefined>
    • list(googleAuthId: number, options?: {frontendOnly?: boolean, maskWriteonly?: boolean}): Promise<Array<{key: string, value: string, frontend: boolean, writeonly: boolean}>>
    • set(googleAuthId: number, input: {key: string, value: string, frontend?: boolean, writeonly?: boolean}): Promise<{key: string, value: string, frontend: boolean, writeonly: boolean}>
  • brand
    • delete(googleAuthId: number, id: number): Promise<void>
    • list(googleAuthId: number): Promise<Array<{id: number, name: string, gsprpinfo: string|null}>>
    • upsert(googleAuthId: number, input: {name: string, gsprpinfo?: string}): Promise<{id: number, name: string, gsprpinfo: string|null}>
  • customergroup
    • create(googleAuthId: number, input: {name: string}): Promise<{id: number, name: string, sort: number}>
    • delete(googleAuthId: number, id: number): Promise<void>
    • list(googleAuthId: number): Promise<Array<{id: number, name: string, sort: number}>>
    • order(googleAuthId: number, input: {customergroupIds: Array<number>}): Promise<{customergroupIds: Array<number>}>
    • update(googleAuthId: number, id: number, input: {name: string}): Promise<{id: number, name: string, sort: number}>
  • entity
    • create(googleAuthId: number, input: {customergroupId: number, name: string, firstName?: string, number?: string}): Promise<{id: number, customergroupId: number, firstName: string|null, name: string, number: string, createdAt: string, updatedAt: string}>
    • delete(googleAuthId: number, id: number): Promise<void>
    • getById(googleAuthId: number, id: number): Promise<{id: number, customergroupId: number, firstName: string|null, name: string, number: string, createdAt: string, updatedAt: string}>
    • isNumberFree(googleAuthId: number, number: string, options?: {excludeEntityId?: number}): Promise<boolean>
    • list(googleAuthId: number, options?: {customergroupId?: number, role?: string}): Promise<Array<{id: number, customergroupId: number, firstName: string|null, name: string, number: string, createdAt: string, updatedAt: string}>>
    • peekNextNumber(googleAuthId: number): Promise<string>
    • update(googleAuthId: number, id: number, patch: {name?: string, firstName?: string, number?: string}): Promise<{id: number, customergroupId: number, firstName: string|null, name: string, number: string, createdAt: string, updatedAt: string}>
  • entityaddress
    • create(googleAuthId: number, entityId: number, input: {addressType: string, firstName?: string, name?: string, street?: string, streetNumber?: string, zip?: string, city?: string, county?: string, sort?: number}): Promise<{id: number, entityId: number, firstName: string|null, name: string|null, street: string|null, streetNumber: string|null, zip: string|null, city: string|null, county: string|null, addressType: string, sort: number}>
    • delete(googleAuthId: number, entityId: number, id: number): Promise<void>
    • list(googleAuthId: number, entityId: number): Promise<Array<{id: number, entityId: number, firstName: string|null, name: string|null, street: string|null, streetNumber: string|null, zip: string|null, city: string|null, county: string|null, addressType: string, sort: number}>>
    • update(googleAuthId: number, entityId: number, id: number, patch: {addressType?: string, firstName?: string, name?: string, street?: string, streetNumber?: string, zip?: string, city?: string, county?: string, sort?: number}): Promise<{id: number, entityId: number, firstName: string|null, name: string|null, street: string|null, streetNumber: string|null, zip: string|null, city: string|null, county: string|null, addressType: string, sort: number}>
  • entitycontact
    • create(googleAuthId: number, entityId: number, input: {contactType: string, contact: string, sort?: number}): Promise<{id: number, entityId: number, contactType: string, contact: string, sort: number}>
    • delete(googleAuthId: number, entityId: number, id: number): Promise<void>
    • list(googleAuthId: number, entityId: number): Promise<Array<{id: number, entityId: number, contactType: string, contact: string, sort: number}>>
    • update(googleAuthId: number, entityId: number, id: number, patch: object): Promise<{id: number, entityId: number, contactType: string, contact: string, sort: number}>
  • supplier
    • create(googleAuthId: number, input: {name: string}): Promise<{id: number, name: string, createdAt: string, updatedAt: string}>
    • delete(googleAuthId: number, id: number): Promise<void>
    • list(googleAuthId: number): Promise<Array<{id: number, name: string, createdAt: string, updatedAt: string}>>
    • update(googleAuthId: number, id: number, input: {name: string}): Promise<{id: number, name: string, createdAt: string, updatedAt: string}>
  • delivery
    • create(googleAuthId: number, body: {date: string, supplierId: number, externalNumber?: string, lines?: Array<{sku?: string, name?: string, pu?: number, amount: number, net: number, rebate?: number, taxrate: number, comment?: string|null}>}): Promise<{id: number, number: string, type: string, entityId: number, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
    • delete(googleAuthId: number, id: number): Promise<void>
    • getById(googleAuthId: number, id: number): Promise<{id: number, number: string, type: string, entityId: number, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
    • list(googleAuthId: number): Promise<Array<{id: number, number: string, type: string, entityId: number, externalNumber: string|null, date: string}>>
    • update(googleAuthId: number, id: number, patch: {number?: string, date?: string, supplierId?: number, externalNumber?: string, lines?: Array<{sku?: string, name?: string, pu?: number, amount: number, net: number, rebate?: number, taxrate: number, comment?: string|null}>}): Promise<{id: number, number: string, type: string, entityId: number, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
  • quote
    • create(googleAuthId: number, body: {number: string, date: string, entityId?: number, externalNumber?: string, lines?: Array<{sku?: string, name?: string, pu?: number, amount: number, net: number, rebate?: number, taxrate: number, comment?: string|null}>}): Promise<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
    • delete(googleAuthId: number, id: number): Promise<void>
    • getById(googleAuthId: number, id: number): Promise<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
    • list(googleAuthId: number): Promise<Array<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string}>>
    • update(googleAuthId: number, id: number, patch: {number?: string, date?: string, entityId?: number, externalNumber?: string, lines?: Array<{sku?: string, name?: string, pu?: number, amount: number, net: number, rebate?: number, taxrate: number, comment?: string|null}>}): Promise<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
  • order
    • create(googleAuthId: number, body: {number: string, date: string, entityId?: number, externalNumber?: string, lines?: Array<{sku?: string, name?: string, pu?: number, amount: number, net: number, rebate?: number, taxrate: number, comment?: string|null}>}): Promise<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
    • delete(googleAuthId: number, id: number): Promise<void>
    • getById(googleAuthId: number, id: number): Promise<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
    • list(googleAuthId: number): Promise<Array<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string}>>
    • update(googleAuthId: number, id: number, patch: {number?: string, date?: string, entityId?: number, externalNumber?: string, lines?: Array<{sku?: string, name?: string, pu?: number, amount: number, net: number, rebate?: number, taxrate: number, comment?: string|null}>}): Promise<{id: number, number: string, type: string, entityId: number|null, externalNumber: string|null, date: string, lines: Array<{id: number, sku: string|null, name: string|null, pu: number, amount: number, net: number, rebate: number, taxrate: number, comment: string|null}>}>
  • manifestattachment
    • add(googleAuthId: number, manifestId: number, input: {mimetype: string, name: string, content: Buffer}): Promise<{id: number, manifestId: number, fileId: number, mimetype: string, name: string}>
    • getById(googleAuthId: number, manifestId: number, id: number): Promise<{id: number, manifestId: number, fileId: number, mimetype: string, name: string, content: Buffer}>
    • listByManifestId(googleAuthId: number, manifestId: number): Promise<Array<{id: number, manifestId: number, fileId: number, mimetype: string, name: string, size: number}>>
    • remove(googleAuthId: number, manifestId: number, id: number): Promise<void>
  • posterminal
    • delete(googleAuthId: number, id: number): Promise<void>
    • list(googleAuthId: number): Promise<Array<{id: number, name: string, token: string, pairingpin: string}>>
    • setOff(googleAuthId: number, posterminalId: number, categoryId: number): Promise<{id: number, categoryIds: Array<number>}>
    • setOffAll(googleAuthId: number, posterminalId: number): Promise<{id: number, categoryIds: Array<number>}>
    • setOn(googleAuthId: number, posterminalId: number, categoryId: number): Promise<{id: number, categoryIds: Array<number>}>
    • setOnAll(googleAuthId: number, posterminalId: number): Promise<{id: number, categoryIds: Array<number>}>
    • upsert(googleAuthId: number, input: {name: string, pairingpin: string, token?: string, id?: number}): Promise<{id: number, name: string, token: string, pairingpin: string}>
  • google_auth
    • add(email: string): Promise<number>
    • getByEmail(email: string): Promise<object|undefined>
    • getById(googleAuthId: number): Promise<object|undefined>
    • listAllowedEmails(): Promise<Array<{id: number, email: string}>>
    • removeAllowedEmail(email: string): Promise<void>
    • setProfile(googleAuthId: number, input: {picture?: string, pictureBinary?: Buffer, sub?: string}): Promise<void>
    • setSelectedCompany(googleAuthId: number, companyId: number): Promise<void>
  • pic
    • getImageByHash(googleAuthId: number, fullHash: string): Promise<{buffer: Buffer, w: number, h: number, size: number, contentType: string}>
    • getThumbByHash(googleAuthId: number, fullHash: string): Promise<{buffer: Buffer, w: number, h: number, contentType: string}>
  • numbers
    • list(googleAuthId: number): Promise<Array<{id: number, type: string, prefix: string, padding: number, next: number}>>
    • update(googleAuthId: number, id: number, input: {prefix?: string, padding?: number, next?: number}): Promise<{id: number, type: string, prefix: string, padding: number, next: number}>