Persist user carts in database
This commit is contained in:
@@ -70,6 +70,7 @@ model User {
|
||||
sentInvitations Invitation[] @relation("InvitationManager")
|
||||
acceptedInvitations Invitation[] @relation("InvitationAcceptor")
|
||||
messengerConnections MessengerConnection[]
|
||||
cart Cart?
|
||||
clientOrders Order[] @relation("OrderClient")
|
||||
managerOrders Order[] @relation("OrderManager")
|
||||
orderStatusEvents OrderStatusEvent[]
|
||||
@@ -91,6 +92,7 @@ model DeliveryAddress {
|
||||
unrestrictedValue String?
|
||||
fiasId String?
|
||||
defaultForUsers User[] @relation("UserDefaultDeliveryAddress")
|
||||
carts Cart[]
|
||||
orders Order[]
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
@@ -179,11 +181,43 @@ model Product {
|
||||
isCustomizable Boolean @default(false)
|
||||
isActive Boolean @default(true)
|
||||
inventory ProductStock[]
|
||||
cartItems CartItem[]
|
||||
orderItems OrderItem[]
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model Cart {
|
||||
id String @id @default(cuid())
|
||||
userId String @unique
|
||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||
deliveryAddressId String?
|
||||
deliveryAddress DeliveryAddress? @relation(fields: [deliveryAddressId], references: [id], onDelete: SetNull)
|
||||
items CartItem[]
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@index([deliveryAddressId])
|
||||
}
|
||||
|
||||
model CartItem {
|
||||
id String @id @default(cuid())
|
||||
cartId String
|
||||
cart Cart @relation(fields: [cartId], references: [id], onDelete: Cascade)
|
||||
productId String
|
||||
product Product @relation(fields: [productId], references: [id], onDelete: Cascade)
|
||||
productName String
|
||||
sku String
|
||||
isCustomizable Boolean @default(false)
|
||||
quantity Decimal @db.Decimal(14, 3)
|
||||
parameters Json
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
@@unique([cartId, productId])
|
||||
@@index([productId])
|
||||
}
|
||||
|
||||
model Warehouse {
|
||||
id String @id @default(cuid())
|
||||
code String @unique
|
||||
|
||||
Reference in New Issue
Block a user