feat: Archiv-Tab fuer Bestellungen, Retouren und Produkte im Admin
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 3m24s
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 3m24s
Abgeschlossene Eintraege wandern automatisch in einen Tab "Archiv", damit die aktiven Listen nur zeigen, was noch zu tun ist: - Bestellungen: versendet/abgeholt/storniert, keine offene Retoure, seit einem Monat nicht bearbeitet - Retouren: angenommen/abgelehnt/erstattet, seit einem Monat nicht bearbeitet - Produkte: seit einem Monat Bestand 0 (nur Admin-Sicht, Shop unveraendert) Die Automatik laeuft beim Oeffnen der jeweiligen Liste (hoechstens alle 5 Minuten) und holt Eintraege zurueck, sobald sie wieder offen sind. Zusaetzlich "Archivieren"/"Wiederherstellen" per Hand; von Hand archivierte Eintraege fasst die Automatik nicht an. Alle Verschiebungen landen im Audit-Log. Neue Felder archivedAt/archivedManually samt Index an orders, return_requests und products (Migration 20260925010000_archive_fields). Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
01eaca39dc
commit
fb9c2353c6
14 files changed
+772
-54
No files matched your search
@@ -0,0 +1,31 @@
|
||||
-- Archiv fuer Bestellungen, Retouren und Produkte (siehe lib/archive.ts).
|
||||
--
|
||||
-- archivedAt gesetzt = Eintrag erscheint im Admin-Tab "Archiv" statt in der
|
||||
-- aktiven Liste. Die Automatik archiviert abgeschlossene Eintraege nach einem
|
||||
-- Monat ohne Bearbeitung (Produkte: Bestand 0) und holt sie zurueck, sobald
|
||||
-- sie wieder offen sind. archivedManually markiert Eintraege, die jemand
|
||||
-- von Hand archiviert hat — die fasst die Automatik nicht an.
|
||||
--
|
||||
-- Nullable bzw. mit Default: bestehende Zeilen gelten als aktiv; der erste
|
||||
-- Aufruf der jeweiligen Admin-Liste archiviert faellige Altbestaende.
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "orders" ADD COLUMN "archivedAt" TIMESTAMP(3),
|
||||
ADD COLUMN "archivedManually" BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "return_requests" ADD COLUMN "archivedAt" TIMESTAMP(3),
|
||||
ADD COLUMN "archivedManually" BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "products" ADD COLUMN "archivedAt" TIMESTAMP(3),
|
||||
ADD COLUMN "archivedManually" BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "orders_archivedAt_idx" ON "orders"("archivedAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "return_requests_archivedAt_idx" ON "return_requests"("archivedAt");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "products_archivedAt_idx" ON "products"("archivedAt");
|
||||
Reference in new issue
Block a user