@bash-app/bash-common 30.155.0 → 30.158.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 (39) hide show
  1. package/dist/definitions.d.ts +19 -8
  2. package/dist/definitions.d.ts.map +1 -1
  3. package/dist/definitions.js +2 -20
  4. package/dist/definitions.js.map +1 -1
  5. package/dist/extendedSchemas.d.ts +2 -2
  6. package/dist/extendedSchemas.d.ts.map +1 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +0 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/membershipDefinitions.d.ts +7 -12
  11. package/dist/membershipDefinitions.d.ts.map +1 -1
  12. package/dist/membershipDefinitions.js.map +1 -1
  13. package/dist/utils/index.d.ts.map +1 -1
  14. package/dist/utils/index.js +0 -1
  15. package/dist/utils/index.js.map +1 -1
  16. package/dist/utils/luxonUtils.d.ts.map +1 -1
  17. package/dist/utils/luxonUtils.js +1 -73
  18. package/dist/utils/luxonUtils.js.map +1 -1
  19. package/dist/utils/service/serviceDBUtils.d.ts +2 -0
  20. package/dist/utils/service/serviceDBUtils.d.ts.map +1 -1
  21. package/dist/utils/service/serviceDBUtils.js +2 -41
  22. package/dist/utils/service/serviceDBUtils.js.map +1 -1
  23. package/package.json +1 -1
  24. package/prisma/migrations/add_bash_availability.sql +53 -0
  25. package/prisma/migrations/add_event_group_allow_auto_join.sql +17 -0
  26. package/prisma/migrations/add_group_member_status_not_going_maybe.sql +5 -0
  27. package/prisma/migrations/add_groups_and_momentum.sql +135 -0
  28. package/prisma/migrations/add_groups_momentum_phase0_4.sql +200 -0
  29. package/prisma/migrations/add_new_feature_tables.sql +140 -0
  30. package/prisma/migrations/add_tier_privacy_and_fee_handling.sql +29 -0
  31. package/prisma/schema.prisma +241 -0
  32. package/src/definitions.ts +25 -73
  33. package/src/extendedSchemas.ts +2 -2
  34. package/src/index.ts +0 -1
  35. package/src/membershipDefinitions.ts +8 -14
  36. package/src/utils/index.ts +0 -1
  37. package/src/utils/luxonUtils.ts +1 -111
  38. package/src/utils/service/serviceDBUtils.ts +2 -41
  39. package/src/utils/service/serviceRateDBUtils.ts +0 -179
@@ -173,7 +173,7 @@ export function dateTimeRangeToInterval(dateTimeRange) {
173
173
  return Interval.fromDateTimes(dateTimeRange.start, dateTimeRange.end);
174
174
  }
175
175
  export function dateRangeDurationMatch(lhs, rhs, withinSeconds = 60) {
176
- return (Math.abs(lhs.end.diff(lhs.start).toMillis() - rhs.end.diff(rhs.end).toMillis()) <=
176
+ return (Math.abs(lhs.end.diff(lhs.start).toMillis() - rhs.end.diff(rhs.start).toMillis()) <=
177
177
  withinSeconds * 1000);
178
178
  }
179
179
  export function utcOffsetMinutesToTimezone(utcOffsetMinutes) {
@@ -292,7 +292,6 @@ function getOverlappingIntervalsList(ranges, inputInterval) {
292
292
  }
293
293
  //returns common horus that are overlapping with input Interval on everyday (with valid hours) within weekHours
294
294
  export function dateTimeGetOverlappingHoursCommonHelper(weekHours, inputInterval) {
295
- console.log(`dateTimeGetOverlappingHoursCommonHelper weekHours: ${JSON.stringify(weekHours)}, inputInterval: ${JSON.stringify(inputInterval)}`);
296
295
  let commonInterval = null;
297
296
  // const inputIntervalNormalized = normalizeLuxonInterval(inputInterval);
298
297
  for (const dayIdx in weekHours) {
@@ -303,7 +302,6 @@ export function dateTimeGetOverlappingHoursCommonHelper(weekHours, inputInterval
303
302
  }
304
303
  // Calculate overlapping intervals for the current day
305
304
  const dailyIntervals = getOverlappingIntervalsList(weekHours[dayKey], inputInterval);
306
- console.log(`dateTimeGetOverlappingHoursCommonHelper dayIdx: ${dayIdx}, dailyIntervals: ${JSON.stringify(dailyIntervals)}`);
307
305
  if (dailyIntervals.length === 0) {
308
306
  // No overlap for this day, so no common interval is possible
309
307
  continue;
@@ -350,7 +348,6 @@ export function dateTimeGetOverlappingHoursCommon(weekHours, inputHours) {
350
348
  }
351
349
  // Returns a list of overlapping hours for any dateRange in weekHours[startDay of inputRange]
352
350
  export function dateTimeGetOverlappingHoursContinuousHelper(weekHours, inputInterval) {
353
- console.log(`dateTimeGetOverlappingHoursContinuousHelper weekHours: ${JSON.stringify(weekHours)}, inputRange: ${JSON.stringify(inputInterval)}`);
354
351
  if (!inputInterval.start) {
355
352
  return null;
356
353
  }
@@ -360,7 +357,6 @@ export function dateTimeGetOverlappingHoursContinuousHelper(weekHours, inputInte
360
357
  }
361
358
  // Calculate overlapping intervals for the start day of inputRange
362
359
  const overlappingIntervals = getOverlappingIntervalsList(weekHours[startDayIdx], inputInterval);
363
- console.log(`dateTimeGetOverlappingHoursContinuousHelper startDayIdx: ${startDayIdx}, overlappingIntervals: ${JSON.stringify(overlappingIntervals)}`);
364
360
  // Convert overlapping intervals back to LuxonDateRange[]
365
361
  return overlappingIntervals
366
362
  .filter((interval) => interval.start !== null && interval.end !== null)
@@ -408,74 +404,6 @@ export function getConflictingIntervals(availableHours, blockedHours) {
408
404
  end: interval.end,
409
405
  }));
410
406
  }
411
- // export function generateTimeSlots(
412
- // filteredHours: LuxonDateRange[],
413
- // bookedRange: LuxonDateRange,
414
- // businessHours: LuxonDayOfWeekHours
415
- // ): TimeSlots {
416
- // const timeSlotsStart: string[] = [];
417
- // let timeSlotsEnd: string[] = [];
418
- // let currentTime = bookedRange.start;
419
- // const endTime = bookedRange.end;
420
- // while (currentTime < endTime) {
421
- // const currentDayOfWeek = currentTime.weekday as DayOfWeekIdx;
422
- // const businessDayHours = businessHours[currentDayOfWeek]?.[0];
423
- // if (!businessDayHours) {
424
- // throw new Error("No business hours found for the current day.");
425
- // }
426
- // const { start: dayStart, end: dayEnd } = businessDayHours;
427
- // // Ensure the current time is within today's business hours
428
- // if (currentTime < dayStart) {
429
- // currentTime = dayStart;
430
- // }
431
- // // If adding 30 minutes exceeds today's boundary, jump to the next day's start
432
- // if (currentTime.plus({ minutes: 30 }) > dayEnd) {
433
- // const nextDayOfWeek = currentTime.plus({ days: 1 })
434
- // .weekday as DayOfWeekIdx;
435
- // const nextDayHours = businessHours[nextDayOfWeek]?.[0];
436
- // if (!nextDayHours) {
437
- // throw new Error("No business hours for the next day.");
438
- // }
439
- // currentTime = nextDayHours.start;
440
- // } else {
441
- // timeSlotsStart.push(dateTimeFormatTime(currentTime));
442
- // currentTime = currentTime.plus({ minutes: 30 });
443
- // }
444
- // }
445
- // // The last slot should match the end time, respecting endDayOfWeek business hours
446
- // const endDayOfWeek = bookedRange.end.weekday as DayOfWeekIdx;
447
- // const endDayHours = businessHours[endDayOfWeek]?.[0];
448
- // if (!endDayHours) {
449
- // throw new Error("No business hours for the final day.");
450
- // }
451
- // const finalEndTime =
452
- // bookedRange.end > endDayHours.end ? endDayHours.end : bookedRange.end;
453
- // timeSlotsEnd = [...timeSlotsStart.slice(1), dateTimeFormatTime(finalEndTime)];
454
- // return {
455
- // start: timeSlotsStart,
456
- // end: timeSlotsEnd,
457
- // } as TimeSlots;
458
- // }
459
- // export function generateTimeSlots(filteredHours: LuxonDateRange[]): TimeSlots {
460
- // const timeSlotsStart: string[] = [];
461
- // let timeSlotsEnd: string[] = [];
462
- // filteredHours.forEach(({ start, end }) => {
463
- // let currentTime = start;
464
- // while (currentTime < end) {
465
- // timeSlotsStart.push(dateTimeFormatTime(currentTime)); // Add the time in "HH:mm" format
466
- // currentTime = currentTime.plus({ minutes: 30 }); // Increment by 30 minutes
467
- // }
468
- // const finalTime =
469
- // currentTime.hour == 0 && currentTime.minute == 0
470
- // ? currentTime.set({ hour: 23, minute: 59 })
471
- // : currentTime;
472
- // timeSlotsEnd = [...timeSlotsStart, dateTimeFormatTime(finalTime)];
473
- // });
474
- // return {
475
- // start: timeSlotsStart,
476
- // end: timeSlotsEnd,
477
- // } as TimeSlots;
478
- // }
479
407
  export function generateTimeSlots(filteredHours, incMin = 15) {
480
408
  const timeSlotsStart = [];
481
409
  let timeSlotsEnd = [];
@@ -1 +1 @@
1
- {"version":3,"file":"luxonUtils.js","sourceRoot":"","sources":["../../src/utils/luxonUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"luxonUtils.js","sourceRoot":"","sources":["../../src/utils/luxonUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { ServiceExt } from "../../extendedSchemas";
2
2
  import { DeepPartial } from "../typeUtils";
3
+ /** Converts service data for DB write. Currently a pass-through; rate conversion was removed. */
3
4
  export declare function serviceToDb(service: DeepPartial<ServiceExt>): DeepPartial<ServiceExt>;
5
+ /** Converts service data from DB read. Currently a pass-through; rate conversion was removed. */
4
6
  export declare function serviceFromDb(service: ServiceExt): ServiceExt;
5
7
  //# sourceMappingURL=serviceDBUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceDBUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/service/serviceDBUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,GAC/B,WAAW,CAAC,UAAU,CAAC,CAoBzB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAmB7D"}
1
+ {"version":3,"file":"serviceDBUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/service/serviceDBUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,iGAAiG;AACjG,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,GAC/B,WAAW,CAAC,UAAU,CAAC,CAEzB;AAED,iGAAiG;AACjG,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAE7D"}
@@ -1,48 +1,9 @@
1
- // import {
2
- // specialRateConvertToDb,
3
- // generalRatesConvertRatesToDB,
4
- // specialRateConvertFromDb,
5
- // generalRatesConvertRatesFromDB,
6
- // } from "./serviceRateDBUtils";
1
+ /** Converts service data for DB write. Currently a pass-through; rate conversion was removed. */
7
2
  export function serviceToDb(service) {
8
- if (service.serviceRatesAssociation) {
9
- // service.serviceRatesAssociation.serviceSpecialRates =
10
- // service.serviceRatesAssociation.serviceSpecialRates?.map(
11
- // (
12
- // serviceSpecialRate: Partial<ServiceSpecialRatesExt>
13
- // ): ServiceSpecialRatesExt => {
14
- // return specialRateConvertToDb(
15
- // serviceSpecialRate
16
- // ) as ServiceSpecialRatesExt;
17
- // }
18
- // );
19
- // if (service.serviceRatesAssociation.serviceGeneralRates) {
20
- // service.serviceRatesAssociation.serviceGeneralRates =
21
- // generalRatesConvertRatesToDB(
22
- // service.serviceRatesAssociation.serviceGeneralRates
23
- // ) as ServiceRate;
24
- // }
25
- }
26
3
  return service;
27
4
  }
5
+ /** Converts service data from DB read. Currently a pass-through; rate conversion was removed. */
28
6
  export function serviceFromDb(service) {
29
- if (service.serviceRatesAssociation) {
30
- // service.serviceRatesAssociation.serviceSpecialRates =
31
- // service.serviceRatesAssociation.serviceSpecialRates?.map(
32
- // (
33
- // serviceSpecialRate: ServiceSpecialRatesExt
34
- // ): ServiceSpecialRatesExt => {
35
- // return specialRateConvertFromDb(serviceSpecialRate);
36
- // }
37
- // );
38
- if (service.serviceRatesAssociation.serviceGeneralRates) {
39
- // console.log("updating general rates from db");
40
- // service.serviceRatesAssociation.serviceGeneralRates =
41
- // generalRatesConvertRatesFromDB(
42
- // service.serviceRatesAssociation.serviceGeneralRates
43
- // );
44
- }
45
- }
46
7
  return service;
47
8
  }
48
9
  //# sourceMappingURL=serviceDBUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceDBUtils.js","sourceRoot":"","sources":["../../../src/utils/service/serviceDBUtils.ts"],"names":[],"mappings":"AAEA,WAAW;AACX,4BAA4B;AAC5B,kCAAkC;AAClC,8BAA8B;AAC9B,oCAAoC;AACpC,iCAAiC;AAEjC,MAAM,UAAU,WAAW,CACzB,OAAgC;IAEhC,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,wDAAwD;QACxD,8DAA8D;QAC9D,QAAQ;QACR,4DAA4D;QAC5D,qCAAqC;QACrC,uCAAuC;QACvC,6BAA6B;QAC7B,qCAAqC;QACrC,QAAQ;QACR,OAAO;QACP,6DAA6D;QAC7D,0DAA0D;QAC1D,oCAAoC;QACpC,4DAA4D;QAC5D,wBAAwB;QACxB,IAAI;IACN,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAmB;IAC/C,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,wDAAwD;QACxD,8DAA8D;QAC9D,QAAQ;QACR,mDAAmD;QACnD,qCAAqC;QACrC,6DAA6D;QAC7D,QAAQ;QACR,OAAO;QACP,IAAI,OAAO,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,CAAC;YACxD,iDAAiD;YACjD,wDAAwD;YACxD,oCAAoC;YACpC,0DAA0D;YAC1D,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"serviceDBUtils.js","sourceRoot":"","sources":["../../../src/utils/service/serviceDBUtils.ts"],"names":[],"mappings":"AAGA,iGAAiG;AACjG,MAAM,UAAU,WAAW,CACzB,OAAgC;IAEhC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,aAAa,CAAC,OAAmB;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bash-app/bash-common",
3
- "version": "30.155.0",
3
+ "version": "30.158.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,53 @@
1
+ -- Migration: Create BashAvailability table and BashAvailabilityWindow enum
2
+ -- Required for the "Who's going out?" / LookingForSomethingSection feature.
3
+ -- Run this against QA and prod before (or alongside) deploying the API code.
4
+
5
+ DO $$ BEGIN
6
+
7
+ -- 1. Create the enum type if it doesn't exist
8
+ IF NOT EXISTS (
9
+ SELECT 1 FROM pg_type WHERE typname = 'BashAvailabilityWindow'
10
+ ) THEN
11
+ CREATE TYPE "BashAvailabilityWindow" AS ENUM (
12
+ 'Now',
13
+ 'Tonight',
14
+ 'ThisWeekend',
15
+ 'Custom'
16
+ );
17
+ RAISE NOTICE 'Created enum BashAvailabilityWindow';
18
+ ELSE
19
+ RAISE NOTICE 'Enum BashAvailabilityWindow already exists — skipping';
20
+ END IF;
21
+
22
+ -- 2. Create the BashAvailability table if it doesn't exist
23
+ IF NOT EXISTS (
24
+ SELECT 1 FROM information_schema.tables
25
+ WHERE table_name = 'BashAvailability'
26
+ ) THEN
27
+ CREATE TABLE "BashAvailability" (
28
+ "id" TEXT NOT NULL,
29
+ "userId" TEXT NOT NULL,
30
+ "window" "BashAvailabilityWindow" NOT NULL,
31
+ "city" TEXT NOT NULL,
32
+ "state" TEXT,
33
+ "customAt" TIMESTAMP(3),
34
+ "expiresAt" TIMESTAMP(3) NOT NULL,
35
+ "createdAt" TIMESTAMP(3) NOT NULL DEFAULT NOW(),
36
+ "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT NOW(),
37
+
38
+ CONSTRAINT "BashAvailability_pkey" PRIMARY KEY ("id"),
39
+ CONSTRAINT "BashAvailability_userId_key" UNIQUE ("userId"),
40
+ CONSTRAINT "BashAvailability_userId_fkey"
41
+ FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE
42
+ );
43
+
44
+ -- Composite index used by GET /availability?city=...&window=...
45
+ CREATE INDEX "BashAvailability_city_window_expiresAt_idx"
46
+ ON "BashAvailability" ("city", "window", "expiresAt");
47
+
48
+ RAISE NOTICE 'Created table BashAvailability';
49
+ ELSE
50
+ RAISE NOTICE 'Table BashAvailability already exists — skipping';
51
+ END IF;
52
+
53
+ END $$;
@@ -0,0 +1,17 @@
1
+ -- Add allowAutoJoin to EventGroup: when true, anyone can join instantly; when false (default), join requests require owner approval.
2
+ -- Idempotent — safe to run multiple times.
3
+
4
+ DO $$ BEGIN
5
+
6
+ IF NOT EXISTS (
7
+ SELECT 1 FROM information_schema.columns
8
+ WHERE table_name = 'EventGroup' AND column_name = 'allowAutoJoin'
9
+ ) THEN
10
+ ALTER TABLE "EventGroup"
11
+ ADD COLUMN "allowAutoJoin" BOOLEAN NOT NULL DEFAULT false;
12
+ RAISE NOTICE 'Added EventGroup.allowAutoJoin';
13
+ ELSE
14
+ RAISE NOTICE 'EventGroup.allowAutoJoin already exists — skipping';
15
+ END IF;
16
+
17
+ END $$;
@@ -0,0 +1,5 @@
1
+ -- Add NotGoing and Maybe to GroupMemberStatus enum (aligns with Invitation RSVP: rejectedDate, maybeDate).
2
+ -- Run once. If values already exist, this will error — safe to ignore on re-run.
3
+
4
+ ALTER TYPE "GroupMemberStatus" ADD VALUE IF NOT EXISTS 'NotGoing';
5
+ ALTER TYPE "GroupMemberStatus" ADD VALUE IF NOT EXISTS 'Maybe';
@@ -0,0 +1,135 @@
1
+ -- Migration: Groups, Momentum Dashboard, Promoter Leaderboard fields
2
+ -- Idempotent — safe to run multiple times.
3
+ -- Covers: BashEventPageView, EventGroup, GroupMember, GroupUnlockOffer, GroupUnlock,
4
+ -- BashEvent.topPromoterPrize, BashEvent.promoterLeaderboardIsPublic
5
+ -- GroupVisibility enum, GroupMemberStatus enum
6
+
7
+ DO $$ BEGIN
8
+
9
+ -- ─── GroupVisibility enum ──────────────────────────────────────────────────
10
+ IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'GroupVisibility') THEN
11
+ CREATE TYPE "GroupVisibility" AS ENUM ('Private', 'OpenLink');
12
+ RAISE NOTICE 'Created GroupVisibility enum';
13
+ ELSE
14
+ RAISE NOTICE 'GroupVisibility enum already exists — skipping';
15
+ END IF;
16
+
17
+ -- ─── GroupMemberStatus enum ────────────────────────────────────────────────
18
+ IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'GroupMemberStatus') THEN
19
+ CREATE TYPE "GroupMemberStatus" AS ENUM ('Going', 'WantsToGo', 'Invited');
20
+ RAISE NOTICE 'Created GroupMemberStatus enum';
21
+ ELSE
22
+ RAISE NOTICE 'GroupMemberStatus enum already exists — skipping';
23
+ END IF;
24
+
25
+ END $$;
26
+
27
+ -- ─── BashEventPageView ────────────────────────────────────────────────────────
28
+ CREATE TABLE IF NOT EXISTS "BashEventPageView" (
29
+ "id" TEXT NOT NULL PRIMARY KEY,
30
+ "bashEventId" TEXT NOT NULL,
31
+ "sessionHash" TEXT NOT NULL,
32
+ "viewedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
33
+ CONSTRAINT "BashEventPageView_bashEventId_fkey"
34
+ FOREIGN KEY ("bashEventId") REFERENCES "BashEvent"("id") ON DELETE CASCADE
35
+ );
36
+
37
+ CREATE INDEX IF NOT EXISTS "BashEventPageView_bashEventId_viewedAt_idx"
38
+ ON "BashEventPageView"("bashEventId", "viewedAt");
39
+
40
+ -- ─── BashEvent: promoter leaderboard fields ────────────────────────────────
41
+ DO $$ BEGIN
42
+ IF NOT EXISTS (
43
+ SELECT 1 FROM information_schema.columns
44
+ WHERE table_name = 'BashEvent' AND column_name = 'topPromoterPrize'
45
+ ) THEN
46
+ ALTER TABLE "BashEvent" ADD COLUMN "topPromoterPrize" TEXT;
47
+ RAISE NOTICE 'Added BashEvent.topPromoterPrize';
48
+ ELSE
49
+ RAISE NOTICE 'BashEvent.topPromoterPrize already exists — skipping';
50
+ END IF;
51
+
52
+ IF NOT EXISTS (
53
+ SELECT 1 FROM information_schema.columns
54
+ WHERE table_name = 'BashEvent' AND column_name = 'promoterLeaderboardIsPublic'
55
+ ) THEN
56
+ ALTER TABLE "BashEvent" ADD COLUMN "promoterLeaderboardIsPublic" BOOLEAN NOT NULL DEFAULT false;
57
+ RAISE NOTICE 'Added BashEvent.promoterLeaderboardIsPublic';
58
+ ELSE
59
+ RAISE NOTICE 'BashEvent.promoterLeaderboardIsPublic already exists — skipping';
60
+ END IF;
61
+ END $$;
62
+
63
+ -- ─── EventGroup ──────────────────────────────────────────────────────────────
64
+ CREATE TABLE IF NOT EXISTS "EventGroup" (
65
+ "id" TEXT NOT NULL PRIMARY KEY,
66
+ "bashEventId" TEXT NOT NULL,
67
+ "ownerId" TEXT NOT NULL,
68
+ "name" TEXT,
69
+ "maxMembers" INTEGER,
70
+ "visibility" "GroupVisibility" NOT NULL DEFAULT 'Private',
71
+ "promoterId" TEXT,
72
+ "createdAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
73
+ "updatedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
74
+ CONSTRAINT "EventGroup_bashEventId_fkey"
75
+ FOREIGN KEY ("bashEventId") REFERENCES "BashEvent"("id") ON DELETE CASCADE,
76
+ CONSTRAINT "EventGroup_ownerId_fkey"
77
+ FOREIGN KEY ("ownerId") REFERENCES "User"("id") ON DELETE CASCADE,
78
+ CONSTRAINT "EventGroup_bashEventId_ownerId_key" UNIQUE ("bashEventId", "ownerId")
79
+ );
80
+
81
+ CREATE INDEX IF NOT EXISTS "EventGroup_bashEventId_idx" ON "EventGroup"("bashEventId");
82
+ CREATE INDEX IF NOT EXISTS "EventGroup_ownerId_idx" ON "EventGroup"("ownerId");
83
+
84
+ -- ─── GroupMember ─────────────────────────────────────────────────────────────
85
+ CREATE TABLE IF NOT EXISTS "GroupMember" (
86
+ "id" TEXT NOT NULL PRIMARY KEY,
87
+ "groupId" TEXT NOT NULL,
88
+ "userId" TEXT NOT NULL,
89
+ "status" "GroupMemberStatus" NOT NULL DEFAULT 'Invited',
90
+ "ticketId" TEXT,
91
+ "joinedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
92
+ CONSTRAINT "GroupMember_groupId_fkey"
93
+ FOREIGN KEY ("groupId") REFERENCES "EventGroup"("id") ON DELETE CASCADE,
94
+ CONSTRAINT "GroupMember_userId_fkey"
95
+ FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE,
96
+ CONSTRAINT "GroupMember_groupId_userId_key" UNIQUE ("groupId", "userId")
97
+ );
98
+
99
+ CREATE INDEX IF NOT EXISTS "GroupMember_groupId_idx" ON "GroupMember"("groupId");
100
+ CREATE INDEX IF NOT EXISTS "GroupMember_userId_idx" ON "GroupMember"("userId");
101
+
102
+ -- ─── GroupUnlockOffer ────────────────────────────────────────────────────────
103
+ CREATE TABLE IF NOT EXISTS "GroupUnlockOffer" (
104
+ "id" TEXT NOT NULL PRIMARY KEY,
105
+ "bashEventId" TEXT NOT NULL,
106
+ "ticketTierId" TEXT,
107
+ "minGroupSize" INTEGER NOT NULL,
108
+ "rewardLabel" TEXT NOT NULL,
109
+ "rewardType" TEXT NOT NULL,
110
+ "expiresAt" TIMESTAMPTZ NOT NULL,
111
+ "maxGroups" INTEGER,
112
+ "createdAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
113
+ CONSTRAINT "GroupUnlockOffer_bashEventId_fkey"
114
+ FOREIGN KEY ("bashEventId") REFERENCES "BashEvent"("id") ON DELETE CASCADE,
115
+ CONSTRAINT "GroupUnlockOffer_ticketTierId_fkey"
116
+ FOREIGN KEY ("ticketTierId") REFERENCES "TicketTier"("id") ON DELETE SET NULL
117
+ );
118
+
119
+ CREATE INDEX IF NOT EXISTS "GroupUnlockOffer_bashEventId_idx" ON "GroupUnlockOffer"("bashEventId");
120
+ CREATE INDEX IF NOT EXISTS "GroupUnlockOffer_expiresAt_idx" ON "GroupUnlockOffer"("expiresAt");
121
+
122
+ -- ─── GroupUnlock ─────────────────────────────────────────────────────────────
123
+ CREATE TABLE IF NOT EXISTS "GroupUnlock" (
124
+ "id" TEXT NOT NULL PRIMARY KEY,
125
+ "offerId" TEXT NOT NULL,
126
+ "groupId" TEXT NOT NULL,
127
+ "unlockedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
128
+ CONSTRAINT "GroupUnlock_offerId_fkey"
129
+ FOREIGN KEY ("offerId") REFERENCES "GroupUnlockOffer"("id") ON DELETE CASCADE,
130
+ CONSTRAINT "GroupUnlock_groupId_fkey"
131
+ FOREIGN KEY ("groupId") REFERENCES "EventGroup"("id") ON DELETE CASCADE,
132
+ CONSTRAINT "GroupUnlock_offerId_groupId_key" UNIQUE ("offerId", "groupId")
133
+ );
134
+
135
+ CREATE INDEX IF NOT EXISTS "GroupUnlock_groupId_idx" ON "GroupUnlock"("groupId");