@bash-app/bash-common 30.68.0 → 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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bash-app/bash-common",
3
- "version": "30.68.0",
3
+ "version": "30.69.0",
4
4
  "description": "Common data and scripts to use on the frontend and backend",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1263,9 +1263,12 @@ model User {
1263
1263
 
1264
1264
  // Vendor booking relations
1265
1265
  vendorBookingRequestsAsHost VendorBookingRequest[] @relation("VendorBookingHost")
1266
-
1266
+
1267
1267
  // Vendor booking messages
1268
1268
  vendorBookingMessages VendorBookingMessage[] @relation("VendorMessageSender")
1269
+
1270
+ // Unified service booking messages
1271
+ serviceBookingMessages ServiceBookingMessage[] @relation("ServiceMessageSender")
1269
1272
  }
1270
1273
 
1271
1274
  model UserPreferences {
@@ -3468,6 +3471,9 @@ model ServiceBooking {
3468
3471
 
3469
3472
  addOns ServiceBookingAddOn[] // for services that aren't billed by time, but have add-ons
3470
3473
  packages ServiceBookingPackage[] // for services that aren't billed by time, but have packages
3474
+
3475
+ // Messages relation
3476
+ messages ServiceBookingMessage[]
3471
3477
 
3472
3478
  totalATBCents Int
3473
3479
  subtotalATBCents Int @default(0) //subtotal before taxes, fees, and discounts
@@ -3544,9 +3550,12 @@ model VendorBookingRequest {
3544
3550
  // Response from vendor
3545
3551
  vendorResponse String? // Vendor's message when accepting/rejecting
3546
3552
  respondedAt DateTime?
3547
-
3553
+
3548
3554
  // Messages relation
3549
3555
  messages VendorBookingMessage[]
3556
+
3557
+ // Unified messages relation
3558
+ serviceMessages ServiceBookingMessage[] @relation("ServiceBookingMessages")
3550
3559
 
3551
3560
  @@index([hostUserId])
3552
3561
  @@index([vendorServiceId])
@@ -3563,21 +3572,54 @@ model VendorBookingMessage {
3563
3572
  // Relations
3564
3573
  vendorBookingRequestId String
3565
3574
  vendorBookingRequest VendorBookingRequest @relation(fields: [vendorBookingRequestId], references: [id], onDelete: Cascade)
3566
-
3575
+
3567
3576
  senderId String
3568
3577
  sender User @relation("VendorMessageSender", fields: [senderId], references: [id], onDelete: Cascade)
3569
-
3578
+
3570
3579
  // Message content
3571
3580
  message String @db.Text
3572
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.
3573
3614
 
3574
3615
  // Read status
3575
3616
  isRead Boolean @default(false)
3576
3617
  readAt DateTime?
3577
3618
 
3578
- // Metadata
3579
- metadata Json? // For storing additional message data like payment info, etc.
3619
+ // Metadata for different message types
3620
+ metadata Json? // For storing additional message data like booking changes, payment info, etc.
3580
3621
 
3622
+ @@index([serviceBookingId])
3581
3623
  @@index([vendorBookingRequestId])
3582
3624
  @@index([senderId])
3583
3625
  @@index([createdAt])