ADD: added admin panel and archiv mandates

This commit is contained in:
hwinkel
2026-03-13 10:58:44 +01:00
parent a742d79457
commit 3a2a94ec19
32 changed files with 2023 additions and 177 deletions
+31 -4
View File
@@ -8,18 +8,42 @@ datasource db {
shadowDatabaseUrl = env("SHADOW_DATABASE_URL")
}
enum UserRole {
USER
ADMIN
}
model User {
id String @id @default(cuid())
email String @unique
id String @id @default(cuid())
email String @unique
username String @unique
passwordHash String
name String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
role UserRole @default(USER)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
companies Company[]
auditLogs AuditLog[]
@@map("users")
}
model AuditLog {
id String @id @default(cuid())
userId String?
user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
action String
entity String?
entityId String?
metadata Json?
ipAddress String?
createdAt DateTime @default(now())
@@index([userId])
@@index([createdAt])
@@map("audit_logs")
}
model Company {
id String @id @default(cuid())
name String
@@ -39,6 +63,8 @@ model Company {
invoicePrefix String @default("RE")
invoiceSequence Int @default(0)
kleinunternehmer Boolean @default(false)
archived Boolean @default(false)
archivedAt DateTime?
userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
customers Customer[]
@@ -97,6 +123,7 @@ enum InvoiceStatus {
SENT
PAID
CANCELLED
DELETED
}
model InvoiceItem {