@bash-app/bash-common 30.289.0 → 30.292.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.
Files changed (45) hide show
  1. package/dist/definitions.d.ts +4 -0
  2. package/dist/definitions.d.ts.map +1 -1
  3. package/dist/definitions.js +4 -0
  4. package/dist/definitions.js.map +1 -1
  5. package/dist/extendedSchemas.d.ts +131 -9
  6. package/dist/extendedSchemas.d.ts.map +1 -1
  7. package/dist/extendedSchemas.js +9 -0
  8. package/dist/extendedSchemas.js.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.d.ts +2 -0
  14. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.d.ts.map +1 -0
  15. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.js +17 -0
  16. package/dist/utils/__tests__/entertainmentServiceTypeOptions.test.js.map +1 -0
  17. package/dist/utils/entertainmentServiceTypeOptions.d.ts +9 -0
  18. package/dist/utils/entertainmentServiceTypeOptions.d.ts.map +1 -0
  19. package/dist/utils/entertainmentServiceTypeOptions.js +46 -0
  20. package/dist/utils/entertainmentServiceTypeOptions.js.map +1 -0
  21. package/dist/utils/luxonUtils.d.ts.map +1 -1
  22. package/dist/utils/luxonUtils.js +20 -8
  23. package/dist/utils/luxonUtils.js.map +1 -1
  24. package/dist/utils/recurrenceUtils.d.ts.map +1 -1
  25. package/dist/utils/recurrenceUtils.js +7 -3
  26. package/dist/utils/recurrenceUtils.js.map +1 -1
  27. package/package.json +1 -1
  28. package/prisma/schema.prisma +54 -0
  29. package/src/definitions.ts +6 -0
  30. package/src/extendedSchemas.ts +81 -10
  31. package/src/index.ts +1 -0
  32. package/src/utils/__tests__/entertainmentServiceTypeOptions.test.ts +18 -0
  33. package/src/utils/entertainmentServiceTypeOptions.ts +56 -0
  34. package/src/utils/luxonUtils.ts +22 -14
  35. package/src/utils/recurrenceUtils.ts +6 -3
  36. package/prisma/prisma/COMPREHENSIVE-MIGRATION-README.md +0 -295
  37. package/prisma/prisma/MIGRATION-CHECKLIST.md +0 -198
  38. package/prisma/prisma/MIGRATION-FILES-GUIDE.md +0 -76
  39. package/prisma/prisma/comprehensive-migration-20260120.sql +0 -5751
  40. package/prisma/prisma/delta-migration-20260120.sql +0 -302
  41. package/prisma/prisma/manual-migration-add-missing-columns.sql +0 -182
  42. package/prisma/prisma/migrations/competition-prize-catalog-entry-tier.sql +0 -39
  43. package/prisma/prisma/quick-migration.sql +0 -47
  44. package/prisma/prisma/schema.prisma +0 -10850
  45. package/prisma/prisma/verify-migration.sql +0 -132
@@ -7,9 +7,13 @@ import { compareDateTime } from "./dateTimeUtils.js";
7
7
  * skip/move persistence must derive the key the same way, so callers should use this.
8
8
  */
9
9
  export function occurrenceOverrideKey(occurrenceStart) {
10
- const dt = DateTime.isDateTime(occurrenceStart)
11
- ? occurrenceStart
12
- : dateTimeFromDate(occurrenceStart);
10
+ let dt;
11
+ if (typeof occurrenceStart === "string" || occurrenceStart instanceof Date) {
12
+ dt = dateTimeFromDate(occurrenceStart);
13
+ }
14
+ else {
15
+ dt = occurrenceStart;
16
+ }
13
17
  return dt.toFormat(LUXON_DATETIME_FORMAT_ISO_LIKE);
14
18
  }
15
19
  /** Safely coerce the `Recurrence.occurrenceOverrides` Json column into a typed map. */
@@ -1 +1 @@
1
- {"version":3,"file":"recurrenceUtils.js","sourceRoot":"","sources":["../../src/utils/recurrenceUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recurrenceUtils.js","sourceRoot":"","sources":["../../src/utils/recurrenceUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bash-app/bash-common",
3
- "version": "30.289.0",
3
+ "version": "30.292.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",
@@ -914,11 +914,15 @@ model BashEvent {
914
914
 
915
915
  // Idea-specific fields (only used when status = 'Idea')
916
916
  ideaExpiresAt DateTime?
917
+ /// Set when an Idea reverts to Draft (expired before threshold); durable marker for revival UX.
918
+ wasIdea Boolean @default(false)
917
919
  ideaInterestThreshold Int? @default(35)
918
920
  hideInterestCount Boolean @default(false)
919
921
  isAutoApprovable Boolean @default(false)
920
922
  autoApprovedAt DateTime?
921
923
  lastEngagementAt DateTime? // Track last interest/share for decay
924
+ /// When true and status=Idea, guests can vote on candidate datetimes (IdeaDateOption).
925
+ ideaDatePollEnabled Boolean @default(false)
922
926
 
923
927
  // Organization field
924
928
  organizationId String?
@@ -999,6 +1003,7 @@ model BashEvent {
999
1003
  // Idea Relations
1000
1004
  interests IdeaInterest[]
1001
1005
  configurations IdeaConfiguration[]
1006
+ dateOptions IdeaDateOption[]
1002
1007
 
1003
1008
  /**
1004
1009
  * Logged-in users: soft RSVP (Going / Maybe / NotGoing) for public published events — not org EventRSVP
@@ -1811,6 +1816,25 @@ model IdeaConfiguration {
1811
1816
  @@index([isActive])
1812
1817
  }
1813
1818
 
1819
+ /// Candidate datetime slots for Idea date polls (host picks winner at publish).
1820
+ model IdeaDateOption {
1821
+ id String @id @default(cuid())
1822
+ bashEventId String
1823
+ startDateTime DateTime
1824
+ endDateTime DateTime?
1825
+ timezone String // IANA e.g. America/New_York
1826
+ label String?
1827
+ sortOrder Int @default(0)
1828
+ isActive Boolean @default(true)
1829
+ createdAt DateTime @default(now())
1830
+ updatedAt DateTime @updatedAt
1831
+
1832
+ bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
1833
+
1834
+ @@index([bashEventId])
1835
+ @@index([bashEventId, isActive])
1836
+ }
1837
+
1814
1838
  /// How guests join a bash.
1815
1839
  enum EventEntryMode {
1816
1840
  Ticketed // existing checkout is the source of truth
@@ -3333,6 +3357,7 @@ model User {
3333
3357
  productLaunchWaitlistSignups ProductLaunchWaitlistSignup[]
3334
3358
  productLaunchRankSubmissions ProductLaunchRankSubmission[]
3335
3359
  enterpriseLeads EnterpriseLead[]
3360
+ feedbackTeamApplications FeedbackTeamApplication[]
3336
3361
  pushNotificationTokens PushNotificationToken[]
3337
3362
  redeemedVouchers Voucher[]
3338
3363
  bashEventPromoCodesIUsed BashEventPromoCode[] @relation("BashEventPromoCodeToUser")
@@ -10849,3 +10874,32 @@ model EnterpriseLead {
10849
10874
  @@index([email])
10850
10875
  @@index([userId])
10851
10876
  }
10877
+
10878
+ // ============================================
10879
+ // FEEDBACK TEAM — beta tester applications
10880
+ // ============================================
10881
+
10882
+ enum FeedbackTeamApplicantRole {
10883
+ Host
10884
+ Attendee
10885
+ ServiceProvider
10886
+ Other
10887
+ }
10888
+
10889
+ model FeedbackTeamApplication {
10890
+ id String @id @default(cuid())
10891
+ givenName String
10892
+ familyName String?
10893
+ email String
10894
+ userId String?
10895
+ user User? @relation(fields: [userId], references: [id], onDelete: SetNull)
10896
+ role FeedbackTeamApplicantRole
10897
+ devices String[] @default([])
10898
+ focusAreas String[] @default([])
10899
+ message String? @db.Text
10900
+ createdAt DateTime @default(now())
10901
+
10902
+ @@index([email])
10903
+ @@index([createdAt])
10904
+ @@index([userId])
10905
+ }
@@ -459,6 +459,12 @@ export const MAX_NUMBER_OF_FREE_TICKETS_PER_USER_FOR_A_BASH_EVENT =
459
459
  100 as const;
460
460
  export const MAX_NUMBER_OF_TICKETS_PER_REQUEST_FOR_A_BASH_EVENT = 50 as const;
461
461
 
462
+ /** Bash detail: tiers shown before "Show all N ticket options". */
463
+ export const TICKET_TIERS_COLLAPSED_VISIBLE_COUNT = 5 as const;
464
+
465
+ /** Per-event cap — keeps checkout UX readable and limits tier spam. */
466
+ export const MAX_TICKET_TIERS_PER_BASH_EVENT = 15 as const;
467
+
462
468
  export const MONTHS_PREVIOUS_THAT_STRIPE_ACCOUNTS_WILL_BE_SEARCHED_BY_EMAIL =
463
469
  1 as const;
464
470
 
@@ -2,6 +2,11 @@ import type { BracketType } from "./mirroredPrismaEnums.js";
2
2
  import type { EntertainmentNotableVenueEntry } from "./entertainmentNotableVenues.js";
3
3
  import {
4
4
  AmountOfGuests,
5
+ AppliedDiscount,
6
+ GroupUnlockOffer,
7
+ SpecialOffer,
8
+ TicketGiftGrant,
9
+ TierReleaseReminder,
5
10
  AssociatedBash,
6
11
  AssociatedService,
7
12
  BashAvailability,
@@ -26,6 +31,7 @@ import {
26
31
  EventTask,
27
32
  Exhibitor,
28
33
  IdeaConfiguration,
34
+ IdeaDateOption,
29
35
  IdeaInterest,
30
36
  IdeaInterestResponse,
31
37
  Invitation,
@@ -421,6 +427,10 @@ export interface BashEventExt extends Override<
421
427
  competitions?: CompetitionExt[];
422
428
  interests?: (IdeaInterest & { responses?: IdeaInterestResponse[] })[];
423
429
  configurations?: IdeaConfiguration[];
430
+ /** GET /event/:id when status=Idea and ideaDatePollEnabled — candidate datetimes for guest voting */
431
+ dateOptions?: IdeaDateOption[];
432
+ /** Public aggregate when poll enabled (no PII) */
433
+ datePollPublicSummary?: IdeaDatePollPublicSummary;
424
434
  /** GET /event/:id — tickets sold (non-cancelled), for social proof */
425
435
  goingCount?: number;
426
436
  /** GET /event/:id when status=Idea — total IdeaInterest rows */
@@ -657,8 +667,24 @@ export const VOLUNTEER_DATA_TO_INCLUDE = {
657
667
  },
658
668
  media: true,
659
669
  serviceRange: true,
670
+ service: {
671
+ select: {
672
+ id: true,
673
+ backgroundImage: true,
674
+ owner: {
675
+ select: FRONT_END_USER_DATA_TO_SELECT,
676
+ },
677
+ },
678
+ },
660
679
  } satisfies Prisma.VolunteerServiceInclude;
661
680
 
681
+ export type VolunteerServiceExt = Prisma.VolunteerServiceGetPayload<{
682
+ include: typeof VOLUNTEER_DATA_TO_INCLUDE;
683
+ }> & {
684
+ /** Set by API when a first-profile BashPoints bonus was awarded on create/update. */
685
+ bonusAwarded?: boolean;
686
+ };
687
+
662
688
  export const VENUE_DATA_TO_INCLUDE = {} satisfies Prisma.VenueInclude;
663
689
 
664
690
  export const EVENT_SERVICE_DATA_TO_INCLUDE = {
@@ -1204,16 +1230,6 @@ export interface OrganizationMemberNotificationPreferencesApi {
1204
1230
  }
1205
1231
  //-----------------------------------------
1206
1232
 
1207
- export interface VolunteerServiceExt extends VolunteerService {
1208
- service?: ServiceExt;
1209
- serviceRange?: ServiceRange | null;
1210
- media?: Media[];
1211
- links?: Link[];
1212
- /** Set by API when a first-profile BashPoints bonus was awarded on create/update. */
1213
- bonusAwarded?: boolean;
1214
- // availableDateTimes?: Availability[];
1215
- }
1216
-
1217
1233
  export interface ServiceLinkExt extends ServiceLink {
1218
1234
  link: Link;
1219
1235
  }
@@ -1370,6 +1386,13 @@ export interface TicketTierExt extends TicketTier {
1370
1386
  bashEvent: BashEvent;
1371
1387
  tickets: TicketExt[];
1372
1388
  promoCodes: BashEventPromoCode[];
1389
+ waitList?: User[];
1390
+ specialOffers?: SpecialOffer[];
1391
+ appliedDiscounts?: AppliedDiscount[];
1392
+ groupUnlockOffers?: GroupUnlockOffer[];
1393
+ ticketGiftGrants?: TicketGiftGrant[];
1394
+ tierReleaseReminders?: TierReleaseReminder[];
1395
+ entryCompetition?: Competition | null;
1373
1396
  }
1374
1397
 
1375
1398
  /** Host / API include for `TicketGiftGrant` lists and create responses. */
@@ -1814,3 +1837,51 @@ export type OrganizationArtistInvitationExt =
1814
1837
  Prisma.OrganizationArtistInvitationGetPayload<object>;
1815
1838
  export type AgencyBookingSettlementExt =
1816
1839
  Prisma.AgencyBookingSettlementGetPayload<object>;
1840
+
1841
+ /** Availability for a single Idea date poll option */
1842
+ export type IdeaDatePollAvailability = "yes" | "maybe" | "no";
1843
+
1844
+ /** Guest vote payload for one date option */
1845
+ export interface IdeaDatePollVote {
1846
+ optionId: string;
1847
+ availability: IdeaDatePollAvailability;
1848
+ rank?: number;
1849
+ }
1850
+
1851
+ /** Parsed preferred_date response stored on IdeaInterestResponse.responseValue */
1852
+ export interface IdeaDatePollResponseValue {
1853
+ optionId: string;
1854
+ availability: IdeaDatePollAvailability;
1855
+ rank?: number;
1856
+ }
1857
+
1858
+ /** Per-option stats returned to hosts in idea analytics */
1859
+ export interface IdeaDatePollOptionStats {
1860
+ optionId: string;
1861
+ label: string | null;
1862
+ startDateTime: string;
1863
+ endDateTime: string | null;
1864
+ timezone: string;
1865
+ yesCount: number;
1866
+ maybeCount: number;
1867
+ noCount: number;
1868
+ score: number;
1869
+ voters: Array<{
1870
+ email: string;
1871
+ availability: IdeaDatePollAvailability;
1872
+ rank?: number;
1873
+ }>;
1874
+ }
1875
+
1876
+ export interface IdeaDatePollStats {
1877
+ options: IdeaDatePollOptionStats[];
1878
+ totalVoters: number;
1879
+ }
1880
+
1881
+ /** Aggregate poll teaser for guests (no voter emails). */
1882
+ export interface IdeaDatePollPublicSummary {
1883
+ totalVoters: number;
1884
+ leadingOptionId?: string;
1885
+ leadingLabel?: string;
1886
+ leadingYesCount?: number;
1887
+ }
package/src/index.ts CHANGED
@@ -403,6 +403,7 @@ export * from "./utils/service/serviceBookingStatusUtils.js";
403
403
  export * from "./utils/service/serviceDBUtils.js";
404
404
  export * from "./utils/service/serviceRateUtils.js";
405
405
  export * from "./utils/serviceAvailabilityDisplay.js";
406
+ export * from "./utils/entertainmentServiceTypeOptions.js";
406
407
  export * from "./utils/reputationUtils.js";
407
408
  export * from "./utils/stripeAccountUtils.js";
408
409
  export * from "./utils/userUtils.js";
@@ -0,0 +1,18 @@
1
+ import { ENTERTAINMENT_SERVICE_TYPE_OPTIONS } from "../entertainmentServiceTypeOptions.js";
2
+
3
+ describe("ENTERTAINMENT_SERVICE_TYPE_OPTIONS", () => {
4
+ it("includes extended enum values (Musicians, Producers, etc.)", () => {
5
+ const values = ENTERTAINMENT_SERVICE_TYPE_OPTIONS.map((o) => o.value);
6
+ expect(values).toContain("Musicians");
7
+ expect(values).toContain("Producers");
8
+ expect(values).toContain("Singers");
9
+ expect(values).toContain("Instrumentalists");
10
+ expect(values).toContain("DJs");
11
+ });
12
+
13
+ it("has a label for every option", () => {
14
+ for (const opt of ENTERTAINMENT_SERVICE_TYPE_OPTIONS) {
15
+ expect(opt.label.trim().length).toBeGreaterThan(0);
16
+ }
17
+ });
18
+ });
@@ -0,0 +1,56 @@
1
+ import { EntertainmentServiceType } from "../definitions.js";
2
+
3
+ /** Human labels for every `EntertainmentServiceType` enum value (wizard + filters). */
4
+ export const ENTERTAINMENT_SERVICE_TYPE_LABELS: Record<
5
+ EntertainmentServiceType,
6
+ string
7
+ > = {
8
+ Emcees: "Emcees",
9
+ DJs: "DJs",
10
+ Bands: "Bands",
11
+ SoloMusicians: "Solo Musicians",
12
+ Comedy: "Comedy",
13
+ VarietyActs: "Variety Acts",
14
+ PerformanceArtists: "Performance Artists",
15
+ Magic: "Magic",
16
+ Dancers: "Dancers",
17
+ Aerialists: "Aerialists",
18
+ Impersonators: "Impersonators",
19
+ Speakers: "Speakers",
20
+ Auctioneers: "Auctioneers",
21
+ Musicians: "Musicians",
22
+ Producers: "Producers",
23
+ Singers: "Singers",
24
+ Instrumentalists: "Instrumentalists",
25
+ Other: "Other",
26
+ };
27
+
28
+ /** Ordered options for multi-select UIs (common types first, then extended enum values). */
29
+ export const ENTERTAINMENT_SERVICE_TYPE_OPTIONS: ReadonlyArray<{
30
+ value: EntertainmentServiceType;
31
+ label: string;
32
+ }> = (
33
+ [
34
+ "Emcees",
35
+ "DJs",
36
+ "Bands",
37
+ "SoloMusicians",
38
+ "Musicians",
39
+ "Singers",
40
+ "Instrumentalists",
41
+ "Producers",
42
+ "Comedy",
43
+ "VarietyActs",
44
+ "PerformanceArtists",
45
+ "Magic",
46
+ "Dancers",
47
+ "Aerialists",
48
+ "Impersonators",
49
+ "Speakers",
50
+ "Auctioneers",
51
+ "Other",
52
+ ] as const
53
+ ).map((value) => ({
54
+ value,
55
+ label: ENTERTAINMENT_SERVICE_TYPE_LABELS[value],
56
+ }));
@@ -146,21 +146,29 @@ export function dateTimeFromComponents(
146
146
  interpretAsTimezone?: string,
147
147
  timezoneToConvertTo?: string
148
148
  ): DateTime | null {
149
- let res = date
150
- ? DateTime.isDateTime(date)
151
- ? date.setZone(interpretAsTimezone)
152
- : dateTimeFromDate(date, interpretAsTimezone, timezoneToConvertTo)
153
- : DateTime.now().setZone(
154
- timezoneToConvertTo ?? interpretAsTimezone ?? undefined
155
- );
149
+ let res: DateTime;
150
+ if (date == null) {
151
+ res = DateTime.now().setZone(
152
+ timezoneToConvertTo ?? interpretAsTimezone ?? undefined
153
+ );
154
+ } else if (typeof date === "string" || date instanceof Date) {
155
+ res = dateTimeFromDate(date, interpretAsTimezone, timezoneToConvertTo);
156
+ } else {
157
+ res = date.setZone(interpretAsTimezone);
158
+ }
156
159
 
157
- const timeComp = DateTime.isDateTime(time)
158
- ? time.setZone(interpretAsTimezone)
159
- : dateTimeFromTime(
160
- time ?? "12:00 AM",
161
- interpretAsTimezone,
162
- timezoneToConvertTo
163
- );
160
+ let timeComp: DateTime | null;
161
+ if (time == null) {
162
+ timeComp = dateTimeFromTime(
163
+ "12:00 AM",
164
+ interpretAsTimezone,
165
+ timezoneToConvertTo
166
+ );
167
+ } else if (typeof time === "string" || time instanceof Date) {
168
+ timeComp = dateTimeFromTime(time, interpretAsTimezone, timezoneToConvertTo);
169
+ } else {
170
+ timeComp = time.setZone(interpretAsTimezone);
171
+ }
164
172
 
165
173
  if (!timeComp) {
166
174
  return null;
@@ -39,9 +39,12 @@ export type RecurrenceWireInput = Omit<
39
39
  export function occurrenceOverrideKey(
40
40
  occurrenceStart: Date | string | DateTime
41
41
  ): string {
42
- const dt = DateTime.isDateTime(occurrenceStart)
43
- ? occurrenceStart
44
- : dateTimeFromDate(occurrenceStart);
42
+ let dt: DateTime;
43
+ if (typeof occurrenceStart === "string" || occurrenceStart instanceof Date) {
44
+ dt = dateTimeFromDate(occurrenceStart);
45
+ } else {
46
+ dt = occurrenceStart;
47
+ }
45
48
  return dt.toFormat(LUXON_DATETIME_FORMAT_ISO_LIKE);
46
49
  }
47
50