update prisma/schema.prisma (add Invitation model)

This commit is contained in:
Giuseppe Lombardo 2026-08-12 17:53:57 +00:00
parent bd96bb2db1
commit 00eaa3d7d6

View File

@ -111,6 +111,13 @@ enum GuestCodeStatus {
REVOKED
}
enum InvitationStatus {
PENDING
ACCEPTED
EXPIRED
REVOKED
}
// ----------------------------------------------------------------------------
// USERS
// ----------------------------------------------------------------------------
@ -143,6 +150,7 @@ model User {
handoverProtocols HandoverProtocol[]
guestCodesIssued GuestCode[]
notifications Notification[]
invitationsSent Invitation[] @relation("InvitationsSent")
@@map("users")
}
@ -168,10 +176,35 @@ model Room {
tickets Ticket[]
inventoryItems Inventory[]
meterReadings MeterReading[]
invitations Invitation[]
@@map("rooms")
}
// ----------------------------------------------------------------------------
// INVITATIONS (Vermieter lädt Mieter per E-Mail ein)
// ----------------------------------------------------------------------------
model Invitation {
id String @id @default(uuid())
email String
token String @unique
role UserRole @default(TENANT)
roomId String? @map("room_id")
room Room? @relation(fields: [roomId], references: [id])
invitedById String @map("invited_by_id")
invitedBy User @relation("InvitationsSent", fields: [invitedById], references: [id])
status InvitationStatus @default(PENDING)
expiresAt DateTime @map("expires_at")
acceptedAt DateTime? @map("accepted_at")
createdAt DateTime @default(now()) @map("created_at")
@@index([email])
@@index([status])
@@map("invitations")
}
// ----------------------------------------------------------------------------
// CONTRACTS
// ----------------------------------------------------------------------------