Files
dashback/README.md
seb c8f6936aa6 Extend PATCH /category/:id to also move (parentId) alongside rename.
PATCH now accepts name (rename, re-slugify) and/or parentId (move under a
new parent, cycle/self guarded), merging both results. Renames the PATCH
docs file to category/update.md and regenerates API docs.
2026-08-03 03:05:45 +02:00

1.7 KiB

dashback

Backend API for Dash — Google SSO auth, MSSQL allowlist, and session cookies.

Setup

cp .env.example .env
npm install

Configure .env (see .env.example). Required for auth: GOOGLE_CLIENT_ID, JWT_SECRET, and CORS_ORIGINS.

Run

npm start

Default port: 4208.

API

See docs/api for endpoints, auth flow, and frontend integration.

Docs are generated from @openapi JSDoc on route handlers:

npm run docs:api

That writes docs/api/openapi.json and per-route Markdown under docs/api/routes/.

Brands (company-scoped, selectedCompanyId aus der Session)

Methode Route Store-Methode
GET /api/brand brand.list
PUT /api/brand brand.upsert
DELETE /api/brand/:id brand.delete

Artikel-Felder (liefern dasselbe Shape wie GET /api/article/:sku)

Methode Route Store-Methode
PUT /api/article/:sku/eans article.setEansBySku
PUT /api/article/:sku/brand article.setBrandIdBySku
PUT /api/article/:sku/weight article.setWeightBySku
PUT /api/article/:sku/categories article.setCategoryIdsBySku

Kategorien

Methode Route Store-Methode
PATCH /api/category/:id category.rename und/oder category.move (Name+Slug und/oder Verschieben unter neuen Eltern)
PUT /api/category/order category.order (Geschwister-Sortierung unter einem Elternteil)
POST /api/category/:id/move category.move (Kategorie unter neues Elternteil verschieben)

Users

Manage the email allowlist:

npm run manage-users