Commit Graph

32 Commits

Author SHA1 Message Date
seb
4f46967f28 Add supplier CRUD on entity with Lieferanten group and entityhistory 2026-08-06 03:56:32 +02:00
seb
561ba5bb99 Store Google profile picture bytes on google_auth 2026-08-05 11:08:06 +02:00
seb
d1eb2716ae Link articlehistory to companyuser; store Google picture and sub on google_auth 2026-08-05 10:57:50 +02:00
seb
46c85fe29e Add articlehistory on updateBySku and getHistoryBySku 2026-08-05 09:17:17 +02:00
seb
82c61e599d export 2026-08-04 01:24:27 +02:00
seb
84bb561031 Add article.listSearchIndex for client-side search preload
Returns all company articles with id, sku, name, and eans as a flat
array. Walks the category tree to find reachable articles. Single
query using recursive CTE + FOR JSON for eans.
2026-08-03 22:31:36 +02:00
seb
6128fc59fd Add category image add/delete with categorypic SQL layer 2026-08-03 07:38:14 +02:00
seb
831bf52c14 Add POS terminal category visibility system
Add posterminal and posterminalcategory tables to control which categories
are visible on each POS terminal. The existence of a row in
posterminalcategory means the category is visible on that terminal.

Store methods:
- posterminal.list/upsert/delete - CRUD for terminals
- posterminal.setOn/setOff - toggle single category on a terminal
- posterminal.setOnAll/setOffAll - toggle all categories on a terminal
- posterminal.getCategoryPosterminalIds - internal, used by category tree

The category tree (getTreeForCompany) now includes a posterminalIds array
on each node listing which terminals have that category enabled.
2026-08-03 06:14:25 +02:00
seb
d8d66ce105 Add category.move to reparent a category.
Validates both source and target via resolveCategoryAccess so the new
parent must be a category of the same authorized company, and guards
against moving into a descendant (cycle). Assigns next sibling sort.
2026-08-03 03:01:02 +02:00
seb
b070607357 Add category.order to reorder siblings under a parent.
Sets each direct child's sort to its index in the given categoryIds,
scoped by parentId. Validates the set matches the current children.
2026-08-02 19:41:54 +02:00
seb
b890843445 u 2026-08-02 19:01:00 +02:00
seb
787e411547 Add company-scoped brand and company settings API.
brand now carries a NOT NULL company_id (unique per (company_id, name))
with brand.list/upsert/delete backed by resolveCompanyAccess. Adds
companysetting key-value store (list/get/set/delete, frontend flag).
2026-08-01 06:59:27 +02:00
seb
12e83a7ffb Add company-scoped unit list/upsert/delete and article unit patches.
Units are isolated per company; article detail exposes full unit shape, and unused units can be deleted safely via FK NO ACTION.
2026-08-01 06:12:24 +02:00
seb
54700a145e Add article.setPricesBySku to replace POS prices for a SKU.
Gives dashback a single store call that atomically replaces all price rows for the article’s poscustomergroup.
2026-08-01 05:16:50 +02:00
seb
1756dc7ef0 u 2026-08-01 03:37:45 +02:00
seb
69a24192d3 u 2026-08-01 02:15:21 +02:00
seb
671064bf3f u 2026-08-01 01:36:49 +02:00
seb
e8326e22ac u 2026-07-31 19:49:07 +02:00
seb
c2e128cb55 u 2026-07-31 17:50:06 +02:00
seb
7e1e96d3cd u 2026-07-31 16:17:33 +02:00
seb
f9dec6d51a u 2026-07-31 16:06:51 +02:00
seb
6cc6dbb9e8 u 2026-07-31 15:36:48 +02:00
seb
818d799f63 u 2026-07-31 09:09:34 +02:00
seb
99dd76075e u 2026-07-31 09:00:14 +02:00
seb
4f98082061 u 2026-07-31 07:42:19 +02:00
seb
02bca8e236 u 2026-07-31 05:57:23 +02:00
seb
a57e81fe30 u 2026-07-31 05:43:41 +02:00
seb
09c7a8bc74 u 2026-07-31 05:34:45 +02:00
seb
52b9d125f7 u 2026-07-31 04:52:14 +02:00
seb
fdd9e684d8 u 2026-07-31 00:35:02 +02:00
seb
af8ef0a788 u 2026-07-31 00:20:20 +02:00
seb
6bdac7e543 u 2026-07-31 00:08:50 +02:00