@bash-app/bash-common 30.67.1 → 30.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/prisma/schema.prisma +77 -0
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -1263,6 +1263,12 @@ model User {
|
|
|
1263
1263
|
|
|
1264
1264
|
// Vendor booking relations
|
|
1265
1265
|
vendorBookingRequestsAsHost VendorBookingRequest[] @relation("VendorBookingHost")
|
|
1266
|
+
|
|
1267
|
+
// Vendor booking messages
|
|
1268
|
+
vendorBookingMessages VendorBookingMessage[] @relation("VendorMessageSender")
|
|
1269
|
+
|
|
1270
|
+
// Unified service booking messages
|
|
1271
|
+
serviceBookingMessages ServiceBookingMessage[] @relation("ServiceMessageSender")
|
|
1266
1272
|
}
|
|
1267
1273
|
|
|
1268
1274
|
model UserPreferences {
|
|
@@ -3465,6 +3471,9 @@ model ServiceBooking {
|
|
|
3465
3471
|
|
|
3466
3472
|
addOns ServiceBookingAddOn[] // for services that aren't billed by time, but have add-ons
|
|
3467
3473
|
packages ServiceBookingPackage[] // for services that aren't billed by time, but have packages
|
|
3474
|
+
|
|
3475
|
+
// Messages relation
|
|
3476
|
+
messages ServiceBookingMessage[]
|
|
3468
3477
|
|
|
3469
3478
|
totalATBCents Int
|
|
3470
3479
|
subtotalATBCents Int @default(0) //subtotal before taxes, fees, and discounts
|
|
@@ -3542,12 +3551,80 @@ model VendorBookingRequest {
|
|
|
3542
3551
|
vendorResponse String? // Vendor's message when accepting/rejecting
|
|
3543
3552
|
respondedAt DateTime?
|
|
3544
3553
|
|
|
3554
|
+
// Messages relation
|
|
3555
|
+
messages VendorBookingMessage[]
|
|
3556
|
+
|
|
3557
|
+
// Unified messages relation
|
|
3558
|
+
serviceMessages ServiceBookingMessage[] @relation("ServiceBookingMessages")
|
|
3559
|
+
|
|
3545
3560
|
@@index([hostUserId])
|
|
3546
3561
|
@@index([vendorServiceId])
|
|
3547
3562
|
@@index([status])
|
|
3548
3563
|
@@index([createdAt])
|
|
3549
3564
|
}
|
|
3550
3565
|
|
|
3566
|
+
// Simple messaging system for vendor-host coordination
|
|
3567
|
+
model VendorBookingMessage {
|
|
3568
|
+
id String @id @default(cuid())
|
|
3569
|
+
createdAt DateTime @default(now())
|
|
3570
|
+
updatedAt DateTime @updatedAt
|
|
3571
|
+
|
|
3572
|
+
// Relations
|
|
3573
|
+
vendorBookingRequestId String
|
|
3574
|
+
vendorBookingRequest VendorBookingRequest @relation(fields: [vendorBookingRequestId], references: [id], onDelete: Cascade)
|
|
3575
|
+
|
|
3576
|
+
senderId String
|
|
3577
|
+
sender User @relation("VendorMessageSender", fields: [senderId], references: [id], onDelete: Cascade)
|
|
3578
|
+
|
|
3579
|
+
// Message content
|
|
3580
|
+
message String @db.Text
|
|
3581
|
+
messageType String @default("text") // "text", "system", "payment_update", etc.
|
|
3582
|
+
|
|
3583
|
+
// Read status
|
|
3584
|
+
isRead Boolean @default(false)
|
|
3585
|
+
readAt DateTime?
|
|
3586
|
+
|
|
3587
|
+
// Metadata
|
|
3588
|
+
metadata Json? // For storing additional message data like payment info, etc.
|
|
3589
|
+
|
|
3590
|
+
@@index([vendorBookingRequestId])
|
|
3591
|
+
@@index([senderId])
|
|
3592
|
+
@@index([createdAt])
|
|
3593
|
+
}
|
|
3594
|
+
|
|
3595
|
+
// Unified messaging system for all service bookings
|
|
3596
|
+
model ServiceBookingMessage {
|
|
3597
|
+
id String @id @default(cuid())
|
|
3598
|
+
createdAt DateTime @default(now())
|
|
3599
|
+
updatedAt DateTime @updatedAt
|
|
3600
|
+
|
|
3601
|
+
// Relations - can be linked to either ServiceBooking or VendorBookingRequest
|
|
3602
|
+
serviceBookingId String?
|
|
3603
|
+
serviceBooking ServiceBooking? @relation(fields: [serviceBookingId], references: [id], onDelete: Cascade)
|
|
3604
|
+
|
|
3605
|
+
vendorBookingRequestId String?
|
|
3606
|
+
vendorBookingRequest VendorBookingRequest? @relation("ServiceBookingMessages", fields: [vendorBookingRequestId], references: [id], onDelete: Cascade)
|
|
3607
|
+
|
|
3608
|
+
senderId String
|
|
3609
|
+
sender User @relation("ServiceMessageSender", fields: [senderId], references: [id], onDelete: Cascade)
|
|
3610
|
+
|
|
3611
|
+
// Message content
|
|
3612
|
+
message String @db.Text
|
|
3613
|
+
messageType String @default("text") // "text", "system", "booking_update", "payment_update", etc.
|
|
3614
|
+
|
|
3615
|
+
// Read status
|
|
3616
|
+
isRead Boolean @default(false)
|
|
3617
|
+
readAt DateTime?
|
|
3618
|
+
|
|
3619
|
+
// Metadata for different message types
|
|
3620
|
+
metadata Json? // For storing additional message data like booking changes, payment info, etc.
|
|
3621
|
+
|
|
3622
|
+
@@index([serviceBookingId])
|
|
3623
|
+
@@index([vendorBookingRequestId])
|
|
3624
|
+
@@index([senderId])
|
|
3625
|
+
@@index([createdAt])
|
|
3626
|
+
}
|
|
3627
|
+
|
|
3551
3628
|
enum VendorBookingStatus {
|
|
3552
3629
|
PENDING // Initial request sent
|
|
3553
3630
|
ACCEPTED // Vendor accepted, awaiting payment
|