Добавлены модели и функциональность для работы с избранными товарами, включая мутации и запросы в GraphQL. Обновлены компоненты для отображения и управления избранным, улучшен интерфейс взаимодействия с пользователем. Реализована логика добавления и удаления товаров из избранного.
This commit is contained in:
@ -124,6 +124,9 @@ model Organization {
|
||||
// Корзины
|
||||
carts Cart[]
|
||||
|
||||
// Избранные товары
|
||||
favorites Favorites[]
|
||||
|
||||
@@map("organizations")
|
||||
}
|
||||
|
||||
@ -337,6 +340,9 @@ model Product {
|
||||
// Связь с элементами корзины
|
||||
cartItems CartItem[]
|
||||
|
||||
// Избранные товары
|
||||
favorites Favorites[]
|
||||
|
||||
// Уникальность артикула в рамках организации
|
||||
@@unique([organizationId, article])
|
||||
@@map("products")
|
||||
@ -383,3 +389,24 @@ model CartItem {
|
||||
@@unique([cartId, productId])
|
||||
@@map("cart_items")
|
||||
}
|
||||
|
||||
// Модель избранных товаров
|
||||
model Favorites {
|
||||
id String @id @default(cuid())
|
||||
|
||||
// Связь с организацией (пользователь может добавлять товары в избранное)
|
||||
organization Organization @relation(fields: [organizationId], references: [id], onDelete: Cascade)
|
||||
organizationId String
|
||||
|
||||
// Связь с товаром
|
||||
product Product @relation(fields: [productId], references: [id], onDelete: Cascade)
|
||||
productId String
|
||||
|
||||
// Временные метки
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
||||
// Уникальность: один товар может быть только один раз в избранном у организации
|
||||
@@unique([organizationId, productId])
|
||||
@@map("favorites")
|
||||
}
|
||||
|
Reference in New Issue
Block a user