@bash-app/bash-common 30.410.0 → 30.413.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/dist/__tests__/statusEnums.test.js +1 -0
- package/dist/__tests__/statusEnums.test.js.map +1 -1
- package/dist/definitions.d.ts +2 -0
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js.map +1 -1
- package/dist/extendedSchemas.d.ts +23 -1
- package/dist/extendedSchemas.d.ts.map +1 -1
- package/dist/extendedSchemas.js.map +1 -1
- package/dist/membershipDefinitions.d.ts +2 -0
- package/dist/membershipDefinitions.d.ts.map +1 -1
- package/dist/membershipDefinitions.js +2 -0
- package/dist/membershipDefinitions.js.map +1 -1
- package/dist/mirroredPrismaEnums.d.ts +1 -0
- package/dist/mirroredPrismaEnums.d.ts.map +1 -1
- package/dist/mirroredPrismaEnums.js +1 -0
- package/dist/mirroredPrismaEnums.js.map +1 -1
- package/dist/utils/__tests__/slugUtils.test.js +4 -4
- package/dist/utils/__tests__/slugUtils.test.js.map +1 -1
- package/dist/utils/slugUtils.d.ts +4 -1
- package/dist/utils/slugUtils.d.ts.map +1 -1
- package/dist/utils/slugUtils.js +8 -2
- package/dist/utils/slugUtils.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +11 -0
- package/src/__tests__/statusEnums.test.ts +1 -0
- package/src/definitions.ts +2 -0
- package/src/extendedSchemas.ts +27 -0
- package/src/membershipDefinitions.ts +2 -0
- package/src/mirroredPrismaEnums.ts +1 -0
- package/src/utils/__tests__/slugUtils.test.ts +4 -3
- package/src/utils/slugUtils.ts +12 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slugUtils.js","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,SAAS,CAAC;AACzC,OAAO,EACL,eAAe,EACf,gCAAgC,EAChC,oCAAoC,EACpC,uBAAuB,EACvB,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,mBAAmB,CAAC;AAU3B,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED,yFAAyF;AACzF,SAAS,cAAc;IACrB,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,IACE,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa,KAAK,IAAI;QACtB,SAAS,IAAI,aAAa;QAC1B,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,EAClC,CAAC;QACD,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,OAAO,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,eAAuE,EACvE,SAAkB;IAElB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,IAAY;IACrE,OAAO,SAAS,WAAW,IAAI,IAAI,EAAE,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAmB,EACnB,IAA+B;IAE/B,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC;QACN,OAAO,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,eAAe,IAAI,WAAW,EAAE,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAmB,EACnB,IAA+B;IAE/B,OAAO,GAAG,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;AAClE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,0BAA0B,CACxC,WAAmB,EACnB,SAAiB,EACjB,OAAe;IAEf,OAAO,GAAG,6BAA6B,IAAI,WAAW,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;AACnF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gCAAgC,CAAC,WAAmB;IAClE,OAAO,0BAA0B,CAC/B,WAAW,EACX,gCAAgC,EAChC,oCAAoC,CACrC,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"slugUtils.js","sourceRoot":"","sources":["../../src/utils/slugUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -913,6 +913,10 @@ model BashEvent {
|
|
|
913
913
|
timezone String?
|
|
914
914
|
startDateTime DateTime?
|
|
915
915
|
endDateTime DateTime?
|
|
916
|
+
/// Wall clock kept when Duplicate clears the calendar day (hour/minute + overnight).
|
|
917
|
+
pendingScheduleClock Json?
|
|
918
|
+
/// When false, public pages and checkout hide sibling series dates and sell only this occurrence.
|
|
919
|
+
advertiseRecurrence Boolean @default(true)
|
|
916
920
|
waiverUrl String?
|
|
917
921
|
waiverRequired Boolean @default(false)
|
|
918
922
|
waiverDisplayType String? @default("inline")
|
|
@@ -1122,6 +1126,12 @@ model BashEvent {
|
|
|
1122
1126
|
fundingShowPledgesOnMeter Boolean @default(false)
|
|
1123
1127
|
/// When true on Rsvp-mode events, affirmative RSVPs land in a host approval queue first.
|
|
1124
1128
|
rsvpRequiresApproval Boolean @default(false)
|
|
1129
|
+
/// Host-set password that gates the public bash page. Null = off. Never returned to clients.
|
|
1130
|
+
eventAccessPasswordHash String?
|
|
1131
|
+
/// HMAC of the host-issued door staff code. Null = off. Never returned to clients.
|
|
1132
|
+
doorAccessCodeDigest String? @unique
|
|
1133
|
+
/// When false, guests cannot start a peer-to-peer ticket transfer. Default on.
|
|
1134
|
+
allowTicketTransfers Boolean @default(true)
|
|
1125
1135
|
/// Hide when guests RSVP'd on host-facing attendee views.
|
|
1126
1136
|
hideRsvpTimestamps Boolean @default(false)
|
|
1127
1137
|
/// Only allow inviting people who share a mutual bash with the host.
|
|
@@ -11552,6 +11562,7 @@ enum CreditSourceType {
|
|
|
11552
11562
|
BirthdayReward // Annual BashPoints boost on user's birthday
|
|
11553
11563
|
EventReferralReward // Per-event: attendee referred X friends, earned reward
|
|
11554
11564
|
RsvpBonus // First positive RSVP per user per event
|
|
11565
|
+
AvailabilitySignal // Once per user per availability window period (anti-farm)
|
|
11555
11566
|
TicketCheckout // Completing a free or paid checkout per user per event
|
|
11556
11567
|
AttendanceBonus // Checking in at the event (per ticket)
|
|
11557
11568
|
PostBeforeEvent // First BashFeed post linked to event before it ends
|
package/src/definitions.ts
CHANGED
|
@@ -388,6 +388,8 @@ export type DoorConfigPublic = {
|
|
|
388
388
|
doorPaymentRail: DoorPaymentRail;
|
|
389
389
|
/** Host has verified Square + location when rail is or can be Square. */
|
|
390
390
|
squareLocationReady: boolean;
|
|
391
|
+
/** How this viewer may use the door app. Omitted on older API. */
|
|
392
|
+
viewerDoorAccess?: "none" | "pin" | "staff";
|
|
391
393
|
};
|
|
392
394
|
|
|
393
395
|
/** Door scanner: ticket QR verification result. */
|
package/src/extendedSchemas.ts
CHANGED
|
@@ -610,6 +610,8 @@ type BashEventExtBase = Override<
|
|
|
610
610
|
| "postponedAt"
|
|
611
611
|
| "postponeResponseDeadline"
|
|
612
612
|
| "seatMap"
|
|
613
|
+
| "eventAccessPasswordHash"
|
|
614
|
+
| "doorAccessCodeDigest"
|
|
613
615
|
>,
|
|
614
616
|
{
|
|
615
617
|
icebreakerPrompt: string | null;
|
|
@@ -751,6 +753,20 @@ type BashEventExtBase = Override<
|
|
|
751
753
|
* Host opt-in: guests must have a profile photo to RSVP or buy tickets.
|
|
752
754
|
*/
|
|
753
755
|
requireProfilePhoto: boolean;
|
|
756
|
+
/**
|
|
757
|
+
* True when the host set an event-page password. The hash is never returned.
|
|
758
|
+
*/
|
|
759
|
+
eventAccessPasswordRequired?: boolean;
|
|
760
|
+
/**
|
|
761
|
+
* True when the viewer still needs to unlock a password-protected bash.
|
|
762
|
+
*/
|
|
763
|
+
eventAccessLocked?: boolean;
|
|
764
|
+
/**
|
|
765
|
+
* Present on server reads. Stripped from JSON responses before they leave the API.
|
|
766
|
+
*/
|
|
767
|
+
eventAccessPasswordHash?: string | null;
|
|
768
|
+
/** Present on server reads. Stripped from JSON responses before they leave the API. */
|
|
769
|
+
doorAccessCodeDigest?: string | null;
|
|
754
770
|
};
|
|
755
771
|
|
|
756
772
|
export type BashEventExt = Omit<
|
|
@@ -786,6 +802,17 @@ export type BashEventUpsertWireInput = Override<
|
|
|
786
802
|
startDateTime?: Date | string | null;
|
|
787
803
|
endDateTime?: Date | string | null;
|
|
788
804
|
ideaExpiresAt?: Date | string | null;
|
|
805
|
+
pendingScheduleClock?:
|
|
806
|
+
| {
|
|
807
|
+
startHour: number;
|
|
808
|
+
startMinute: number;
|
|
809
|
+
endHour: number | null;
|
|
810
|
+
endMinute: number | null;
|
|
811
|
+
endsNextDay: boolean;
|
|
812
|
+
}
|
|
813
|
+
| import("@prisma/client").Prisma.JsonValue
|
|
814
|
+
| null;
|
|
815
|
+
advertiseRecurrence?: boolean;
|
|
789
816
|
}
|
|
790
817
|
>,
|
|
791
818
|
{
|
|
@@ -266,6 +266,8 @@ export const BASHPOINTS_CONFIG = {
|
|
|
266
266
|
|
|
267
267
|
// Recurring engagement rewards (once per user per event)
|
|
268
268
|
rsvpBonus: 25, // First positive RSVP (Going/Maybe/WantsToGo) per event
|
|
269
|
+
/** Once per window period: Now/Tonight/Custom = UTC day, ThisWeekend = that weekend */
|
|
270
|
+
availabilityWindowBonus: 25,
|
|
269
271
|
ticketCheckoutBonus: 50, // Claiming or buying a ticket (free or paid) per event
|
|
270
272
|
attendanceBonus: 150, // Checking in at the event (attending > posting)
|
|
271
273
|
postBeforeEventBonus: 50, // First BashFeed post linked to event before it ends
|
|
@@ -186,6 +186,7 @@ export const CreditSourceType = {
|
|
|
186
186
|
BirthdayReward: "BirthdayReward",
|
|
187
187
|
EventReferralReward: "EventReferralReward",
|
|
188
188
|
RsvpBonus: "RsvpBonus",
|
|
189
|
+
AvailabilitySignal: "AvailabilitySignal",
|
|
189
190
|
TicketCheckout: "TicketCheckout",
|
|
190
191
|
AttendanceBonus: "AttendanceBonus",
|
|
191
192
|
PostBeforeEvent: "PostBeforeEvent",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { describe, expect, test } from "@jest/globals";
|
|
2
2
|
import {
|
|
3
3
|
BASH_DETAIL_URL,
|
|
4
|
+
BASH_EVENT_WIZARD_GENERATE_SUBSTEP,
|
|
4
5
|
BASH_EVENT_WIZARD_HOW_MAJOR_STEP,
|
|
5
6
|
BASH_EVENT_WIZARD_HOW_SUBSTEP,
|
|
6
7
|
BASH_EVENT_WIZARD_HOW_SUBSTEP_PAYOUT,
|
|
@@ -143,13 +144,13 @@ describe("getBashEventWizardPayoutStepPath", () => {
|
|
|
143
144
|
});
|
|
144
145
|
|
|
145
146
|
describe("getBashEventWizardStartPath", () => {
|
|
146
|
-
test("
|
|
147
|
+
test("opens a new draft on Generate", () => {
|
|
147
148
|
expect(getBashEventWizardStartPath()).toBe(
|
|
148
|
-
`${BASH_EVENT_WIZARD_PATH_PREFIX}/new/${BASH_EVENT_WIZARD_MAJOR.
|
|
149
|
+
`${BASH_EVENT_WIZARD_PATH_PREFIX}/new/${BASH_EVENT_WIZARD_MAJOR.GENERATE}/${BASH_EVENT_WIZARD_GENERATE_SUBSTEP.START}`
|
|
149
150
|
);
|
|
150
151
|
});
|
|
151
152
|
|
|
152
|
-
test("
|
|
153
|
+
test("opens an existing event on Quick bash", () => {
|
|
153
154
|
expect(getBashEventWizardStartPath("evt-1")).toBe(
|
|
154
155
|
`${BASH_EVENT_WIZARD_PATH_PREFIX}/evt-1/${BASH_EVENT_WIZARD_MAJOR.TEMPLATES}/${BASH_EVENT_WIZARD_TEMPLATES_SUBSTEP.START}`
|
|
155
156
|
);
|
package/src/utils/slugUtils.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as slugifyImport from "slugify";
|
|
2
2
|
import {
|
|
3
3
|
BASH_DETAIL_URL,
|
|
4
|
+
BASH_EVENT_WIZARD_GENERATE_SUBSTEP,
|
|
4
5
|
BASH_EVENT_WIZARD_HOW_MAJOR_STEP,
|
|
5
6
|
BASH_EVENT_WIZARD_HOW_SUBSTEP_PAYOUT,
|
|
6
7
|
BASH_EVENT_WIZARD_MAJOR,
|
|
@@ -114,8 +115,18 @@ export function getBashEventWizardPayoutStepPath(bashEventId: string): string {
|
|
|
114
115
|
);
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
/**
|
|
118
|
+
/**
|
|
119
|
+
* New drafts open on Generate (flyer upload + AI).
|
|
120
|
+
* An existing event id still opens Quick bash so resume does not dump hosts into the composer.
|
|
121
|
+
*/
|
|
118
122
|
export function getBashEventWizardStartPath(bashEventId = "new"): string {
|
|
123
|
+
if (bashEventId === "new") {
|
|
124
|
+
return getBashEventWizardStepPath(
|
|
125
|
+
bashEventId,
|
|
126
|
+
BASH_EVENT_WIZARD_MAJOR.GENERATE,
|
|
127
|
+
BASH_EVENT_WIZARD_GENERATE_SUBSTEP.START
|
|
128
|
+
);
|
|
129
|
+
}
|
|
119
130
|
return getBashEventWizardStepPath(
|
|
120
131
|
bashEventId,
|
|
121
132
|
BASH_EVENT_WIZARD_MAJOR.TEMPLATES,
|