@@ -27,6 +27,8 @@ model Product {
2727 category Category @relation (fields : [categoryId ] , references : [id ] , onDelete : Cascade )
2828 customerOrders customer_order_product []
2929 Wishlist Wishlist []
30+ // Back relation for bulk upload items
31+ bulkUploadItems bulk_upload_item [] @relation (" ProductBulkItems " )
3032}
3133
3234model Image {
@@ -41,6 +43,8 @@ model User {
4143 password String ?
4244 role String ? @default (" user " )
4345 Wishlist Wishlist []
46+ // Back relation for bulk upload batches
47+ bulkUploadBatches bulk_upload_batch [] @relation (" UserBatches " )
4448}
4549
4650model Customer_order {
@@ -84,3 +88,52 @@ model Wishlist {
8488 user User @relation (fields : [userId ] , references : [id ] , onDelete : Cascade )
8589 userId String
8690}
91+
92+ model bulk_upload_batch {
93+ id String @id @default (uuid () )
94+ createdAt DateTime @default (now () )
95+ status BulkUploadStatus @default (PENDING )
96+ itemCount Int @default (0 )
97+ errorCount Int @default (0 )
98+ items bulk_upload_item []
99+
100+ // optional uploader link if you later associate sessions/users
101+ userId String ?
102+ user User ? @relation (name : " UserBatches " , fields : [userId ] , references : [id ] )
103+ }
104+
105+ model bulk_upload_item {
106+ id String @id @default (uuid () )
107+ batchId String
108+ batch bulk_upload_batch @relation (fields : [batchId ] , references : [id ] , onDelete : Cascade )
109+
110+ // created product reference
111+ productId String ?
112+ product Product ? @relation (name : " ProductBulkItems " , fields : [productId ] , references : [id ] , onDelete : SetNull )
113+
114+ // snapshot fields for auditing and re-commit edits
115+ title String
116+ slug String
117+ price Int
118+ manufacturer String ?
119+ description String ?
120+ mainImage String ?
121+ categoryId String
122+ inStock Int
123+
124+ status BulkUploadItemStatus @default (CREATED )
125+ error String ?
126+ }
127+
128+ enum BulkUploadStatus {
129+ PENDING
130+ COMPLETED
131+ PARTIAL
132+ FAILED
133+ }
134+
135+ enum BulkUploadItemStatus {
136+ CREATED
137+ UPDATED
138+ ERROR
139+ }
0 commit comments