seb
1860f38640
Add delivery and supplier HTTP APIs with expanded response docs.
...
Wire store-backed CRUD for goods receipts and suppliers, and teach the API doc generator to expand $ref/allOf/array samples so route markdown shows full JSON shapes.
2026-08-06 05:32:48 +02:00
seb
a748bd5f5c
u
2026-08-05 20:15:31 +02:00
seb
fc2b136c46
Store Google avatar bytes and slim the session JWT to id only.
...
Download profile images on login into picturebinary, return them as base64 from /auth/me, and resolve sessions via getById.
2026-08-05 11:12:36 +02:00
seb
c78237a1dd
Persist Google picture and sub on login via setProfile.
...
Store profile fields from the verified ID token and read picture from the DB on authenticated requests.
2026-08-05 11:04:44 +02:00
seb
782c49a680
Add article history by SKU and SSE update signals for live clients.
...
Expose getHistoryBySku as GET /article/:sku/history, and document mutation-emitted company signals via GET /events.
2026-08-05 09:54:56 +02:00
seb
4a9403bfd1
export
2026-08-04 01:24:19 +02:00
seb
c6cb1bc229
feat: add article search index endpoint and category export.zip
...
- Add GET /api/articleIndex returning the article search index (listSearchIndex)
- Add GET /api/category/export.zip returning a kategorien.zip with a
Windows-1252 CSV (depth-first, Ebene N columns) plus one AVIF per category image
(content-addressed, deduplicated) using jszip
2026-08-04 00:30:32 +02:00
seb
bfcb073e32
fix: unwrap double-nested article response in GET /api/article/:sku
2026-08-03 08:38:26 +02:00
seb
a3f8ff0e93
feat: add category image upload/delete endpoints
...
- POST /category/:id/image - upload AVIF image for a category
- DELETE /category/:id/image - remove category image
- Returns { category: { id, fullHash, thumbW, thumbH, thumbHash } }
- Full image stored as-is when AVIF ≤1000x1000, otherwise scaled
- Thumb always scaled to max 200x200
2026-08-03 07:38:38 +02:00
seb
c8f8dd3d54
typo
2026-08-03 06:45:00 +02:00
seb
a4b78ad6d5
feat: add posterminal API endpoints
...
- Add posterminal to STORE_NAMESPACES for timing wrappers
- Create db/posterminal.js wrapper for store methods
- Create routes/posterminal.js with all endpoints:
- GET /api/posterminal - list terminals
- PUT /api/posterminal - create terminal (name only, pin randomized)
- DELETE /api/posterminal/:id - delete terminal
- PUT/DELETE /api/posterminal/:id/category/:categoryId - toggle category
- PUT/DELETE /api/posterminal/:id/categories - toggle all categories
Closes #<issue-number>
2026-08-03 06:32:39 +02:00
seb
b132f0c17c
u
2026-08-03 03:57:20 +02:00
seb
f2b6715961
Remove dedicated POST /category/:id/move route.
...
Dropping the standalone move endpoint; category relocation is now covered
by PATCH /category/:id via parentId (merged with name rename). Removes the
move route docs and regenerates API docs.
2026-08-03 03:07:50 +02:00
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
seb
faefa3b9cf
Add POST /category/:id/move to relocate a category.
...
Wires up the existing category.move store method (validates source and
target in the same company, rejects self/descendant cycles, assigns the
next sibling sort) behind an authenticated HTTP route, plus @openapi
docs and regenerated API docs.
2026-08-03 03:01:53 +02:00
seb
a0f9a8a716
Add PUT /category/order to reorder sibling categories.
...
Wires up existing category.order store method (validates categoryIds are
exactly the current children of parentId, sets each child sort to its
index in one transaction) behind an authenticated HTTP route, plus
@openapi docs and regenerated API docs.
2026-08-02 19:42:54 +02:00
seb
aed0857f23
u
2026-08-02 19:04:56 +02:00
seb
bfb1d8762a
Add unit API and article unitamount/unitSi patch.
...
Units use the selected company; article PATCH accepts name/unitamount/unitSi.
2026-08-01 06:15:30 +02:00
seb
aba9779161
Update API documentation for POS price replacement to clarify pricing as gross and adjust example values.
2026-08-01 06:00:15 +02:00
seb
8a94abf1c9
Add PUT /article/:sku/prices for POS price replace-all.
2026-08-01 05:17:33 +02:00
seb
bdcd745c4d
Add compact colored prettyJson helper for request logs.
2026-08-01 04:40:32 +02:00
seb
71c8507805
rule
2026-08-01 03:46:01 +02:00
seb
e8d8846de7
u
2026-08-01 03:39:10 +02:00
seb
eaee806569
u
2026-08-01 03:37:49 +02:00
seb
067503f4ed
u
2026-08-01 02:15:29 +02:00
seb
152879bf9f
u
2026-08-01 01:55:37 +02:00
seb
60d623f7df
u
2026-08-01 01:36:54 +02:00
seb
c77337507f
u
2026-07-31 20:10:14 +02:00
seb
6074aa7304
u
2026-07-31 18:25:42 +02:00
seb
1a05a5b7d6
u
2026-07-31 18:20:54 +02:00
seb
63df454861
u
2026-07-31 17:52:04 +02:00
seb
18ee68312f
u
2026-07-31 09:12:36 +02:00
seb
52355aba4a
u
2026-07-31 07:07:31 +02:00
seb
043305c04c
u
2026-07-31 07:07:12 +02:00
seb
db8b192094
u
2026-07-31 05:54:13 +02:00
seb
6db7d4d75c
u
2026-07-19 23:42:28 +02:00
seb
92dc32bf12
cat
2026-07-19 19:43:23 +02:00
seb
eea8e99358
search update
2026-07-19 17:09:14 +02:00
seb
06c235055a
watch
2026-07-19 17:07:26 +02:00
seb
b320887508
search
2026-06-29 19:42:04 +02:00
seb
3bff749b49
reshape search
2026-06-29 10:23:32 +02:00
seb
b278d3cf92
cleasnup
2026-06-24 09:54:34 +02:00
seb
9b11a8a24c
services
2026-06-24 09:50:08 +02:00
seb
185b68fe52
search
2026-06-24 09:37:34 +02:00
seb
977ece3099
docs
2026-06-23 11:18:46 +02:00
seb
667f498573
Genesis
2026-06-23 11:04:07 +02:00