Entity gets an optional unique-per-company number with allocate/peek/isNumberFree helpers. Company-scoped store methods no longer take companyId and resolve google_auth.selected_company instead.
4.1 KiB
article
This document is auto-generated from the JSDoc comments in src/store by running npm run api-doc.
article.addImage
Source: src/store/article/addImage.js
Adds an image to an article by its SKU, processing it into AVIF variants.
const fn = addImage(pool);
const result = await fn(42, 'SKU-1', imageBuffer);
// => { picId, sort, full: { w, h, size }, thumb: { w, h }, fullHash, thumbHash }
article.createUnderParent
Source: src/store/article/createUnderParent.js
Creates a new article under a given parent category, allocating a SKU and a default unit.
const fn = createUnderParent(pool);
const article = await fn({ googleAuthId: 42, parentId: 5, name: 'Cola' });
// => { id, parentId, name, sku }
article.delete
Source: src/store/article/delete.js
Deletes an article by its SKU, refusing when it still has children.
const fn = del(pool);
await fn(42, 'SKU-1');
article.deleteImage
Source: src/store/article/deleteImage.js
Deletes an image from an article by its SKU and full image hash.
const fn = deleteImage(pool);
await fn(42, 'SKU-1', 'abc123');
article.getBySku
Source: src/store/article/getBySku.js
Returns the full detail of an article by its SKU, including unit, brand, categories, photos, EANs and prices.
const fn = getBySku(pool);
const article = await fn(42, 'SKU-1');
// => { article: { id, sku, name, unit, brand, categoryIds, photos, eans, prices, ... } }
article.getHistoryBySku
Source: src/store/article/getHistoryBySku.js
Returns the change history of an article by its SKU.
const fn = getHistoryBySku(pool);
const history = await fn(42, 'SKU-1');
// => [{ id, companyuserId, date, text }]
article.listExport
Source: src/store/article/listExport.js
Returns articles for export, optionally scoped to a category, including category breadcrumbs and image hashes.
const fn = listExport(pool);
const articles = await fn(42, null);
// => [{ id, sku, name, slug, unitSi, net, taxRate, eans, categoryBreadcrumbs, fullHashes, ... }]
article.listSearchIndex
Source: src/store/article/listSearchIndex.js
Returns a lightweight search index of all articles for a company.
const fn = listSearchIndex(pool);
const articles = await fn(42);
// => [{ id, sku, name, eans, categoryIds }]
article.orderImages
Source: src/store/article/orderImages.js
Reorders the images of an article by its SKU.
const fn = orderImages(pool);
const result = await fn(42, 'SKU-1', { fullHashes: ['a', 'b'] });
// => { fullHashes: ['a', 'b'] }
article.setBrandIdBySku
Source: src/store/article/setBrandIdBySku.js
Sets (or clears) the brand of an article by its SKU.
const fn = setBrandIdBySku(pool);
const article = await fn(42, 'SKU-1', 3);
// => { id, sku, name, ... }
article.setCategoryIdsBySku
Source: src/store/article/setCategoryIdsBySku.js
Replaces the category membership of an article by its SKU.
const fn = setCategoryIdsBySku(pool);
const article = await fn(42, 'SKU-1', [5, 9]);
// => { id, sku, name, ... }
article.setEansBySku
Source: src/store/article/setEansBySku.js
Replaces the EAN list of an article by its SKU.
const fn = setEansBySku(pool);
const article = await fn(42, 'SKU-1', ['4001234567890']);
// => { id, sku, name, ... }
article.setPricesBySku
Source: src/store/article/setPricesBySku.js
Replaces the price list of an article by its SKU.
const fn = setPricesBySku(pool);
const article = await fn(42, 'SKU-1', [{ price: 1.5, tax: 19, minmultiplier: 1 }]);
// => { id, sku, name, ... }
article.setWeightBySku
Source: src/store/article/setWeightBySku.js
Sets the weight of an article by its SKU.
const fn = setWeightBySku(pool);
const article = await fn(42, 'SKU-1', 1.5);
// => { id, sku, name, ... }
article.updateBySku
Source: src/store/article/updateBySku.js
Updates an article's name and/or unit (SI and amount), recording history.
const fn = updateBySku(pool);
const article = await fn(42, 'SKU-1', { name: 'Cola 1L', unitSi: 'l', unitamount: 1 });
// => { id, sku, name, ... }