@bash-app/bash-common 30.66.3 → 30.67.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.66.3",
3
+ "version": "30.67.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",
@@ -1774,16 +1774,101 @@ model Vendor {
1774
1774
  maxBoothFeeCents Int? @default(0)
1775
1775
  preferredBoothFeeCents Int? @default(0)
1776
1776
 
1777
- // Vendor requirements and preferences
1778
- spaceRequirements Json? // Space, equipment, and utility requirements
1779
- insurance Json? // Insurance coverage information
1780
- permits Json? // Permits and licenses
1781
- preferences Json? // Vendor preferences (indoor/outdoor, duration, social media, etc.)
1777
+ // Vendor requirements and preferences (relational tables)
1778
+ spaceRequirements VendorSpaceRequirements?
1779
+ insurance VendorInsurance?
1780
+ permits VendorPermit[]
1781
+ preferences VendorPreferences?
1782
1782
 
1783
1783
  service Service?
1784
1784
  vendorBids VendorBid[] // Relation to bids
1785
1785
  }
1786
1786
 
1787
+ // Vendor space requirements table
1788
+ model VendorSpaceRequirements {
1789
+ id String @id @default(cuid())
1790
+ vendorId String @unique
1791
+ vendor Vendor @relation(fields: [vendorId], references: [id], onDelete: Cascade)
1792
+
1793
+ // Space requirements
1794
+ boothSize String @default("10x10")
1795
+ customSize String?
1796
+ hasTent Boolean @default(false)
1797
+ tableCount String @default("1")
1798
+ hasChairs Boolean @default(false)
1799
+ needsElectricity Boolean @default(false)
1800
+ needsWater Boolean @default(false)
1801
+ needsVehicleAccess Boolean @default(true)
1802
+ additionalRequirements String?
1803
+
1804
+ createdAt DateTime @default(now())
1805
+ updatedAt DateTime @updatedAt
1806
+ }
1807
+
1808
+ // Vendor insurance information table
1809
+ model VendorInsurance {
1810
+ id String @id @default(cuid())
1811
+ vendorId String @unique
1812
+ vendor Vendor @relation(fields: [vendorId], references: [id], onDelete: Cascade)
1813
+
1814
+ // Insurance coverage
1815
+ hasGeneralLiability Boolean @default(false)
1816
+ hasProductLiability Boolean @default(false)
1817
+ liabilityCoverage String?
1818
+
1819
+ createdAt DateTime @default(now())
1820
+ updatedAt DateTime @updatedAt
1821
+ }
1822
+
1823
+ // Vendor permits table (one-to-many)
1824
+ model VendorPermit {
1825
+ id String @id @default(cuid())
1826
+ vendorId String
1827
+ vendor Vendor @relation(fields: [vendorId], references: [id], onDelete: Cascade)
1828
+
1829
+ // Permit information
1830
+ permitType String // e.g., "Food Handler's Permit", "Business License", etc.
1831
+ isRequired Boolean @default(true)
1832
+
1833
+ createdAt DateTime @default(now())
1834
+ updatedAt DateTime @updatedAt
1835
+
1836
+ @@index([vendorId])
1837
+ }
1838
+
1839
+ // Vendor preferences table
1840
+ model VendorPreferences {
1841
+ id String @id @default(cuid())
1842
+ vendorId String @unique
1843
+ vendor Vendor @relation(fields: [vendorId], references: [id], onDelete: Cascade)
1844
+
1845
+ // Event preferences
1846
+ indoorOutdoorPreference String @default("either") // "indoor", "outdoor", "either"
1847
+ preferredVendingDuration String @default("flexible") // "short", "medium", "long", "flexible"
1848
+ allowSocialMediaSharing Boolean @default(true)
1849
+ acceptsForceMajeure Boolean @default(true)
1850
+ socialMediaNotes String?
1851
+
1852
+ // Social media expectations (separate table for many-to-many)
1853
+ socialMediaExpectations VendorSocialMediaExpectation[]
1854
+
1855
+ createdAt DateTime @default(now())
1856
+ updatedAt DateTime @updatedAt
1857
+ }
1858
+
1859
+ // Social media expectations table (many-to-many with preferences)
1860
+ model VendorSocialMediaExpectation {
1861
+ id String @id @default(cuid())
1862
+ preferencesId String
1863
+ preferences VendorPreferences @relation(fields: [preferencesId], references: [id], onDelete: Cascade)
1864
+
1865
+ expectation String // e.g., "Instagram posts", "Facebook sharing", etc.
1866
+
1867
+ createdAt DateTime @default(now())
1868
+
1869
+ @@index([preferencesId])
1870
+ }
1871
+
1787
1872
  model VendorBid {
1788
1873
  id String @id @default(cuid())
1789
1874
  vendorId String
@@ -3410,8 +3495,39 @@ model VendorBookingRequest {
3410
3495
  bashEventId String?
3411
3496
  bashEvent BashEvent? @relation("VendorBookingEvent", fields: [bashEventId], references: [id], onDelete: SetNull)
3412
3497
 
3413
- // Request data (stored as JSON for flexibility)
3414
- requestData Json // VendorBookingRequestData from frontend
3498
+ // Request data (structured fields instead of JSON)
3499
+ spaceOffered String
3500
+ customSpaceOffered String?
3501
+ providingTent Boolean @default(false)
3502
+ providingTables Int @default(0)
3503
+ providingChairs Boolean @default(false)
3504
+ providingElectricity Boolean @default(false)
3505
+ providingWater Boolean @default(false)
3506
+ providingVehicleAccess Boolean @default(false)
3507
+
3508
+ expectedGuests Int
3509
+ eventDuration String
3510
+ setupTime String
3511
+ breakdownTime String
3512
+
3513
+ vendorFee Float?
3514
+ feeStructure String // "flat", "percentage", "free", "negotiable"
3515
+ percentageRate Float?
3516
+
3517
+ eventDescription String @db.Text
3518
+ specialRequests String @db.Text
3519
+ contactPreference String @default("email") // "email", "phone", "either"
3520
+ urgency String @default("flexible") // "asap", "within_week", "flexible"
3521
+
3522
+ paymentTiming String @default("advance") // "advance", "day_of", "after_event", "deposit_balance"
3523
+ depositPercentage Float?
3524
+
3525
+ budgetRange String
3526
+ competitorRestrictions String @db.Text
3527
+ insuranceRequired Boolean @default(false)
3528
+ permitRequirements String @db.Text
3529
+ weatherContingency String @db.Text
3530
+ cancellationPolicy String @db.Text
3415
3531
 
3416
3532
  // Status and workflow
3417
3533
  status VendorBookingStatus @default(PENDING)