@bash-app/bash-common 30.275.0 → 30.277.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 (68) 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 +6 -0
  14. package/dist/definitions.d.ts.map +1 -1
  15. package/dist/definitions.js.map +1 -1
  16. package/dist/extendedSchemas.d.ts +356 -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__/paymentUtils.test.js +80 -8
  29. package/dist/utils/__tests__/paymentUtils.test.js.map +1 -1
  30. package/dist/utils/__tests__/recurrenceUtils.test.js +82 -1
  31. package/dist/utils/__tests__/recurrenceUtils.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/paymentUtils.d.ts +56 -0
  39. package/dist/utils/paymentUtils.d.ts.map +1 -1
  40. package/dist/utils/paymentUtils.js +114 -18
  41. package/dist/utils/paymentUtils.js.map +1 -1
  42. package/dist/utils/recurrenceUtils.d.ts +18 -0
  43. package/dist/utils/recurrenceUtils.d.ts.map +1 -1
  44. package/dist/utils/recurrenceUtils.js +70 -0
  45. package/dist/utils/recurrenceUtils.js.map +1 -1
  46. package/dist/utils/service/serviceBookingTypes.d.ts +1 -1
  47. package/dist/utils/service/serviceBookingTypes.d.ts.map +1 -1
  48. package/dist/utils/ticketListUtils.d.ts.map +1 -1
  49. package/dist/utils/ticketListUtils.js +15 -3
  50. package/dist/utils/ticketListUtils.js.map +1 -1
  51. package/package.json +1 -1
  52. package/prisma/migrations/competition-prize-catalog-entry-tier.sql +39 -0
  53. package/prisma/schema.prisma +118 -8
  54. package/src/__tests__/groupTicketUtils.test.ts +53 -0
  55. package/src/competitionIdeas.ts +429 -0
  56. package/src/competitionValidation.ts +42 -0
  57. package/src/definitions.ts +7 -0
  58. package/src/extendedSchemas.ts +52 -0
  59. package/src/groupTicketUtils.ts +101 -0
  60. package/src/index.ts +4 -0
  61. package/src/utils/__tests__/paymentUtils.test.ts +123 -8
  62. package/src/utils/__tests__/recurrenceUtils.test.ts +99 -0
  63. package/src/utils/__tests__/ticketListUtils.test.ts +12 -0
  64. package/src/utils/groupTicketCartUtils.ts +36 -0
  65. package/src/utils/paymentUtils.ts +165 -21
  66. package/src/utils/recurrenceUtils.ts +104 -0
  67. package/src/utils/service/serviceBookingTypes.ts +3 -0
  68. package/src/utils/ticketListUtils.ts +19 -5
@@ -67,6 +67,9 @@ export type ServiceBookingRequiredData = MakeNullablePropsOptional<
67
67
  // so callers building a new booking shape may omit them.
68
68
  | "settlementStatus"
69
69
  | "settlementAttempts"
70
+ // Reschedule lifecycle — DB defaults `rescheduleStatus` to None; the rest are
71
+ // nullable and set only when a host moves the date.
72
+ | "rescheduleStatus"
70
73
  >
71
74
  >;
72
75
 
@@ -80,7 +80,12 @@ export function ticketListToString(
80
80
  }
81
81
 
82
82
  ticketArgs.push(
83
- `${ticketNumAndDates.numberOfTickets}${URL_PARAMS_TICKETS_DATE_DELIM}${dateTimeStr}`
83
+ `${ticketNumAndDates.numberOfTickets}${URL_PARAMS_TICKETS_DATE_DELIM}${dateTimeStr}${
84
+ ticketNumAndDates.unitPriceCents != null &&
85
+ ticketNumAndDates.unitPriceCents > 0
86
+ ? `${URL_PARAMS_TICKETS_DATE_DELIM}${ticketNumAndDates.unitPriceCents}`
87
+ : ""
88
+ }`
84
89
  );
85
90
  }
86
91
  }
@@ -147,10 +152,11 @@ export function ticketListStrToTicketList(
147
152
  .filter((ticketNumAndDateStr): boolean => !!ticketNumAndDateStr);
148
153
 
149
154
  for (const ticketNumAndDateStr of ticketNumAndDates) {
150
- // [numberOfTickets];;[date]
151
- const [numberOfTickets, ticketDateTimeStr] = ticketNumAndDateStr.split(
152
- URL_PARAMS_TICKETS_DATE_DELIM
153
- );
155
+ // [numberOfTickets];;[date];;[unitPriceCents?]
156
+ const segments = ticketNumAndDateStr.split(URL_PARAMS_TICKETS_DATE_DELIM);
157
+ const numberOfTickets = segments[0];
158
+ const ticketDateTimeStr = segments[1];
159
+ const unitPriceCentsRaw = segments[2];
154
160
  const ticketDateTime = DateTime.fromISO(ticketDateTimeStr);
155
161
  let ticketDateTimeFormattedStr: string | undefined = undefined;
156
162
 
@@ -158,9 +164,17 @@ export function ticketListStrToTicketList(
158
164
  ticketDateTimeFormattedStr = ticketDateTime.toISO() ?? undefined;
159
165
  }
160
166
 
167
+ const unitPriceCents =
168
+ unitPriceCentsRaw != null && unitPriceCentsRaw !== ""
169
+ ? parseInt(unitPriceCentsRaw, 10)
170
+ : undefined;
171
+
161
172
  ticketNumAndDatesArr.push({
162
173
  numberOfTickets: parseInt(numberOfTickets),
163
174
  ticketDateTime: ticketDateTimeFormattedStr,
175
+ ...(unitPriceCents != null && !Number.isNaN(unitPriceCents)
176
+ ? { unitPriceCents }
177
+ : {}),
164
178
  });
165
179
  }
166
180
  ticketList.set(ticketTierId, ticketNumAndDatesArr);