Add ownership transfer foundation
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
ALTER TABLE "ownership_transfers"
|
||||
ADD COLUMN "requested_by_user_id" UUID,
|
||||
ADD COLUMN "mode" TEXT NOT NULL DEFAULT 'COPY',
|
||||
ADD COLUMN "summary" JSONB;
|
||||
|
||||
CREATE INDEX "ownership_transfers_requested_by_user_id_idx"
|
||||
ON "ownership_transfers"("requested_by_user_id");
|
||||
|
||||
ALTER TABLE "ownership_transfers"
|
||||
ADD CONSTRAINT "ownership_transfers_requested_by_user_id_fkey"
|
||||
FOREIGN KEY ("requested_by_user_id") REFERENCES "users"("id")
|
||||
ON DELETE SET NULL
|
||||
ON UPDATE CASCADE;
|
||||
@@ -32,6 +32,7 @@ model User {
|
||||
deviceLinkHistory DeviceLinkHistory[]
|
||||
outgoingTransfers OwnershipTransfer[] @relation("OwnershipTransferFromUser")
|
||||
incomingTransfers OwnershipTransfer[] @relation("OwnershipTransferToUser")
|
||||
initiatedTransfers OwnershipTransfer[] @relation("OwnershipTransferRequestedByUser")
|
||||
|
||||
@@map("users")
|
||||
}
|
||||
@@ -262,17 +263,22 @@ model OwnershipTransfer {
|
||||
id String @id @default(uuid()) @db.Uuid
|
||||
fromUserId String @map("from_user_id") @db.Uuid
|
||||
toUserId String? @map("to_user_id") @db.Uuid
|
||||
requestedByUserId String? @map("requested_by_user_id") @db.Uuid
|
||||
requestedByDeviceId String? @map("requested_by_device_id") @db.Uuid
|
||||
mode String @default("COPY")
|
||||
status String
|
||||
summary Json? @map("summary")
|
||||
createdAt DateTime @default(now()) @map("created_at")
|
||||
updatedAt DateTime @updatedAt @map("updated_at")
|
||||
completedAt DateTime? @map("completed_at")
|
||||
fromUser User @relation("OwnershipTransferFromUser", fields: [fromUserId], references: [id], onDelete: Cascade, onUpdate: Cascade)
|
||||
toUser User? @relation("OwnershipTransferToUser", fields: [toUserId], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
||||
requestedByUser User? @relation("OwnershipTransferRequestedByUser", fields: [requestedByUserId], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
||||
requestedByDevice Device? @relation("OwnershipTransferRequestedByDevice", fields: [requestedByDeviceId], references: [id], onDelete: SetNull, onUpdate: Cascade)
|
||||
|
||||
@@index([fromUserId])
|
||||
@@index([toUserId])
|
||||
@@index([requestedByUserId])
|
||||
@@map("ownership_transfers")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user