From d151bb5fe36c9e3e592b13f24806fafafa68678b Mon Sep 17 00:00:00 2001 From: seb Date: Fri, 30 Oct 2026 01:42:19 +0100 Subject: [PATCH] u --- docs/api/routes/events.md | 2 +- src/api/routes/company.js | 10 ++++++++++ src/api/routes/events.js | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/api/routes/events.md b/docs/api/routes/events.md index 8800602..31a236d 100644 --- a/docs/api/routes/events.md +++ b/docs/api/routes/events.md @@ -40,7 +40,7 @@ emits `{ sender, brandId }`. | `category` | `{}` | `POST /category`, `PATCH /category/{id}`, `PUT /category/order`, `DELETE /category/{id}`, `POST /category/{id}/image`, `DELETE /category/{id}/image`, `PUT /category/{id}/property` | | `articles` | `{}` | `POST /article`, `PATCH /article/{sku}`, `DELETE /article/{sku}`, `PUT /article/{sku}/articles`-style list-level changes, `POST /category/{id}/article` and related article-assigning category mutations | | `article-` | `{}` | `PUT /article/{sku}/weight`, `PUT /article/{sku}/prices`, `PUT /article/{sku}/eans`, `PUT /article/{sku}/categories`, `PUT /article/{sku}/brand`, `PUT /article/{sku}/images/order`, `POST /article/{sku}/image`, `DELETE /article/{sku}/image/{fullHash}`, supplier/article-property mutations affecting the article | -| `stock` | `{}` | `POST /stock/adjust` | +| `stock` | `{}` | `POST /stock/adjust`, `POST /company/import` (also `category`, `articles`, `brand`, `attributename`, `warehouse`, `carrier`, `order`, `shipment`, `ledger`) | | `ledger` | `{}` | `POST /stock/adjust` | | `attributename` | `{}` | `POST /attributename`, `PUT /attributename/order`, `PATCH /attributename/{id}`, `DELETE /attributename/{id}` | | `propertyname` | `{}` | `POST /propertyname`, `PUT /propertyname/order`, `PATCH /propertyname/{id}`, `DELETE /propertyname/{id}` | diff --git a/src/api/routes/company.js b/src/api/routes/company.js index 671615b..511ad91 100644 --- a/src/api/routes/company.js +++ b/src/api/routes/company.js @@ -466,6 +466,15 @@ export function register(app, basePath = '') { // #region POST /company/import const activeImportsByCompany = new Set(); + /** Signals for data the catalog import may create/modify (emitted even after a failed, partially applied run). */ + const IMPORT_SIGNALS = ['category', 'articles', 'brand', 'attributename', 'warehouse', 'carrier', 'order', 'shipment', 'stock', 'ledger']; + const emitImportSignals = (companyId) => { + for (const signal of IMPORT_SIGNALS) { + emit(signal, signal === 'brand' + ? { companyId, data: { sender: '', brandId: null } } + : { companyId }); + } + }; app.post( `${basePath}/company/import`, @@ -637,6 +646,7 @@ export function register(app, basePath = '') { } } finally { activeImportsByCompany.delete(companyId); + emitImportSignals(companyId); } } ); diff --git a/src/api/routes/events.js b/src/api/routes/events.js index 68967bd..52b274a 100644 --- a/src/api/routes/events.js +++ b/src/api/routes/events.js @@ -49,7 +49,7 @@ export function register(app, basePath = '') { * | `category` | `{}` | `POST /category`, `PATCH /category/{id}`, `PUT /category/order`, `DELETE /category/{id}`, `POST /category/{id}/image`, `DELETE /category/{id}/image`, `PUT /category/{id}/property` | * | `articles` | `{}` | `POST /article`, `PATCH /article/{sku}`, `DELETE /article/{sku}`, `PUT /article/{sku}/articles`-style list-level changes, `POST /category/{id}/article` and related article-assigning category mutations | * | `article-` | `{}` | `PUT /article/{sku}/weight`, `PUT /article/{sku}/prices`, `PUT /article/{sku}/eans`, `PUT /article/{sku}/categories`, `PUT /article/{sku}/brand`, `PUT /article/{sku}/images/order`, `POST /article/{sku}/image`, `DELETE /article/{sku}/image/{fullHash}`, supplier/article-property mutations affecting the article | - * | `stock` | `{}` | `POST /stock/adjust` | + * | `stock` | `{}` | `POST /stock/adjust`, `POST /company/import` (also `category`, `articles`, `brand`, `attributename`, `warehouse`, `carrier`, `order`, `shipment`, `ledger`) | * | `ledger` | `{}` | `POST /stock/adjust` | * | `attributename` | `{}` | `POST /attributename`, `PUT /attributename/order`, `PATCH /attributename/{id}`, `DELETE /attributename/{id}` | * | `propertyname` | `{}` | `POST /propertyname`, `PUT /propertyname/order`, `PATCH /propertyname/{id}`, `DELETE /propertyname/{id}` |