@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bash-app/bash-common",
3
- "version": "30.67.1",
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,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