@bash-app/bash-common 30.274.0 → 30.276.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 (65) hide show
  1. package/dist/__tests__/groupTicketUtils.test.d.ts +2 -0
  2. package/dist/__tests__/groupTicketUtils.test.d.ts.map +1 -0
  3. package/dist/__tests__/groupTicketUtils.test.js +38 -0
  4. package/dist/__tests__/groupTicketUtils.test.js.map +1 -0
  5. package/dist/competitionIdeas.d.ts +19 -0
  6. package/dist/competitionIdeas.d.ts.map +1 -0
  7. package/dist/competitionIdeas.js +405 -0
  8. package/dist/competitionIdeas.js.map +1 -0
  9. package/dist/competitionValidation.d.ts +10 -0
  10. package/dist/competitionValidation.d.ts.map +1 -0
  11. package/dist/competitionValidation.js +29 -0
  12. package/dist/competitionValidation.js.map +1 -0
  13. package/dist/definitions.d.ts +4 -0
  14. package/dist/definitions.d.ts.map +1 -1
  15. package/dist/definitions.js.map +1 -1
  16. package/dist/extendedSchemas.d.ts +351 -1
  17. package/dist/extendedSchemas.d.ts.map +1 -1
  18. package/dist/extendedSchemas.js +15 -0
  19. package/dist/extendedSchemas.js.map +1 -1
  20. package/dist/groupTicketUtils.d.ts +19 -0
  21. package/dist/groupTicketUtils.d.ts.map +1 -0
  22. package/dist/groupTicketUtils.js +74 -0
  23. package/dist/groupTicketUtils.js.map +1 -0
  24. package/dist/index.d.ts +4 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/utils/__tests__/guestSurface.test.js +13 -1
  29. package/dist/utils/__tests__/guestSurface.test.js.map +1 -1
  30. package/dist/utils/__tests__/paymentUtils.test.js +18 -0
  31. package/dist/utils/__tests__/paymentUtils.test.js.map +1 -1
  32. package/dist/utils/__tests__/ticketListUtils.test.js +10 -0
  33. package/dist/utils/__tests__/ticketListUtils.test.js.map +1 -1
  34. package/dist/utils/groupTicketCartUtils.d.ts +12 -0
  35. package/dist/utils/groupTicketCartUtils.d.ts.map +1 -0
  36. package/dist/utils/groupTicketCartUtils.js +30 -0
  37. package/dist/utils/groupTicketCartUtils.js.map +1 -0
  38. package/dist/utils/guestSurface.d.ts +9 -0
  39. package/dist/utils/guestSurface.d.ts.map +1 -1
  40. package/dist/utils/guestSurface.js +8 -0
  41. package/dist/utils/guestSurface.js.map +1 -1
  42. package/dist/utils/paymentUtils.d.ts +10 -0
  43. package/dist/utils/paymentUtils.d.ts.map +1 -1
  44. package/dist/utils/paymentUtils.js +37 -1
  45. package/dist/utils/paymentUtils.js.map +1 -1
  46. package/dist/utils/ticketListUtils.d.ts.map +1 -1
  47. package/dist/utils/ticketListUtils.js +15 -3
  48. package/dist/utils/ticketListUtils.js.map +1 -1
  49. package/package.json +1 -1
  50. package/prisma/migrations/competition-prize-catalog-entry-tier.sql +39 -0
  51. package/prisma/schema.prisma +92 -7
  52. package/src/__tests__/groupTicketUtils.test.ts +53 -0
  53. package/src/competitionIdeas.ts +429 -0
  54. package/src/competitionValidation.ts +42 -0
  55. package/src/definitions.ts +5 -0
  56. package/src/extendedSchemas.ts +47 -0
  57. package/src/groupTicketUtils.ts +101 -0
  58. package/src/index.ts +4 -0
  59. package/src/utils/__tests__/guestSurface.test.ts +21 -0
  60. package/src/utils/__tests__/paymentUtils.test.ts +19 -0
  61. package/src/utils/__tests__/ticketListUtils.test.ts +12 -0
  62. package/src/utils/groupTicketCartUtils.ts +36 -0
  63. package/src/utils/guestSurface.ts +17 -0
  64. package/src/utils/paymentUtils.ts +42 -1
  65. package/src/utils/ticketListUtils.ts +19 -5
@@ -1 +1 @@
1
- {"version":3,"file":"paymentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paymentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,41 @@ export function calculateDiscountFromPromoCode(totalInDollars, promoCode) {
19
19
  }
20
20
  return 0;
21
21
  }
22
+ /**
23
+ * Unit price in cents for checkout (supports pay-what-you-can tiers).
24
+ */
25
+ export function effectiveTicketUnitPriceCents(tier, row) {
26
+ if (tier.isDonationTier === true && row.unitPriceCents != null) {
27
+ return Math.max(tier.price, row.unitPriceCents);
28
+ }
29
+ return tier.price;
30
+ }
31
+ export function validatePayWhatYouCanTicketList(ticketTiers, ticketList) {
32
+ for (const tier of ticketTiers) {
33
+ if (tier.isDonationTier !== true)
34
+ continue;
35
+ const rows = ticketList.get(tier.id);
36
+ if (!rows?.length)
37
+ continue;
38
+ for (const row of rows) {
39
+ if ((row.numberOfTickets ?? 0) <= 0)
40
+ continue;
41
+ if (row.unitPriceCents == null) {
42
+ return {
43
+ ok: false,
44
+ message: `Enter an amount for ${tier.title} (minimum $${convertCentsToDollars(tier.price).toFixed(2)}).`,
45
+ };
46
+ }
47
+ if (row.unitPriceCents < tier.price) {
48
+ return {
49
+ ok: false,
50
+ message: `${tier.title} requires at least $${convertCentsToDollars(tier.price).toFixed(2)} per ticket.`,
51
+ };
52
+ }
53
+ }
54
+ }
55
+ return { ok: true };
56
+ }
22
57
  /**
23
58
  * Returns the total price in USD cents based on a map where the keys are the ticketTierIds
24
59
  * Only counts USD-priced tickets. BashPoints tickets are excluded (they have price=0).
@@ -32,7 +67,8 @@ export function calculateTotalPriceWithoutTax(ticketTiers, ticketList) {
32
67
  if (tier.pricingType !== "BASHPOINTS") {
33
68
  const ticketListNumAndDate = ticketList.get(tier.id);
34
69
  ticketListNumAndDate?.forEach((numAndDate) => {
35
- total += tier.price * (numAndDate.numberOfTickets ?? 0);
70
+ const unitCents = effectiveTicketUnitPriceCents(tier, numAndDate);
71
+ total += unitCents * (numAndDate.numberOfTickets ?? 0);
36
72
  });
37
73
  }
38
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"paymentUtils.js","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paymentUtils.js","sourceRoot":"","sources":["../../src/utils/paymentUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ticketListUtils.d.ts","sourceRoot":"","sources":["../../src/utils/ticketListUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AA4C3B;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,GAChD,MAAM,CAsCR;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAgEvC"}
1
+ {"version":3,"file":"ticketListUtils.d.ts","sourceRoot":"","sources":["../../src/utils/ticketListUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AA4C3B;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,GAChD,MAAM,CA2CR;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAyEvC"}
@@ -65,7 +65,10 @@ export function ticketListToString(ticketList) {
65
65
  dateTimeStr = dateTime.toISO() || dateTimeStr;
66
66
  }
67
67
  }
68
- ticketArgs.push(`${ticketNumAndDates.numberOfTickets}${URL_PARAMS_TICKETS_DATE_DELIM}${dateTimeStr}`);
68
+ ticketArgs.push(`${ticketNumAndDates.numberOfTickets}${URL_PARAMS_TICKETS_DATE_DELIM}${dateTimeStr}${ticketNumAndDates.unitPriceCents != null &&
69
+ ticketNumAndDates.unitPriceCents > 0
70
+ ? `${URL_PARAMS_TICKETS_DATE_DELIM}${ticketNumAndDates.unitPriceCents}`
71
+ : ""}`);
69
72
  }
70
73
  }
71
74
  // Only include this tier if we found at least one ticket > 0
@@ -114,16 +117,25 @@ export function ticketListStrToTicketList(ticketListStr) {
114
117
  .split(URL_PARAMS_NUMBER_OF_TICKETS_TICKETS_DATE_DELIM)
115
118
  .filter((ticketNumAndDateStr) => !!ticketNumAndDateStr);
116
119
  for (const ticketNumAndDateStr of ticketNumAndDates) {
117
- // [numberOfTickets];;[date]
118
- const [numberOfTickets, ticketDateTimeStr] = ticketNumAndDateStr.split(URL_PARAMS_TICKETS_DATE_DELIM);
120
+ // [numberOfTickets];;[date];;[unitPriceCents?]
121
+ const segments = ticketNumAndDateStr.split(URL_PARAMS_TICKETS_DATE_DELIM);
122
+ const numberOfTickets = segments[0];
123
+ const ticketDateTimeStr = segments[1];
124
+ const unitPriceCentsRaw = segments[2];
119
125
  const ticketDateTime = DateTime.fromISO(ticketDateTimeStr);
120
126
  let ticketDateTimeFormattedStr = undefined;
121
127
  if (ticketDateTime.isValid) {
122
128
  ticketDateTimeFormattedStr = ticketDateTime.toISO() ?? undefined;
123
129
  }
130
+ const unitPriceCents = unitPriceCentsRaw != null && unitPriceCentsRaw !== ""
131
+ ? parseInt(unitPriceCentsRaw, 10)
132
+ : undefined;
124
133
  ticketNumAndDatesArr.push({
125
134
  numberOfTickets: parseInt(numberOfTickets),
126
135
  ticketDateTime: ticketDateTimeFormattedStr,
136
+ ...(unitPriceCents != null && !Number.isNaN(unitPriceCents)
137
+ ? { unitPriceCents }
138
+ : {}),
127
139
  });
128
140
  }
129
141
  ticketList.set(ticketTierId, ticketNumAndDatesArr);
@@ -1 +1 @@
1
- {"version":3,"file":"ticketListUtils.js","sourceRoot":"","sources":["../../src/utils/ticketListUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticketListUtils.js","sourceRoot":"","sources":["../../src/utils/ticketListUtils.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.274.0",
3
+ "version": "30.276.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",
@@ -0,0 +1,39 @@
1
+ -- Competition prize catalog + entry ticket tier link
2
+ -- Safe additive migration — preserves all data
3
+ BEGIN;
4
+
5
+ -- Prize catalog fields
6
+ ALTER TABLE "Prize" ADD COLUMN IF NOT EXISTS "sponsorLabel" TEXT;
7
+ ALTER TABLE "Prize" ADD COLUMN IF NOT EXISTS "imageUrl" TEXT;
8
+
9
+ -- Competition entry ticket tier + host promotions acknowledgment
10
+ ALTER TABLE "Competition" ADD COLUMN IF NOT EXISTS "entryTicketTierId" TEXT;
11
+ ALTER TABLE "Competition" ADD COLUMN IF NOT EXISTS "hostPromotionsAckAt" TIMESTAMP(3);
12
+
13
+ DO $$
14
+ BEGIN
15
+ IF NOT EXISTS (
16
+ SELECT 1 FROM pg_constraint WHERE conname = 'Competition_entryTicketTierId_key'
17
+ ) THEN
18
+ ALTER TABLE "Competition"
19
+ ADD CONSTRAINT "Competition_entryTicketTierId_key" UNIQUE ("entryTicketTierId");
20
+ END IF;
21
+ END $$;
22
+
23
+ DO $$
24
+ BEGIN
25
+ IF NOT EXISTS (
26
+ SELECT 1 FROM pg_constraint WHERE conname = 'Competition_entryTicketTierId_fkey'
27
+ ) THEN
28
+ ALTER TABLE "Competition"
29
+ ADD CONSTRAINT "Competition_entryTicketTierId_fkey"
30
+ FOREIGN KEY ("entryTicketTierId") REFERENCES "TicketTier"("id")
31
+ ON DELETE SET NULL ON UPDATE CASCADE;
32
+ END IF;
33
+ END $$;
34
+
35
+ COMMIT;
36
+
37
+ -- Verification
38
+ -- SELECT column_name FROM information_schema.columns WHERE table_name = 'Prize' AND column_name IN ('sponsorLabel', 'imageUrl');
39
+ -- SELECT column_name FROM information_schema.columns WHERE table_name = 'Competition' AND column_name IN ('entryTicketTierId', 'hostPromotionsAckAt');
@@ -239,12 +239,25 @@ model Competition {
239
239
  bracketData Json? // Store bracket structure/metadata
240
240
  bracketVisible Boolean @default(true)
241
241
 
242
+ /// Optional ticket tier required for competition entry (participation fee / game entry)
243
+ entryTicketTierId String? @unique
244
+ entryTicketTier TicketTier? @relation("CompetitionEntryTicketTier", fields: [entryTicketTierId], references: [id], onDelete: SetNull)
245
+ /// When the host acknowledged contests/promotions Terms at setup
246
+ hostPromotionsAckAt DateTime?
247
+ /// Minimum event donation (cents) that qualifies for game entry when no linked tier (or OR with tier).
248
+ entryMinDonationCents Int?
249
+ /// Optional fundraising goal for public progress display (participation revenue + donations).
250
+ fundraiserGoalCents Int?
251
+ /// Host accepts inbound prize contributions from users/businesses.
252
+ seekingPrizes Boolean @default(false)
253
+
242
254
  createdAt DateTime @default(now())
243
255
  updatedAt DateTime @updatedAt
244
256
  bashEvent BashEvent @relation(fields: [bashEventId], references: [id], onDelete: Cascade)
245
257
  owner User @relation(fields: [userId], references: [id], onDelete: Cascade)
246
258
  sponsor CompetitionSponsor[]
247
259
  prizes Prize[]
260
+ prizeOffers CompetitionPrizeOffer[]
248
261
  participants CompetitionParticipant[]
249
262
  votes CompetitionVote[]
250
263
  matches CompetitionMatch[]
@@ -289,13 +302,46 @@ model CompetitionJudgeScore {
289
302
  }
290
303
 
291
304
  model CompetitionSponsor {
292
- id String @id @default(cuid())
293
- competitionId String
294
- userId String
295
- description String
296
- paidOn String?
297
- competition Competition @relation(fields: [competitionId], references: [id], onDelete: Cascade)
298
- sponsor User @relation(fields: [userId], references: [id], onDelete: Cascade)
305
+ id String @id @default(cuid())
306
+ competitionId String
307
+ userId String?
308
+ /// Optional link to a Sponsor marketplace service for discovery/branding
309
+ sourceServiceId String?
310
+ /// Display name when sponsor is not a platform user
311
+ sponsorName String?
312
+ logoUrl String?
313
+ description String?
314
+ paidOn String?
315
+ competition Competition @relation(fields: [competitionId], references: [id], onDelete: Cascade)
316
+ sponsor User? @relation(fields: [userId], references: [id], onDelete: Cascade)
317
+ sourceService Service? @relation("CompetitionSponsorSourceService", fields: [sourceServiceId], references: [id], onDelete: SetNull)
318
+
319
+ @@index([sourceServiceId])
320
+ }
321
+
322
+ /// Inbound prize contribution proposal (Bash matchmaker — host accepts → Prize row).
323
+ model CompetitionPrizeOffer {
324
+ id String @id @default(cuid())
325
+ competitionId String
326
+ offeredByUserId String
327
+ status CompetitionPrizeOfferStatus @default(PENDING)
328
+ name String
329
+ description String @db.Text
330
+ imageUrl String?
331
+ sponsorLabel String?
332
+ sourceServiceId String?
333
+ sourceSku String?
334
+ hostNote String?
335
+ createdAt DateTime @default(now())
336
+ updatedAt DateTime @updatedAt
337
+ respondedAt DateTime?
338
+ competition Competition @relation(fields: [competitionId], references: [id], onDelete: Cascade)
339
+ offeredBy User @relation("CompetitionPrizeOffersSubmitted", fields: [offeredByUserId], references: [id], onDelete: Cascade)
340
+ sourceService Service? @relation("CompetitionPrizeOfferSourceService", fields: [sourceServiceId], references: [id], onDelete: SetNull)
341
+
342
+ @@index([competitionId])
343
+ @@index([offeredByUserId])
344
+ @@index([status])
299
345
  }
300
346
 
301
347
  model CompetitionParticipant {
@@ -746,6 +792,8 @@ model BashEvent {
746
792
  featuredGuestsHeadline String?
747
793
  /// When true, bash detail shows the full privacy-filtered guest list to everyone (not just tier holders).
748
794
  attendeeListPublic Boolean @default(false)
795
+ /// Preview = count + curated faces; Public = full list for everyone; TicketHolders = full list for ticket buyers only.
796
+ attendeeListAccess String @default("Preview")
749
797
  showOrganizerTitles Boolean @default(false)
750
798
  servicePreferences Json? // New tiered status: { "Entertainment": "need", "Sponsors": "booked_closed", ... }
751
799
  bookedServices Json? // Booked service details: { "Entertainment": { serviceId: "...", providerId: "...", bookedAt: "..." }, ... }
@@ -2032,8 +2080,13 @@ model TicketTier {
2032
2080
  bashPassEligible Boolean @default(false)
2033
2081
  /// Max BashPass redemptions for this tier (null = unlimited within tier capacity).
2034
2082
  bashPassMaxRedemptions Int?
2083
+ /// One checkout buys a fixed package (e.g. table); price is package total, not per-person.
2084
+ isGroupTicket Boolean @default(false)
2085
+ /// Headcount included per package when isGroupTicket (e.g. 6). Required when isGroupTicket.
2086
+ groupTicketSeatCount Int?
2035
2087
  ticketGiftGrants TicketGiftGrant[]
2036
2088
  tierReleaseReminders TierReleaseReminder[]
2089
+ entryCompetition Competition? @relation("CompetitionEntryTicketTier")
2037
2090
 
2038
2091
  @@unique([bashEventId, title])
2039
2092
  @@index([availableAt])
@@ -2111,6 +2164,8 @@ model Ticket {
2111
2164
  waitlistUserId String?
2112
2165
  /// Rotated when ticket is transferred; QR payload must match for check-in (null = legacy tickets, no strict check).
2113
2166
  qrToken String?
2167
+ /// Actual unit price paid at checkout in cents (PWYC tiers; null = use tier.price for legacy rows).
2168
+ paidUnitPriceCents Int?
2114
2169
 
2115
2170
  /// P2P Venmo/Zelle off-platform payment flow
2116
2171
  p2pPaymentMethod String?
@@ -2468,6 +2523,8 @@ model Prize {
2468
2523
  prizeType PrizeType
2469
2524
  name String // Prize name (e.g., "$100 Cash", "Backpack")
2470
2525
  placeName String? // Display name (e.g., "1st Place", "Winner")
2526
+ sponsorLabel String? // e.g. "Contributed by Acme Co"
2527
+ imageUrl String? // Optional prize photo
2471
2528
  prizeLevel Int
2472
2529
  description String
2473
2530
  competitionId String?
@@ -2475,6 +2532,16 @@ model Prize {
2475
2532
  winnerUserId String?
2476
2533
  wonAt DateTime? // When the prize was awarded
2477
2534
  claimedAt DateTime? // When the prize was claimed
2535
+ /// Platform user who donated this prize (optional)
2536
+ contributorUserId String?
2537
+ /// Sponsor marketplace service the prize was picked from (optional)
2538
+ sourceServiceId String?
2539
+ sourceSku String?
2540
+ /// Contributor marked their in-kind commitment fulfilled (off-platform delivery via host)
2541
+ contributorFulfilledAt DateTime?
2542
+ contributorFulfilledNote String?
2543
+ /// Host marked prize handed to winner
2544
+ hostDeliveredAt DateTime?
2478
2545
 
2479
2546
  // Automatic payment fields
2480
2547
  autoPayEnabled Boolean @default(false)
@@ -2495,10 +2562,14 @@ model Prize {
2495
2562
 
2496
2563
  competition Competition? @relation(fields: [competitionId], references: [id], onDelete: Cascade)
2497
2564
  winner User? @relation(fields: [winnerUserId], references: [id], onDelete: Cascade)
2565
+ contributor User? @relation("PrizeContributor", fields: [contributorUserId], references: [id], onDelete: SetNull)
2566
+ sourceService Service? @relation("PrizeSourceService", fields: [sourceServiceId], references: [id], onDelete: SetNull)
2498
2567
  bashPointsTransaction BashCreditTransaction? @relation(fields: [bashPointsTransactionId], references: [id], onDelete: SetNull)
2499
2568
 
2500
2569
  @@index([competitionId])
2501
2570
  @@index([winnerUserId]) // For fetching user's wins
2571
+ @@index([contributorUserId])
2572
+ @@index([sourceServiceId])
2502
2573
  @@index([bashPointsTransactionId])
2503
2574
  }
2504
2575
 
@@ -2817,6 +2888,8 @@ model User {
2817
2888
  clubMembers ClubMember[]
2818
2889
  competitions Competition[]
2819
2890
  competitionSponsorships CompetitionSponsor[]
2891
+ competitionPrizeOffersSubmitted CompetitionPrizeOffer[] @relation("CompetitionPrizeOffersSubmitted")
2892
+ prizesContributed Prize[] @relation("PrizeContributor")
2820
2893
  competitionParticipations CompetitionParticipant[]
2821
2894
  competitionVotes CompetitionVote[]
2822
2895
  competitionJudgeAssignments CompetitionJudgeAssignment[] @relation("CompetitionJudgeAssignments")
@@ -3553,6 +3626,9 @@ model Service {
3553
3626
  promotionBlastTemplates PromotionBlastTemplate[]
3554
3627
  promotionBlastEntitlements PromotionBlastEntitlement[]
3555
3628
  promotionBlasts PromotionBlast[]
3629
+ competitionPrizesSourced Prize[] @relation("PrizeSourceService")
3630
+ competitionSponsorCredits CompetitionSponsor[] @relation("CompetitionSponsorSourceService")
3631
+ competitionPrizeOffersSourced CompetitionPrizeOffer[] @relation("CompetitionPrizeOfferSourceService")
3556
3632
 
3557
3633
  @@index([serviceListingStripeSubscriptionId])
3558
3634
  @@index([paymentAccountId])
@@ -6106,6 +6182,13 @@ enum PrizePaymentMethod {
6106
6182
  Manual
6107
6183
  }
6108
6184
 
6185
+ enum CompetitionPrizeOfferStatus {
6186
+ PENDING
6187
+ ACCEPTED
6188
+ DECLINED
6189
+ WITHDRAWN
6190
+ }
6191
+
6109
6192
  enum PrizePaymentStatus {
6110
6193
  Pending
6111
6194
  AwaitingPayment
@@ -9169,6 +9252,8 @@ model GroupMember {
9169
9252
  userId String
9170
9253
  status GroupMemberStatus @default(Invited)
9171
9254
  ticketId String? // Set when status = Going
9255
+ /// Group leader marked this member as having reimbursed their share off-platform (Venmo, etc.)
9256
+ reimbursedLeaderAt DateTime?
9172
9257
  joinedAt DateTime @default(now())
9173
9258
 
9174
9259
  group EventGroup @relation(fields: [groupId], references: [id], onDelete: Cascade)
@@ -0,0 +1,53 @@
1
+ import {
2
+ formatGroupPackagePerPersonUsd,
3
+ groupPackageShareCents,
4
+ isGroupTicketTier,
5
+ packagesSoldFromTicketCount,
6
+ validateGroupTicketTierInput,
7
+ } from "../groupTicketUtils.js";
8
+
9
+ describe("isGroupTicketTier", () => {
10
+ it("returns true when flag and seat count are valid", () => {
11
+ expect(
12
+ isGroupTicketTier({ isGroupTicket: true, groupTicketSeatCount: 6 })
13
+ ).toBe(true);
14
+ });
15
+
16
+ it("returns false when seat count is below minimum", () => {
17
+ expect(
18
+ isGroupTicketTier({ isGroupTicket: true, groupTicketSeatCount: 1 })
19
+ ).toBe(false);
20
+ });
21
+ });
22
+
23
+ describe("packagesSoldFromTicketCount", () => {
24
+ it("converts seat rows to package count", () => {
25
+ expect(packagesSoldFromTicketCount(12, 6)).toBe(2);
26
+ expect(packagesSoldFromTicketCount(7, 6)).toBe(2);
27
+ });
28
+ });
29
+
30
+ describe("groupPackageShareCents", () => {
31
+ it("splits package price evenly in cents", () => {
32
+ expect(groupPackageShareCents(60000, 6)).toBe(10000);
33
+ });
34
+ });
35
+
36
+ describe("formatGroupPackagePerPersonUsd", () => {
37
+ it("formats per-person USD", () => {
38
+ expect(formatGroupPackagePerPersonUsd(60000, 6)).toMatch(/\$100/);
39
+ });
40
+ });
41
+
42
+ describe("validateGroupTicketTierInput", () => {
43
+ it("rejects donation group packages", () => {
44
+ const result = validateGroupTicketTierInput({
45
+ isGroupTicket: true,
46
+ groupTicketSeatCount: 6,
47
+ isDonationTier: true,
48
+ isWaitlistTier: false,
49
+ pricingType: "USD",
50
+ });
51
+ expect(result.ok).toBe(false);
52
+ });
53
+ });