Bestellschein-Tab, Favoriten je Benutzer (Scheine + Kabel), Kabelsuche, Loxone Link Kabel Cat.7
- Neuer Tab Bestellschein: gleiches Datenmodell/Funktionen wie Materialschein (Projekt.typ) - Favoriten serverseitig pro Benutzer (Tabelle favoriten, /api/favoriten) - Kabelauswahl mit Suchfeld + Favoriten (KabelSelect), Suche/Favoriten in der Referenztabelle - Scheinsuche: mehrere Suchbegriffe, auch Notiz/Datum; Filter Favoriten Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
9bd8ebeeb8
commit
b6227eb4cf
@@ -0,0 +1,25 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "ScheinTyp" AS ENUM ('Material', 'Bestell');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "projekte" ADD COLUMN "typ" "ScheinTyp" NOT NULL DEFAULT 'Material';
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "favoriten" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userKey" TEXT NOT NULL,
|
||||
"art" TEXT NOT NULL,
|
||||
"refId" TEXT NOT NULL,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "favoriten_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "projekte_typ_idx" ON "projekte"("typ");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "favoriten_userKey_idx" ON "favoriten"("userKey");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "favoriten_userKey_art_refId_key" ON "favoriten"("userKey", "art", "refId");
|
||||
@@ -13,6 +13,12 @@ enum ProjektStatus {
|
||||
Abgeschlossen
|
||||
}
|
||||
|
||||
// Materialschein und Bestellschein teilen sich dieselbe Struktur (Kopfdaten + Positionen).
|
||||
enum ScheinTyp {
|
||||
Material
|
||||
Bestell
|
||||
}
|
||||
|
||||
model Projekt {
|
||||
id String @id @default(cuid())
|
||||
titel String
|
||||
@@ -22,10 +28,12 @@ model Projekt {
|
||||
monteur String?
|
||||
notiz String?
|
||||
status ProjektStatus @default(Aktiv)
|
||||
typ ScheinTyp @default(Material)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
material Material[]
|
||||
|
||||
@@index([typ])
|
||||
@@map("projekte")
|
||||
}
|
||||
|
||||
@@ -56,3 +64,17 @@ model User {
|
||||
|
||||
@@map("users")
|
||||
}
|
||||
|
||||
// Favoriten je Benutzer (Microsoft-Konto per oid, lokales Konto per Benutzername).
|
||||
// art = SCHEIN (refId = Projekt-ID) oder KABEL (refId = Kabelname aus der Kabelliste).
|
||||
model Favorit {
|
||||
id String @id @default(cuid())
|
||||
userKey String
|
||||
art String
|
||||
refId String
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@unique([userKey, art, refId])
|
||||
@@index([userKey])
|
||||
@@map("favoriten")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user