446f465a485d418226f6843b1179feb0ad2e4856
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/routes.md, docs/api/routes-all.md, and per-route Markdown under docs/api/routes/. There is no generated openapi.json on disk — the interactive Swagger UI at /docs/ builds the spec from the same @openapi JSDoc at runtime (src/api/openapiSpec.js).
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) |
Public Product Catalog (ohne Auth, company-scoped)
| Methode | Route | Beschreibung |
|---|---|---|
GET |
/api/public/:companyId/categories |
Liefert den Kategoriebaum der Firma |
GET |
/api/public/:companyId/articles |
Liefert paginierte Artikelliste (optional gefiltert nach ?categoryId=, ?search=) |
GET |
/api/public/:companyId/articles/:sku |
Liefert öffentliche Artikeldetails (Preise, Bilder, Kategorien, EANs, Varianten) |
Users
Manage the email allowlist:
npm run manage-users
Description
Languages
JavaScript
98.4%
CSS
1.1%
HTML
0.4%