refactor: rename Recipient to Person, remove username, add userId FK

This commit is contained in:
2026-06-16 10:04:24 +02:00
parent befe1f3f82
commit d67f31cf54
27 changed files with 751 additions and 628 deletions
+19 -17
View File
@@ -33,9 +33,10 @@ model User {
updatedAt DateTime @updatedAt
movements Movement[]
assignments Assignment[]
person Person?
}
enum RecipientDepartment {
enum PersonDepartment {
IT
ENGINEERING
LOGISTICS
@@ -46,17 +47,18 @@ enum RecipientDepartment {
OTHER
}
model Recipient {
id String @id @default(uuid())
username String @unique
model Person {
id String @id @default(uuid())
firstName String
lastName String
department RecipientDepartment?
email String? @unique
department PersonDepartment?
email String? @unique
phone String?
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
userId String? @unique
user User? @relation(fields: [userId], references: [id], onDelete: SetNull, onUpdate: Cascade)
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
assignments Assignment[]
movements Movement[]
@@ -128,11 +130,11 @@ model Assignment {
quantity Int?
notes String?
itemId String?
item Item? @relation(fields: [itemId], references: [id])
item Item? @relation(fields: [itemId], references: [id], onDelete: SetNull, onUpdate: Cascade)
assetId String? @unique
asset Asset? @relation(fields: [assetId], references: [id])
asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade)
recipientId String?
recipient Recipient? @relation(fields: [recipientId], references: [id], onDelete: Cascade, onUpdate: Cascade)
recipient Person? @relation(fields: [recipientId], references: [id], onDelete: Cascade, onUpdate: Cascade)
assignmentDate DateTime @default(now())
returnDate DateTime?
createdBy String
@@ -163,15 +165,15 @@ model Movement {
details String?
notes String?
itemId String?
item Item? @relation(fields: [itemId], references: [id])
item Item? @relation(fields: [itemId], references: [id], onDelete: SetNull, onUpdate: Cascade)
assetId String?
asset Asset? @relation(fields: [assetId], references: [id])
asset Asset? @relation(fields: [assetId], references: [id], onDelete: SetNull, onUpdate: Cascade)
previousStock Int?
newStock Int?
recipientId String?
recipient Recipient? @relation(fields: [recipientId], references: [id])
recipient Person? @relation(fields: [recipientId], references: [id], onDelete: SetNull, onUpdate: Cascade)
assignmentId String?
assignment Assignment? @relation(fields: [assignmentId], references: [id])
assignment Assignment? @relation(fields: [assignmentId], references: [id], onDelete: SetNull, onUpdate: Cascade)
userId String
user User @relation(fields: [userId], references: [id])
createdAt DateTime @default(now())
@@ -181,4 +183,4 @@ model Movement {
@@index([recipientId])
@@index([type])
@@index([userId])
}
}