@growsober/types 1.0.14 → 1.0.15

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/src/generated.ts CHANGED
@@ -244,6 +244,40 @@ export interface paths {
244
244
  patch?: never;
245
245
  trace?: never;
246
246
  };
247
+ "/users/me/phone/send-otp": {
248
+ parameters: {
249
+ query?: never;
250
+ header?: never;
251
+ path?: never;
252
+ cookie?: never;
253
+ };
254
+ get?: never;
255
+ put?: never;
256
+ /** Send OTP to verify phone number for current user */
257
+ post: operations["UsersController_sendPhoneOtp"];
258
+ delete?: never;
259
+ options?: never;
260
+ head?: never;
261
+ patch?: never;
262
+ trace?: never;
263
+ };
264
+ "/users/me/phone/verify-otp": {
265
+ parameters: {
266
+ query?: never;
267
+ header?: never;
268
+ path?: never;
269
+ cookie?: never;
270
+ };
271
+ get?: never;
272
+ put?: never;
273
+ /** Verify OTP and update phone number for current user */
274
+ post: operations["UsersController_verifyPhoneOtp"];
275
+ delete?: never;
276
+ options?: never;
277
+ head?: never;
278
+ patch?: never;
279
+ trace?: never;
280
+ };
247
281
  "/users/{id}/public": {
248
282
  parameters: {
249
283
  query?: never;
@@ -502,176 +536,6 @@ export interface paths {
502
536
  patch?: never;
503
537
  trace?: never;
504
538
  };
505
- "/businesses": {
506
- parameters: {
507
- query?: never;
508
- header?: never;
509
- path?: never;
510
- cookie?: never;
511
- };
512
- /** Get all business partners with pagination and filters */
513
- get: operations["BusinessesController_findAll"];
514
- put?: never;
515
- post?: never;
516
- delete?: never;
517
- options?: never;
518
- head?: never;
519
- patch?: never;
520
- trace?: never;
521
- };
522
- "/businesses/featured": {
523
- parameters: {
524
- query?: never;
525
- header?: never;
526
- path?: never;
527
- cookie?: never;
528
- };
529
- /** Get featured business partners */
530
- get: operations["BusinessesController_getFeatured"];
531
- put?: never;
532
- post?: never;
533
- delete?: never;
534
- options?: never;
535
- head?: never;
536
- patch?: never;
537
- trace?: never;
538
- };
539
- "/businesses/nearby": {
540
- parameters: {
541
- query?: never;
542
- header?: never;
543
- path?: never;
544
- cookie?: never;
545
- };
546
- /** Get businesses near a location */
547
- get: operations["BusinessesController_getNearby"];
548
- put?: never;
549
- post?: never;
550
- delete?: never;
551
- options?: never;
552
- head?: never;
553
- patch?: never;
554
- trace?: never;
555
- };
556
- "/businesses/{idOrSlug}": {
557
- parameters: {
558
- query?: never;
559
- header?: never;
560
- path?: never;
561
- cookie?: never;
562
- };
563
- /** Get business details by ID or slug */
564
- get: operations["BusinessesController_findByIdOrSlug"];
565
- put?: never;
566
- post?: never;
567
- delete?: never;
568
- options?: never;
569
- head?: never;
570
- patch?: never;
571
- trace?: never;
572
- };
573
- "/businesses/{idOrSlug}/offers": {
574
- parameters: {
575
- query?: never;
576
- header?: never;
577
- path?: never;
578
- cookie?: never;
579
- };
580
- /** Get offers for a specific business */
581
- get: operations["BusinessesController_getBusinessOffers"];
582
- put?: never;
583
- post?: never;
584
- delete?: never;
585
- options?: never;
586
- head?: never;
587
- patch?: never;
588
- trace?: never;
589
- };
590
- "/businesses/{idOrSlug}/events": {
591
- parameters: {
592
- query?: never;
593
- header?: never;
594
- path?: never;
595
- cookie?: never;
596
- };
597
- /** Get upcoming events at a specific business/venue */
598
- get: operations["BusinessesController_getBusinessEvents"];
599
- put?: never;
600
- post?: never;
601
- delete?: never;
602
- options?: never;
603
- head?: never;
604
- patch?: never;
605
- trace?: never;
606
- };
607
- "/offers": {
608
- parameters: {
609
- query?: never;
610
- header?: never;
611
- path?: never;
612
- cookie?: never;
613
- };
614
- /** Get all active offers */
615
- get: operations["OffersController_findAll"];
616
- put?: never;
617
- post?: never;
618
- delete?: never;
619
- options?: never;
620
- head?: never;
621
- patch?: never;
622
- trace?: never;
623
- };
624
- "/offers/{id}": {
625
- parameters: {
626
- query?: never;
627
- header?: never;
628
- path?: never;
629
- cookie?: never;
630
- };
631
- /** Get offer details by ID */
632
- get: operations["OffersController_findById"];
633
- put?: never;
634
- post?: never;
635
- delete?: never;
636
- options?: never;
637
- head?: never;
638
- patch?: never;
639
- trace?: never;
640
- };
641
- "/offers/{id}/redeem": {
642
- parameters: {
643
- query?: never;
644
- header?: never;
645
- path?: never;
646
- cookie?: never;
647
- };
648
- get?: never;
649
- put?: never;
650
- /** Redeem an offer */
651
- post: operations["OffersController_redeemOffer"];
652
- delete?: never;
653
- options?: never;
654
- head?: never;
655
- patch?: never;
656
- trace?: never;
657
- };
658
- "/offers/{id}/can-redeem": {
659
- parameters: {
660
- query?: never;
661
- header?: never;
662
- path?: never;
663
- cookie?: never;
664
- };
665
- /** Check if current user can redeem an offer */
666
- get: operations["OffersController_checkCanRedeem"];
667
- put?: never;
668
- post?: never;
669
- delete?: never;
670
- options?: never;
671
- head?: never;
672
- patch?: never;
673
- trace?: never;
674
- };
675
539
  "/subscriptions/plans": {
676
540
  parameters: {
677
541
  query?: never;
@@ -1284,14 +1148,14 @@ export interface paths {
1284
1148
  patch?: never;
1285
1149
  trace?: never;
1286
1150
  };
1287
- "/api/v1/rewards/business/{businessId}": {
1151
+ "/api/v1/rewards/venue/{venueId}": {
1288
1152
  parameters: {
1289
1153
  query?: never;
1290
1154
  header?: never;
1291
1155
  path?: never;
1292
1156
  cookie?: never;
1293
1157
  };
1294
- get: operations["PartnerRewardsController_getRewardsForBusiness"];
1158
+ get: operations["PartnerRewardsController_getRewardsForVenue"];
1295
1159
  put?: never;
1296
1160
  post?: never;
1297
1161
  delete?: never;
@@ -1364,23 +1228,23 @@ export interface paths {
1364
1228
  patch?: never;
1365
1229
  trace?: never;
1366
1230
  };
1367
- "/api/v1/businesses/{businessId}/rewards": {
1231
+ "/api/v1/venues/{venueId}/partner-rewards": {
1368
1232
  parameters: {
1369
1233
  query?: never;
1370
1234
  header?: never;
1371
1235
  path?: never;
1372
1236
  cookie?: never;
1373
1237
  };
1374
- get: operations["BusinessRewardsController_getBusinessRewards"];
1238
+ get: operations["PartnerVenueRewardsController_getVenueRewards"];
1375
1239
  put?: never;
1376
- post: operations["BusinessRewardsController_createReward"];
1240
+ post: operations["PartnerVenueRewardsController_createReward"];
1377
1241
  delete?: never;
1378
1242
  options?: never;
1379
1243
  head?: never;
1380
1244
  patch?: never;
1381
1245
  trace?: never;
1382
1246
  };
1383
- "/api/v1/businesses/{businessId}/rewards/{rewardId}": {
1247
+ "/api/v1/venues/{venueId}/partner-rewards/{rewardId}": {
1384
1248
  parameters: {
1385
1249
  query?: never;
1386
1250
  header?: never;
@@ -1393,7 +1257,7 @@ export interface paths {
1393
1257
  delete?: never;
1394
1258
  options?: never;
1395
1259
  head?: never;
1396
- patch: operations["BusinessRewardsController_updateReward"];
1260
+ patch: operations["PartnerVenueRewardsController_updateReward"];
1397
1261
  trace?: never;
1398
1262
  };
1399
1263
  "/rewards/available": {
@@ -1640,6 +1504,74 @@ export interface paths {
1640
1504
  patch: operations["CreatorRewardsController_updateReward"];
1641
1505
  trace?: never;
1642
1506
  };
1507
+ "/offers": {
1508
+ parameters: {
1509
+ query?: never;
1510
+ header?: never;
1511
+ path?: never;
1512
+ cookie?: never;
1513
+ };
1514
+ /** Get all active offers */
1515
+ get: operations["OffersController_findAll"];
1516
+ put?: never;
1517
+ post?: never;
1518
+ delete?: never;
1519
+ options?: never;
1520
+ head?: never;
1521
+ patch?: never;
1522
+ trace?: never;
1523
+ };
1524
+ "/offers/{id}": {
1525
+ parameters: {
1526
+ query?: never;
1527
+ header?: never;
1528
+ path?: never;
1529
+ cookie?: never;
1530
+ };
1531
+ /** Get offer details by ID */
1532
+ get: operations["OffersController_findById"];
1533
+ put?: never;
1534
+ post?: never;
1535
+ delete?: never;
1536
+ options?: never;
1537
+ head?: never;
1538
+ patch?: never;
1539
+ trace?: never;
1540
+ };
1541
+ "/offers/{id}/redeem": {
1542
+ parameters: {
1543
+ query?: never;
1544
+ header?: never;
1545
+ path?: never;
1546
+ cookie?: never;
1547
+ };
1548
+ get?: never;
1549
+ put?: never;
1550
+ /** Redeem an offer */
1551
+ post: operations["OffersController_redeemOffer"];
1552
+ delete?: never;
1553
+ options?: never;
1554
+ head?: never;
1555
+ patch?: never;
1556
+ trace?: never;
1557
+ };
1558
+ "/offers/{id}/can-redeem": {
1559
+ parameters: {
1560
+ query?: never;
1561
+ header?: never;
1562
+ path?: never;
1563
+ cookie?: never;
1564
+ };
1565
+ /** Check if current user can redeem an offer */
1566
+ get: operations["OffersController_checkCanRedeem"];
1567
+ put?: never;
1568
+ post?: never;
1569
+ delete?: never;
1570
+ options?: never;
1571
+ head?: never;
1572
+ patch?: never;
1573
+ trace?: never;
1574
+ };
1643
1575
  "/hubs": {
1644
1576
  parameters: {
1645
1577
  query?: never;
@@ -2171,8 +2103,7 @@ export interface paths {
2171
2103
  path?: never;
2172
2104
  cookie?: never;
2173
2105
  };
2174
- /** Get venue details by ID */
2175
- get: operations["VenuesController_findById"];
2106
+ get?: never;
2176
2107
  /** Update a venue */
2177
2108
  put: operations["VenuesController_update"];
2178
2109
  post?: never;
@@ -2217,25 +2148,42 @@ export interface paths {
2217
2148
  patch?: never;
2218
2149
  trace?: never;
2219
2150
  };
2220
- "/venues/{id}/owners": {
2151
+ "/venues/{idOrSlug}": {
2221
2152
  parameters: {
2222
2153
  query?: never;
2223
2154
  header?: never;
2224
2155
  path?: never;
2225
2156
  cookie?: never;
2226
2157
  };
2227
- /** Get venue owners */
2228
- get: operations["VenuesController_getOwners"];
2158
+ /** Get venue details by ID or slug */
2159
+ get: operations["VenuesController_findByIdOrSlug"];
2229
2160
  put?: never;
2230
- /** Add a venue owner */
2231
- post: operations["VenuesController_addOwner"];
2161
+ post?: never;
2232
2162
  delete?: never;
2233
2163
  options?: never;
2234
2164
  head?: never;
2235
2165
  patch?: never;
2236
2166
  trace?: never;
2237
2167
  };
2238
- "/venues/{id}/owners/{userId}": {
2168
+ "/venues/{id}/owners": {
2169
+ parameters: {
2170
+ query?: never;
2171
+ header?: never;
2172
+ path?: never;
2173
+ cookie?: never;
2174
+ };
2175
+ /** Get venue owners */
2176
+ get: operations["VenuesController_getOwners"];
2177
+ put?: never;
2178
+ /** Add a venue owner */
2179
+ post: operations["VenuesController_addOwner"];
2180
+ delete?: never;
2181
+ options?: never;
2182
+ head?: never;
2183
+ patch?: never;
2184
+ trace?: never;
2185
+ };
2186
+ "/venues/{id}/owners/{userId}": {
2239
2187
  parameters: {
2240
2188
  query?: never;
2241
2189
  header?: never;
@@ -2252,7 +2200,7 @@ export interface paths {
2252
2200
  patch?: never;
2253
2201
  trace?: never;
2254
2202
  };
2255
- "/venues/{id}/events": {
2203
+ "/venues/{idOrSlug}/events": {
2256
2204
  parameters: {
2257
2205
  query?: never;
2258
2206
  header?: never;
@@ -2864,59 +2812,6 @@ export interface paths {
2864
2812
  patch?: never;
2865
2813
  trace?: never;
2866
2814
  };
2867
- "/admin/businesses": {
2868
- parameters: {
2869
- query?: never;
2870
- header?: never;
2871
- path?: never;
2872
- cookie?: never;
2873
- };
2874
- /** List all businesses */
2875
- get: operations["AdminBusinessesController_findAll"];
2876
- put?: never;
2877
- /** Create business */
2878
- post: operations["AdminBusinessesController_create"];
2879
- delete?: never;
2880
- options?: never;
2881
- head?: never;
2882
- patch?: never;
2883
- trace?: never;
2884
- };
2885
- "/admin/businesses/{id}": {
2886
- parameters: {
2887
- query?: never;
2888
- header?: never;
2889
- path?: never;
2890
- cookie?: never;
2891
- };
2892
- get?: never;
2893
- /** Update business */
2894
- put: operations["AdminBusinessesController_update"];
2895
- post?: never;
2896
- /** Delete business */
2897
- delete: operations["AdminBusinessesController_delete"];
2898
- options?: never;
2899
- head?: never;
2900
- patch?: never;
2901
- trace?: never;
2902
- };
2903
- "/admin/businesses/{id}/offers": {
2904
- parameters: {
2905
- query?: never;
2906
- header?: never;
2907
- path?: never;
2908
- cookie?: never;
2909
- };
2910
- get?: never;
2911
- put?: never;
2912
- /** Create offer for business */
2913
- post: operations["AdminBusinessesController_createOffer"];
2914
- delete?: never;
2915
- options?: never;
2916
- head?: never;
2917
- patch?: never;
2918
- trace?: never;
2919
- };
2920
2815
  "/admin/analytics/overview": {
2921
2816
  parameters: {
2922
2817
  query?: never;
@@ -4322,7 +4217,7 @@ export interface paths {
4322
4217
  patch?: never;
4323
4218
  trace?: never;
4324
4219
  };
4325
- "/map/businesses": {
4220
+ "/map/venues": {
4326
4221
  parameters: {
4327
4222
  query?: never;
4328
4223
  header?: never;
@@ -4330,10 +4225,10 @@ export interface paths {
4330
4225
  cookie?: never;
4331
4226
  };
4332
4227
  /**
4333
- * Get businesses/venues on map
4334
- * @description Returns active businesses with location data. Shows partner venues, AF-friendly spots, and more. Supports filtering by radius from a center point.
4228
+ * Get venues on map
4229
+ * @description Returns active venues with location data. Shows founding partner venues, AF-friendly spots, and more. Supports filtering by radius from a center point.
4335
4230
  */
4336
- get: operations["MapController_getMapBusinesses"];
4231
+ get: operations["MapController_getMapVenues"];
4337
4232
  put?: never;
4338
4233
  post?: never;
4339
4234
  delete?: never;
@@ -5343,6 +5238,37 @@ export interface components {
5343
5238
  /** @example true */
5344
5239
  onboardingComplete?: boolean;
5345
5240
  };
5241
+ UserSendOtpDto: {
5242
+ /**
5243
+ * @description Phone number to send OTP to (E.164 format recommended)
5244
+ * @example +14155551234
5245
+ */
5246
+ phone: string;
5247
+ /**
5248
+ * @description Channel to send OTP through
5249
+ * @default sms
5250
+ * @enum {string}
5251
+ */
5252
+ channel: "sms" | "call";
5253
+ };
5254
+ UserOtpSentResponseDto: {
5255
+ /** @description Whether OTP was sent successfully */
5256
+ success: boolean;
5257
+ /** @description Masked phone number */
5258
+ phone: string;
5259
+ };
5260
+ UserVerifyOtpDto: {
5261
+ /**
5262
+ * @description Phone number that received the OTP
5263
+ * @example +14155551234
5264
+ */
5265
+ phone: string;
5266
+ /**
5267
+ * @description 6-digit OTP code
5268
+ * @example 123456
5269
+ */
5270
+ code: string;
5271
+ };
5346
5272
  UserPublicResponseDto: {
5347
5273
  /** @example user-123 */
5348
5274
  id: string;
@@ -5565,377 +5491,88 @@ export interface components {
5565
5491
  */
5566
5492
  updatedAt: string;
5567
5493
  };
5568
- BusinessResponseDto: {
5569
- /** @example business-123 */
5494
+ SubscriptionResponseDto: {
5495
+ /**
5496
+ * @description Subscription ID
5497
+ * @example sub_1234567890
5498
+ */
5570
5499
  id: string;
5571
- /** @example growsober */
5572
- appId: string;
5573
- /** @example The Sober Spot */
5574
- name: string;
5575
- /** @example the-sober-spot */
5576
- slug?: Record<string, never>;
5577
- /** @example A cozy coffee shop with amazing mocktails */
5578
- description?: Record<string, never>;
5579
5500
  /**
5580
- * @example COFFEE_SHOP
5501
+ * @description User ID
5502
+ * @example user-123
5503
+ */
5504
+ userId: string;
5505
+ /**
5506
+ * @description Subscription tier
5507
+ * @example PREMIUM
5581
5508
  * @enum {string}
5582
5509
  */
5583
- type: "COFFEE_SHOP" | "RESTAURANT" | "BAR" | "WELLNESS" | "VENUE" | "ACTIVITY" | "RETAIL" | "OTHER";
5584
- /** @example true */
5585
- hasAfDrinks: boolean;
5586
- /** @example false */
5587
- isAfVenue: boolean;
5510
+ tier: "FREE" | "PREMIUM";
5588
5511
  /**
5589
- * @example [
5590
- * "Great mocktail menu",
5591
- * "Quiet atmosphere"
5592
- * ]
5512
+ * @description Subscription status
5513
+ * @example ACTIVE
5514
+ * @enum {string}
5593
5515
  */
5594
- afHighlights: string[];
5595
- /** @example 123 Main Street, Berlin */
5596
- address?: Record<string, never>;
5597
- /** @example city-uuid */
5598
- cityId?: Record<string, never>;
5599
- /** @example 52.52 */
5600
- locationLat?: Record<string, never>;
5601
- /** @example 13.405 */
5602
- locationLong?: Record<string, never>;
5603
- /** @example +49 30 12345678 */
5604
- phone?: Record<string, never>;
5605
- /** @example hello@soberspot.com */
5606
- email?: Record<string, never>;
5607
- /** @example https://soberspot.com */
5608
- website?: Record<string, never>;
5609
- /** @example https://instagram.com/soberspot */
5610
- instagramUrl?: Record<string, never>;
5611
- /** @example https://example.com/logo.jpg */
5612
- profileImage?: Record<string, never>;
5613
- /** @example https://example.com/banner.jpg */
5614
- bannerImage?: Record<string, never>;
5516
+ status: "ACTIVE" | "TRIALING" | "PAST_DUE" | "CANCELLED" | "PAUSED";
5615
5517
  /**
5616
- * @example [
5617
- * "https://example.com/photo1.jpg",
5618
- * "https://example.com/photo2.jpg"
5619
- * ]
5518
+ * @description Stripe customer ID
5519
+ * @example cus_1234567890
5620
5520
  */
5621
- photos: string[];
5521
+ stripeCustomerId?: Record<string, never>;
5622
5522
  /**
5623
- * @example {
5624
- * "mon": "09:00-17:00",
5625
- * "tue": "09:00-17:00",
5626
- * "sat": "10:00-15:00"
5627
- * }
5523
+ * @description Stripe subscription ID
5524
+ * @example sub_1234567890
5628
5525
  */
5629
- openingHours?: Record<string, never>;
5630
- /** @example true */
5631
- isActive: boolean;
5632
- /** @example false */
5633
- isVerified: boolean;
5634
- /** @example false */
5635
- isFeatured: boolean;
5636
- /** @example true */
5637
- isPartner: boolean;
5526
+ stripeSubscriptionId?: Record<string, never>;
5638
5527
  /**
5639
- * Format: date-time
5640
- * @example 2024-01-01T00:00:00.000Z
5528
+ * @description Stripe price ID
5529
+ * @example price_1234567890
5641
5530
  */
5642
- createdAt: string;
5531
+ stripePriceId?: Record<string, never>;
5643
5532
  /**
5644
- * Format: date-time
5533
+ * @description Current billing period start date
5645
5534
  * @example 2024-01-01T00:00:00.000Z
5646
5535
  */
5647
- updatedAt: string;
5648
- };
5649
- OfferResponseDto: {
5650
- /** @example offer-123 */
5651
- id: string;
5652
- /** @example business-123 */
5653
- businessId: string;
5654
- /** @example 20% off all mocktails */
5655
- title: string;
5656
- /** @example Show your GrowSober app to get 20% off */
5657
- description?: Record<string, never>;
5536
+ currentPeriodStart?: Record<string, never>;
5658
5537
  /**
5659
- * @example PERCENTAGE
5660
- * @enum {string}
5538
+ * @description Current billing period end date
5539
+ * @example 2024-02-01T00:00:00.000Z
5661
5540
  */
5662
- discountType?: "PERCENTAGE" | "FIXED_AMOUNT" | "FREE_ITEM" | "BOGO";
5663
- /** @example 20.00 */
5664
- discountValue?: Record<string, never>;
5665
- /** @example GROWSOBER20 */
5666
- discountCode?: Record<string, never>;
5541
+ currentPeriodEnd?: Record<string, never>;
5667
5542
  /**
5668
- * Format: date-time
5543
+ * @description Whether subscription will cancel at end of period
5544
+ * @example false
5545
+ */
5546
+ cancelAtPeriodEnd: boolean;
5547
+ /**
5548
+ * @description Cancellation date
5549
+ * @example 2024-01-15T00:00:00.000Z
5550
+ */
5551
+ cancelledAt?: Record<string, never>;
5552
+ /**
5553
+ * @description Trial start date
5669
5554
  * @example 2024-01-01T00:00:00.000Z
5670
5555
  */
5671
- validFrom: string;
5672
- /** @example 2024-12-31T23:59:59.000Z */
5673
- validTo?: Record<string, never>;
5674
- /** @example Valid for dine-in only. Cannot be combined with other offers. */
5675
- terms?: Record<string, never>;
5676
- /** @example 100 */
5677
- maxRedemptions?: Record<string, never>;
5678
- /** @example 25 */
5679
- redemptionCount: number;
5680
- /** @example 1 */
5681
- perUserLimit?: Record<string, never>;
5682
- /** @example false */
5683
- premiumOnly: boolean;
5684
- /** @example true */
5685
- isActive: boolean;
5556
+ trialStart?: Record<string, never>;
5557
+ /**
5558
+ * @description Trial end date
5559
+ * @example 2024-01-14T00:00:00.000Z
5560
+ */
5561
+ trialEnd?: Record<string, never>;
5562
+ /**
5563
+ * @description Whether user has already used their trial
5564
+ * @example false
5565
+ */
5566
+ hadTrial: boolean;
5686
5567
  /**
5687
5568
  * Format: date-time
5569
+ * @description Subscription creation date
5688
5570
  * @example 2024-01-01T00:00:00.000Z
5689
5571
  */
5690
5572
  createdAt: string;
5691
5573
  /**
5692
5574
  * Format: date-time
5693
- * @example 2024-01-01T00:00:00.000Z
5694
- */
5695
- updatedAt: string;
5696
- };
5697
- EventCityDto: {
5698
- /** @example city-uuid */
5699
- id: string;
5700
- /** @example Lisbon */
5701
- name: string;
5702
- /** @example Portugal */
5703
- country: string;
5704
- };
5705
- EventVenueDto: {
5706
- /** @example venue-uuid */
5707
- id: string;
5708
- /** @example The Coffee Place */
5709
- name: string;
5710
- /** @example the-coffee-place */
5711
- slug: string;
5712
- /** @example https://example.com/image.jpg */
5713
- profileImage?: string;
5714
- };
5715
- EventCreatorDto: {
5716
- /** @example creator-uuid */
5717
- id: string;
5718
- /** @example John Doe */
5719
- displayName: string;
5720
- /** @example john-doe */
5721
- slug: string;
5722
- /** @example https://example.com/avatar.jpg */
5723
- avatarUrl?: string;
5724
- };
5725
- EventBrandDto: {
5726
- /** @example brand-uuid */
5727
- id: string;
5728
- /** @example Wellness Co */
5729
- name: string;
5730
- /** @example wellness-co */
5731
- slug: string;
5732
- /** @example https://example.com/logo.png */
5733
- logoUrl?: string;
5734
- };
5735
- EventResponseDto: {
5736
- /** @example event-123 */
5737
- id: string;
5738
- /** @example Morning Coffee & Connection */
5739
- title: string;
5740
- /** @example morning-coffee-and-connection */
5741
- slug?: Record<string, never>;
5742
- /** @example Join us for a morning coffee */
5743
- description?: Record<string, never>;
5744
- /** @example https://example.com/banner.jpg */
5745
- bannerImage?: Record<string, never>;
5746
- /**
5747
- * Format: date-time
5748
- * @example 2024-03-15T10:00:00.000Z
5749
- */
5750
- startDate: string;
5751
- /** @example 2024-03-15T12:00:00.000Z */
5752
- endDate?: Record<string, never>;
5753
- /** @example Europe/Berlin */
5754
- timezone?: Record<string, never>;
5755
- /** @example false */
5756
- isRecurring: boolean;
5757
- /** @example FREQ=WEEKLY;BYDAY=SA */
5758
- recurrenceRule?: Record<string, never>;
5759
- /** @example The Coffee Place */
5760
- locationName?: Record<string, never>;
5761
- /** @example Alexanderplatz 1, Berlin */
5762
- locationAddress?: Record<string, never>;
5763
- /** @example 52.52 */
5764
- locationLat?: Record<string, never>;
5765
- /** @example 13.405 */
5766
- locationLong?: Record<string, never>;
5767
- /** @example city-uuid */
5768
- cityId?: Record<string, never>;
5769
- /** @example false */
5770
- isOnline: boolean;
5771
- /** @example https://zoom.us/j/123456789 */
5772
- onlineUrl?: Record<string, never>;
5773
- /** @example 20 */
5774
- totalSpots: number;
5775
- /** @example 15 */
5776
- availableSpots: number;
5777
- /** @example true */
5778
- isFree: boolean;
5779
- /** @example 10.00 */
5780
- price?: Record<string, never>;
5781
- /** @example EUR */
5782
- currency: string;
5783
- /** @example hub-uuid */
5784
- hubId?: Record<string, never>;
5785
- /**
5786
- * @description Venue where event takes place
5787
- * @example venue-uuid
5788
- */
5789
- venueId?: Record<string, never>;
5790
- /**
5791
- * @description Creator/facilitator of the event
5792
- * @example creator-uuid
5793
- */
5794
- creatorId?: Record<string, never>;
5795
- /**
5796
- * @description Sponsor brand of the event
5797
- * @example brand-uuid
5798
- */
5799
- sponsorBrandId?: Record<string, never>;
5800
- /**
5801
- * @description Type of gathering
5802
- * @enum {string}
5803
- */
5804
- gatheringType?: "FACILITATOR_LED" | "COMMUNITY" | "SOCIAL" | "ONLINE";
5805
- /** @enum {string} */
5806
- visibility: "PUBLIC" | "MEMBERS_ONLY" | "INVITE_ONLY";
5807
- /** @example false */
5808
- requiresApproval: boolean;
5809
- /** @example true */
5810
- allowWaitlist: boolean;
5811
- /** @example https://chat.whatsapp.com/... */
5812
- whatsappGroup?: Record<string, never>;
5813
- /** @example https://eventbrite.com/... */
5814
- externalUrl?: Record<string, never>;
5815
- /** @enum {string} */
5816
- status: "DRAFT" | "PUBLISHED" | "CANCELLED" | "COMPLETED";
5817
- /** @example false */
5818
- isFeatured: boolean;
5819
- /** @example false */
5820
- isCancelled: boolean;
5821
- /** @example false */
5822
- isAmbient: boolean;
5823
- /**
5824
- * @description Ambient event category
5825
- * @example COFFEE
5826
- */
5827
- ambientCategory?: Record<string, never>;
5828
- /**
5829
- * @description Event vibe/atmosphere
5830
- * @enum {string}
5831
- */
5832
- vibe?: "CHILL" | "ACTIVE" | "SOCIAL" | "CREATIVE" | "DEEP_TALK" | "ADVENTURE";
5833
- /** @description City where event takes place */
5834
- city?: components["schemas"]["EventCityDto"];
5835
- /** @description Venue where event takes place */
5836
- venue?: components["schemas"]["EventVenueDto"];
5837
- /** @description Creator/facilitator of the event */
5838
- creator?: components["schemas"]["EventCreatorDto"];
5839
- /** @description Sponsor brand of the event */
5840
- sponsorBrand?: components["schemas"]["EventBrandDto"];
5841
- /** @example 5 */
5842
- bookingCount: number;
5843
- /** @example 3 */
5844
- checkinCount: number;
5845
- /**
5846
- * Format: date-time
5847
- * @example 2024-01-01T00:00:00.000Z
5848
- */
5849
- createdAt: string;
5850
- /** @example 2024-01-01T00:00:00.000Z */
5851
- publishedAt?: Record<string, never>;
5852
- };
5853
- RedeemOfferDto: {
5854
- /** @example Any additional notes or verification code */
5855
- notes?: string;
5856
- };
5857
- SubscriptionResponseDto: {
5858
- /**
5859
- * @description Subscription ID
5860
- * @example sub_1234567890
5861
- */
5862
- id: string;
5863
- /**
5864
- * @description User ID
5865
- * @example user-123
5866
- */
5867
- userId: string;
5868
- /**
5869
- * @description Subscription tier
5870
- * @example PREMIUM
5871
- * @enum {string}
5872
- */
5873
- tier: "FREE" | "PREMIUM";
5874
- /**
5875
- * @description Subscription status
5876
- * @example ACTIVE
5877
- * @enum {string}
5878
- */
5879
- status: "ACTIVE" | "TRIALING" | "PAST_DUE" | "CANCELLED" | "PAUSED";
5880
- /**
5881
- * @description Stripe customer ID
5882
- * @example cus_1234567890
5883
- */
5884
- stripeCustomerId?: Record<string, never>;
5885
- /**
5886
- * @description Stripe subscription ID
5887
- * @example sub_1234567890
5888
- */
5889
- stripeSubscriptionId?: Record<string, never>;
5890
- /**
5891
- * @description Stripe price ID
5892
- * @example price_1234567890
5893
- */
5894
- stripePriceId?: Record<string, never>;
5895
- /**
5896
- * @description Current billing period start date
5897
- * @example 2024-01-01T00:00:00.000Z
5898
- */
5899
- currentPeriodStart?: Record<string, never>;
5900
- /**
5901
- * @description Current billing period end date
5902
- * @example 2024-02-01T00:00:00.000Z
5903
- */
5904
- currentPeriodEnd?: Record<string, never>;
5905
- /**
5906
- * @description Whether subscription will cancel at end of period
5907
- * @example false
5908
- */
5909
- cancelAtPeriodEnd: boolean;
5910
- /**
5911
- * @description Cancellation date
5912
- * @example 2024-01-15T00:00:00.000Z
5913
- */
5914
- cancelledAt?: Record<string, never>;
5915
- /**
5916
- * @description Trial start date
5917
- * @example 2024-01-01T00:00:00.000Z
5918
- */
5919
- trialStart?: Record<string, never>;
5920
- /**
5921
- * @description Trial end date
5922
- * @example 2024-01-14T00:00:00.000Z
5923
- */
5924
- trialEnd?: Record<string, never>;
5925
- /**
5926
- * @description Whether user has already used their trial
5927
- * @example false
5928
- */
5929
- hadTrial: boolean;
5930
- /**
5931
- * Format: date-time
5932
- * @description Subscription creation date
5933
- * @example 2024-01-01T00:00:00.000Z
5934
- */
5935
- createdAt: string;
5936
- /**
5937
- * Format: date-time
5938
- * @description Last update date
5575
+ * @description Last update date
5939
5576
  * @example 2024-01-01T00:00:00.000Z
5940
5577
  */
5941
5578
  updatedAt: string;
@@ -6714,33 +6351,85 @@ export interface components {
6714
6351
  */
6715
6352
  isActive?: boolean;
6716
6353
  };
6717
- CreateHubDto: {
6718
- /** @example Berlin Sober Squad */
6719
- name: string;
6720
- /** @example berlin-sober-squad */
6721
- slug?: string;
6722
- /** @example A community for sober-curious people in Berlin */
6723
- description?: string;
6724
- /** @example https://example.com/banner.jpg */
6725
- bannerImage?: string;
6726
- /** @example https://example.com/profile.jpg */
6727
- profileImage?: string;
6728
- /** @example city-uuid */
6729
- cityId?: string;
6730
- /** @example Alexanderplatz 1, Berlin */
6731
- address?: string;
6732
- /** @example 52.52 */
6733
- locationLat?: number;
6734
- /** @example 13.405 */
6735
- locationLong?: number;
6736
- /** @example https://chat.whatsapp.com/... */
6737
- whatsappGroup?: string;
6738
- /** @example https://instagram.com/berlinsobersquad */
6739
- instagramUrl?: string;
6740
- /** @example https://berlinsobersquad.com */
6741
- websiteUrl?: string;
6354
+ OfferResponseDto: {
6355
+ /** @example offer-123 */
6356
+ id: string;
6357
+ /** @example venue-123 */
6358
+ venueId: string;
6359
+ /** @example 20% off all mocktails */
6360
+ title: string;
6361
+ /** @example Show your GrowSober app to get 20% off */
6362
+ description?: Record<string, never>;
6742
6363
  /**
6743
- * @default PUBLIC
6364
+ * @example PERCENTAGE
6365
+ * @enum {string}
6366
+ */
6367
+ discountType?: "PERCENTAGE" | "FIXED_AMOUNT" | "FREE_ITEM" | "BOGO";
6368
+ /** @example 20.00 */
6369
+ discountValue?: Record<string, never>;
6370
+ /** @example GROWSOBER20 */
6371
+ discountCode?: Record<string, never>;
6372
+ /**
6373
+ * Format: date-time
6374
+ * @example 2024-01-01T00:00:00.000Z
6375
+ */
6376
+ validFrom: string;
6377
+ /** @example 2024-12-31T23:59:59.000Z */
6378
+ validTo?: Record<string, never>;
6379
+ /** @example Valid for dine-in only. Cannot be combined with other offers. */
6380
+ terms?: Record<string, never>;
6381
+ /** @example 100 */
6382
+ maxRedemptions?: Record<string, never>;
6383
+ /** @example 25 */
6384
+ redemptionCount: number;
6385
+ /** @example 1 */
6386
+ perUserLimit?: Record<string, never>;
6387
+ /** @example false */
6388
+ premiumOnly: boolean;
6389
+ /** @example true */
6390
+ isActive: boolean;
6391
+ /**
6392
+ * Format: date-time
6393
+ * @example 2024-01-01T00:00:00.000Z
6394
+ */
6395
+ createdAt: string;
6396
+ /**
6397
+ * Format: date-time
6398
+ * @example 2024-01-01T00:00:00.000Z
6399
+ */
6400
+ updatedAt: string;
6401
+ };
6402
+ RedeemOfferDto: {
6403
+ /** @example Any additional notes or verification code */
6404
+ notes?: string;
6405
+ };
6406
+ CreateHubDto: {
6407
+ /** @example Berlin Sober Squad */
6408
+ name: string;
6409
+ /** @example berlin-sober-squad */
6410
+ slug?: string;
6411
+ /** @example A community for sober-curious people in Berlin */
6412
+ description?: string;
6413
+ /** @example https://example.com/banner.jpg */
6414
+ bannerImage?: string;
6415
+ /** @example https://example.com/profile.jpg */
6416
+ profileImage?: string;
6417
+ /** @example city-uuid */
6418
+ cityId?: string;
6419
+ /** @example Alexanderplatz 1, Berlin */
6420
+ address?: string;
6421
+ /** @example 52.52 */
6422
+ locationLat?: number;
6423
+ /** @example 13.405 */
6424
+ locationLong?: number;
6425
+ /** @example https://chat.whatsapp.com/... */
6426
+ whatsappGroup?: string;
6427
+ /** @example https://instagram.com/berlinsobersquad */
6428
+ instagramUrl?: string;
6429
+ /** @example https://berlinsobersquad.com */
6430
+ websiteUrl?: string;
6431
+ /**
6432
+ * @default PUBLIC
6744
6433
  * @enum {string}
6745
6434
  */
6746
6435
  visibility: "PUBLIC" | "PRIVATE" | "INVITE_ONLY";
@@ -6914,6 +6603,162 @@ export interface components {
6914
6603
  */
6915
6604
  vibe?: "CHILL" | "ACTIVE" | "SOCIAL" | "CREATIVE" | "DEEP_TALK" | "ADVENTURE";
6916
6605
  };
6606
+ EventCityDto: {
6607
+ /** @example city-uuid */
6608
+ id: string;
6609
+ /** @example Lisbon */
6610
+ name: string;
6611
+ /** @example Portugal */
6612
+ country: string;
6613
+ };
6614
+ EventVenueDto: {
6615
+ /** @example venue-uuid */
6616
+ id: string;
6617
+ /** @example The Coffee Place */
6618
+ name: string;
6619
+ /** @example the-coffee-place */
6620
+ slug: string;
6621
+ /** @example https://example.com/image.jpg */
6622
+ profileImage?: string;
6623
+ };
6624
+ EventCreatorDto: {
6625
+ /** @example creator-uuid */
6626
+ id: string;
6627
+ /** @example John Doe */
6628
+ displayName: string;
6629
+ /** @example john-doe */
6630
+ slug: string;
6631
+ /** @example https://example.com/avatar.jpg */
6632
+ avatarUrl?: string;
6633
+ };
6634
+ EventBrandDto: {
6635
+ /** @example brand-uuid */
6636
+ id: string;
6637
+ /** @example Wellness Co */
6638
+ name: string;
6639
+ /** @example wellness-co */
6640
+ slug: string;
6641
+ /** @example https://example.com/logo.png */
6642
+ logoUrl?: string;
6643
+ };
6644
+ EventResponseDto: {
6645
+ /** @example event-123 */
6646
+ id: string;
6647
+ /** @example Morning Coffee & Connection */
6648
+ title: string;
6649
+ /** @example morning-coffee-and-connection */
6650
+ slug?: Record<string, never>;
6651
+ /** @example Join us for a morning coffee */
6652
+ description?: Record<string, never>;
6653
+ /** @example https://example.com/banner.jpg */
6654
+ bannerImage?: Record<string, never>;
6655
+ /**
6656
+ * Format: date-time
6657
+ * @example 2024-03-15T10:00:00.000Z
6658
+ */
6659
+ startDate: string;
6660
+ /** @example 2024-03-15T12:00:00.000Z */
6661
+ endDate?: Record<string, never>;
6662
+ /** @example Europe/Berlin */
6663
+ timezone?: Record<string, never>;
6664
+ /** @example false */
6665
+ isRecurring: boolean;
6666
+ /** @example FREQ=WEEKLY;BYDAY=SA */
6667
+ recurrenceRule?: Record<string, never>;
6668
+ /** @example The Coffee Place */
6669
+ locationName?: Record<string, never>;
6670
+ /** @example Alexanderplatz 1, Berlin */
6671
+ locationAddress?: Record<string, never>;
6672
+ /** @example 52.52 */
6673
+ locationLat?: Record<string, never>;
6674
+ /** @example 13.405 */
6675
+ locationLong?: Record<string, never>;
6676
+ /** @example city-uuid */
6677
+ cityId?: Record<string, never>;
6678
+ /** @example false */
6679
+ isOnline: boolean;
6680
+ /** @example https://zoom.us/j/123456789 */
6681
+ onlineUrl?: Record<string, never>;
6682
+ /** @example 20 */
6683
+ totalSpots: number;
6684
+ /** @example 15 */
6685
+ availableSpots: number;
6686
+ /** @example true */
6687
+ isFree: boolean;
6688
+ /** @example 10.00 */
6689
+ price?: Record<string, never>;
6690
+ /** @example EUR */
6691
+ currency: string;
6692
+ /** @example hub-uuid */
6693
+ hubId?: Record<string, never>;
6694
+ /**
6695
+ * @description Venue where event takes place
6696
+ * @example venue-uuid
6697
+ */
6698
+ venueId?: Record<string, never>;
6699
+ /**
6700
+ * @description Creator/facilitator of the event
6701
+ * @example creator-uuid
6702
+ */
6703
+ creatorId?: Record<string, never>;
6704
+ /**
6705
+ * @description Sponsor brand of the event
6706
+ * @example brand-uuid
6707
+ */
6708
+ sponsorBrandId?: Record<string, never>;
6709
+ /**
6710
+ * @description Type of gathering
6711
+ * @enum {string}
6712
+ */
6713
+ gatheringType?: "FACILITATOR_LED" | "COMMUNITY" | "SOCIAL" | "ONLINE";
6714
+ /** @enum {string} */
6715
+ visibility: "PUBLIC" | "MEMBERS_ONLY" | "INVITE_ONLY";
6716
+ /** @example false */
6717
+ requiresApproval: boolean;
6718
+ /** @example true */
6719
+ allowWaitlist: boolean;
6720
+ /** @example https://chat.whatsapp.com/... */
6721
+ whatsappGroup?: Record<string, never>;
6722
+ /** @example https://eventbrite.com/... */
6723
+ externalUrl?: Record<string, never>;
6724
+ /** @enum {string} */
6725
+ status: "DRAFT" | "PUBLISHED" | "CANCELLED" | "COMPLETED";
6726
+ /** @example false */
6727
+ isFeatured: boolean;
6728
+ /** @example false */
6729
+ isCancelled: boolean;
6730
+ /** @example false */
6731
+ isAmbient: boolean;
6732
+ /**
6733
+ * @description Ambient event category
6734
+ * @example COFFEE
6735
+ */
6736
+ ambientCategory?: Record<string, never>;
6737
+ /**
6738
+ * @description Event vibe/atmosphere
6739
+ * @enum {string}
6740
+ */
6741
+ vibe?: "CHILL" | "ACTIVE" | "SOCIAL" | "CREATIVE" | "DEEP_TALK" | "ADVENTURE";
6742
+ /** @description City where event takes place */
6743
+ city?: components["schemas"]["EventCityDto"];
6744
+ /** @description Venue where event takes place */
6745
+ venue?: components["schemas"]["EventVenueDto"];
6746
+ /** @description Creator/facilitator of the event */
6747
+ creator?: components["schemas"]["EventCreatorDto"];
6748
+ /** @description Sponsor brand of the event */
6749
+ sponsorBrand?: components["schemas"]["EventBrandDto"];
6750
+ /** @example 5 */
6751
+ bookingCount: number;
6752
+ /** @example 3 */
6753
+ checkinCount: number;
6754
+ /**
6755
+ * Format: date-time
6756
+ * @example 2024-01-01T00:00:00.000Z
6757
+ */
6758
+ createdAt: string;
6759
+ /** @example 2024-01-01T00:00:00.000Z */
6760
+ publishedAt?: Record<string, never>;
6761
+ };
6917
6762
  UpdateEventDto: {
6918
6763
  /** @example Morning Coffee & Connection */
6919
6764
  title?: string;
@@ -7795,50 +7640,6 @@ export interface components {
7795
7640
  */
7796
7641
  authorName?: string;
7797
7642
  };
7798
- AdminCreateBusinessDto: {
7799
- /**
7800
- * @description Business name
7801
- * @example The Good Life Cafe
7802
- */
7803
- name: string;
7804
- /**
7805
- * @description Business description
7806
- * @example Amazing alcohol-free cafe in the heart of London
7807
- */
7808
- description?: string;
7809
- /**
7810
- * @description Business type
7811
- * @enum {string}
7812
- */
7813
- type: "COFFEE_SHOP" | "RESTAURANT" | "BAR" | "WELLNESS" | "VENUE" | "ACTIVITY" | "RETAIL" | "OTHER";
7814
- /**
7815
- * @description Has alcohol-free drinks
7816
- * @default true
7817
- */
7818
- hasAfDrinks: boolean;
7819
- /**
7820
- * @description Completely alcohol-free venue
7821
- * @default false
7822
- */
7823
- isAfVenue: boolean;
7824
- /** @description City ID */
7825
- cityId?: string;
7826
- /**
7827
- * @description Address
7828
- * @example 123 Main St, London
7829
- */
7830
- address?: string;
7831
- /**
7832
- * @description Partner status
7833
- * @default false
7834
- */
7835
- isPartner: boolean;
7836
- /**
7837
- * @description Featured status
7838
- * @default false
7839
- */
7840
- isFeatured: boolean;
7841
- };
7842
7643
  AdminOverviewStatsDto: {
7843
7644
  /** @description Total number of users */
7844
7645
  totalUsers: number;
@@ -7854,8 +7655,8 @@ export interface components {
7854
7655
  upcomingEvents: number;
7855
7656
  /** @description Total bookings */
7856
7657
  totalBookings: number;
7857
- /** @description Total businesses */
7858
- totalBusinesses: number;
7658
+ /** @description Total venues */
7659
+ totalVenues: number;
7859
7660
  /** @description Total library content */
7860
7661
  totalContent: number;
7861
7662
  };
@@ -10430,6 +10231,75 @@ export interface operations {
10430
10231
  };
10431
10232
  };
10432
10233
  };
10234
+ UsersController_sendPhoneOtp: {
10235
+ parameters: {
10236
+ query?: never;
10237
+ header?: never;
10238
+ path?: never;
10239
+ cookie?: never;
10240
+ };
10241
+ requestBody: {
10242
+ content: {
10243
+ "application/json": components["schemas"]["UserSendOtpDto"];
10244
+ };
10245
+ };
10246
+ responses: {
10247
+ /** @description OTP sent successfully */
10248
+ 200: {
10249
+ headers: {
10250
+ [name: string]: unknown;
10251
+ };
10252
+ content: {
10253
+ "application/json": components["schemas"]["UserOtpSentResponseDto"];
10254
+ };
10255
+ };
10256
+ /** @description Phone number already in use */
10257
+ 409: {
10258
+ headers: {
10259
+ [name: string]: unknown;
10260
+ };
10261
+ content?: never;
10262
+ };
10263
+ };
10264
+ };
10265
+ UsersController_verifyPhoneOtp: {
10266
+ parameters: {
10267
+ query?: never;
10268
+ header?: never;
10269
+ path?: never;
10270
+ cookie?: never;
10271
+ };
10272
+ requestBody: {
10273
+ content: {
10274
+ "application/json": components["schemas"]["UserVerifyOtpDto"];
10275
+ };
10276
+ };
10277
+ responses: {
10278
+ /** @description Phone number verified and updated */
10279
+ 200: {
10280
+ headers: {
10281
+ [name: string]: unknown;
10282
+ };
10283
+ content: {
10284
+ "application/json": components["schemas"]["UserResponseDto"];
10285
+ };
10286
+ };
10287
+ /** @description Invalid verification code */
10288
+ 400: {
10289
+ headers: {
10290
+ [name: string]: unknown;
10291
+ };
10292
+ content?: never;
10293
+ };
10294
+ /** @description Phone number already in use */
10295
+ 409: {
10296
+ headers: {
10297
+ [name: string]: unknown;
10298
+ };
10299
+ content?: never;
10300
+ };
10301
+ };
10302
+ };
10433
10303
  UsersController_getPublicProfile: {
10434
10304
  parameters: {
10435
10305
  query?: never;
@@ -10729,349 +10599,35 @@ export interface operations {
10729
10599
  };
10730
10600
  };
10731
10601
  };
10732
- LibraryController_findById: {
10733
- parameters: {
10734
- query?: never;
10735
- header?: never;
10736
- path: {
10737
- /** @description Content ID */
10738
- id: string;
10739
- };
10740
- cookie?: never;
10741
- };
10742
- requestBody?: never;
10743
- responses: {
10744
- /** @description Content details with full markdown */
10745
- 200: {
10746
- headers: {
10747
- [name: string]: unknown;
10748
- };
10749
- content: {
10750
- "application/json": components["schemas"]["LibraryContentDetailResponseDto"];
10751
- };
10752
- };
10753
- /** @description Premium subscription required */
10754
- 403: {
10755
- headers: {
10756
- [name: string]: unknown;
10757
- };
10758
- content?: never;
10759
- };
10760
- /** @description Content not found */
10761
- 404: {
10762
- headers: {
10763
- [name: string]: unknown;
10764
- };
10765
- content?: never;
10766
- };
10767
- };
10768
- };
10769
- LibraryController_markAsViewed: {
10770
- parameters: {
10771
- query?: never;
10772
- header?: never;
10773
- path: {
10774
- /** @description Content ID */
10775
- id: string;
10776
- };
10777
- cookie?: never;
10778
- };
10779
- requestBody?: never;
10780
- responses: {
10781
- /** @description Content marked as viewed */
10782
- 200: {
10783
- headers: {
10784
- [name: string]: unknown;
10785
- };
10786
- content: {
10787
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10788
- };
10789
- };
10790
- /** @description Premium subscription required */
10791
- 403: {
10792
- headers: {
10793
- [name: string]: unknown;
10794
- };
10795
- content?: never;
10796
- };
10797
- /** @description Content not found */
10798
- 404: {
10799
- headers: {
10800
- [name: string]: unknown;
10801
- };
10802
- content?: never;
10803
- };
10804
- };
10805
- };
10806
- LibraryController_markAsCompleted: {
10807
- parameters: {
10808
- query?: never;
10809
- header?: never;
10810
- path: {
10811
- /** @description Content ID */
10812
- id: string;
10813
- };
10814
- cookie?: never;
10815
- };
10816
- requestBody?: never;
10817
- responses: {
10818
- /** @description Content marked as completed */
10819
- 200: {
10820
- headers: {
10821
- [name: string]: unknown;
10822
- };
10823
- content: {
10824
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10825
- };
10826
- };
10827
- /** @description Premium subscription required */
10828
- 403: {
10829
- headers: {
10830
- [name: string]: unknown;
10831
- };
10832
- content?: never;
10833
- };
10834
- /** @description Content not found */
10835
- 404: {
10836
- headers: {
10837
- [name: string]: unknown;
10838
- };
10839
- content?: never;
10840
- };
10841
- };
10842
- };
10843
- LibraryController_toggleLike: {
10844
- parameters: {
10845
- query?: never;
10846
- header?: never;
10847
- path: {
10848
- /** @description Content ID */
10849
- id: string;
10850
- };
10851
- cookie?: never;
10852
- };
10853
- requestBody?: never;
10854
- responses: {
10855
- /** @description Content liked/unliked */
10856
- 200: {
10857
- headers: {
10858
- [name: string]: unknown;
10859
- };
10860
- content: {
10861
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10862
- };
10863
- };
10864
- /** @description Premium subscription required */
10865
- 403: {
10866
- headers: {
10867
- [name: string]: unknown;
10868
- };
10869
- content?: never;
10870
- };
10871
- /** @description Content not found */
10872
- 404: {
10873
- headers: {
10874
- [name: string]: unknown;
10875
- };
10876
- content?: never;
10877
- };
10878
- };
10879
- };
10880
- LibraryController_addBookmark: {
10881
- parameters: {
10882
- query?: never;
10883
- header?: never;
10884
- path: {
10885
- /** @description Content ID */
10886
- id: string;
10887
- };
10888
- cookie?: never;
10889
- };
10890
- requestBody?: never;
10891
- responses: {
10892
- /** @description Content bookmarked */
10893
- 200: {
10894
- headers: {
10895
- [name: string]: unknown;
10896
- };
10897
- content: {
10898
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10899
- };
10900
- };
10901
- /** @description Premium subscription required */
10902
- 403: {
10903
- headers: {
10904
- [name: string]: unknown;
10905
- };
10906
- content?: never;
10907
- };
10908
- /** @description Content not found */
10909
- 404: {
10910
- headers: {
10911
- [name: string]: unknown;
10912
- };
10913
- content?: never;
10914
- };
10915
- };
10916
- };
10917
- LibraryController_removeBookmark: {
10918
- parameters: {
10919
- query?: never;
10920
- header?: never;
10921
- path: {
10922
- /** @description Content ID */
10923
- id: string;
10924
- };
10925
- cookie?: never;
10926
- };
10927
- requestBody?: never;
10928
- responses: {
10929
- /** @description Bookmark removed */
10930
- 200: {
10931
- headers: {
10932
- [name: string]: unknown;
10933
- };
10934
- content: {
10935
- "application/json": components["schemas"]["LibraryProgressResponseDto"];
10936
- };
10937
- };
10938
- /** @description Content not found */
10939
- 404: {
10940
- headers: {
10941
- [name: string]: unknown;
10942
- };
10943
- content?: never;
10944
- };
10945
- };
10946
- };
10947
- BusinessesController_findAll: {
10948
- parameters: {
10949
- query?: {
10950
- /** @description Page number */
10951
- page?: number;
10952
- /** @description Items per page */
10953
- limit?: number;
10954
- /** @description Search by name or description */
10955
- search?: string;
10956
- /** @description Filter by city ID */
10957
- cityId?: string;
10958
- /** @description Filter by business type */
10959
- type?: "COFFEE_SHOP" | "RESTAURANT" | "BAR" | "WELLNESS" | "VENUE" | "ACTIVITY" | "RETAIL" | "OTHER";
10960
- /** @description Filter businesses with AF drinks */
10961
- hasAfDrinks?: boolean;
10962
- /** @description Filter AF-only venues */
10963
- isAfVenue?: boolean;
10964
- /** @description Filter featured businesses only */
10965
- isFeatured?: boolean;
10966
- /** @description Filter partner businesses only */
10967
- isPartner?: boolean;
10968
- /** @description Latitude for nearby search */
10969
- lat?: number;
10970
- /** @description Longitude for nearby search */
10971
- long?: number;
10972
- /** @description Radius in kilometers for nearby search */
10973
- radius?: number;
10974
- /** @description Sort field */
10975
- sortBy?: string;
10976
- /** @description Sort order */
10977
- sortOrder?: string;
10978
- };
10979
- header?: never;
10980
- path?: never;
10981
- cookie?: never;
10982
- };
10983
- requestBody?: never;
10984
- responses: {
10985
- /** @description List of business partners */
10986
- 200: {
10987
- headers: {
10988
- [name: string]: unknown;
10989
- };
10990
- content?: never;
10991
- };
10992
- };
10993
- };
10994
- BusinessesController_getFeatured: {
10995
- parameters: {
10996
- query?: {
10997
- /** @description Number of businesses to return */
10998
- limit?: number;
10999
- };
11000
- header?: never;
11001
- path?: never;
11002
- cookie?: never;
11003
- };
11004
- requestBody?: never;
11005
- responses: {
11006
- /** @description List of featured business partners */
11007
- 200: {
11008
- headers: {
11009
- [name: string]: unknown;
11010
- };
11011
- content: {
11012
- "application/json": components["schemas"]["BusinessResponseDto"][];
11013
- };
11014
- };
11015
- };
11016
- };
11017
- BusinessesController_getNearby: {
11018
- parameters: {
11019
- query: {
11020
- /** @description Latitude */
11021
- lat: number;
11022
- /** @description Longitude */
11023
- long: number;
11024
- /** @description Search radius in kilometers */
11025
- radius?: number;
11026
- /** @description Number of businesses to return */
11027
- limit?: number;
11028
- };
11029
- header?: never;
11030
- path?: never;
11031
- cookie?: never;
11032
- };
11033
- requestBody?: never;
11034
- responses: {
11035
- /** @description List of nearby businesses */
11036
- 200: {
11037
- headers: {
11038
- [name: string]: unknown;
11039
- };
11040
- content: {
11041
- "application/json": components["schemas"]["BusinessResponseDto"][];
11042
- };
11043
- };
11044
- /** @description Invalid coordinates */
11045
- 400: {
11046
- headers: {
11047
- [name: string]: unknown;
11048
- };
11049
- content?: never;
11050
- };
11051
- };
11052
- };
11053
- BusinessesController_findByIdOrSlug: {
10602
+ LibraryController_findById: {
11054
10603
  parameters: {
11055
10604
  query?: never;
11056
10605
  header?: never;
11057
10606
  path: {
11058
- /** @description Business ID (UUID) or slug */
11059
- idOrSlug: string;
10607
+ /** @description Content ID */
10608
+ id: string;
11060
10609
  };
11061
10610
  cookie?: never;
11062
10611
  };
11063
10612
  requestBody?: never;
11064
10613
  responses: {
11065
- /** @description Business details */
10614
+ /** @description Content details with full markdown */
11066
10615
  200: {
11067
10616
  headers: {
11068
10617
  [name: string]: unknown;
11069
10618
  };
11070
10619
  content: {
11071
- "application/json": components["schemas"]["BusinessResponseDto"];
10620
+ "application/json": components["schemas"]["LibraryContentDetailResponseDto"];
10621
+ };
10622
+ };
10623
+ /** @description Premium subscription required */
10624
+ 403: {
10625
+ headers: {
10626
+ [name: string]: unknown;
11072
10627
  };
10628
+ content?: never;
11073
10629
  };
11074
- /** @description Business not found */
10630
+ /** @description Content not found */
11075
10631
  404: {
11076
10632
  headers: {
11077
10633
  [name: string]: unknown;
@@ -11080,28 +10636,35 @@ export interface operations {
11080
10636
  };
11081
10637
  };
11082
10638
  };
11083
- BusinessesController_getBusinessOffers: {
10639
+ LibraryController_markAsViewed: {
11084
10640
  parameters: {
11085
10641
  query?: never;
11086
10642
  header?: never;
11087
10643
  path: {
11088
- /** @description Business ID or slug */
11089
- idOrSlug: string;
10644
+ /** @description Content ID */
10645
+ id: string;
11090
10646
  };
11091
10647
  cookie?: never;
11092
10648
  };
11093
10649
  requestBody?: never;
11094
10650
  responses: {
11095
- /** @description List of business offers */
10651
+ /** @description Content marked as viewed */
11096
10652
  200: {
11097
10653
  headers: {
11098
10654
  [name: string]: unknown;
11099
10655
  };
11100
10656
  content: {
11101
- "application/json": components["schemas"]["OfferResponseDto"][];
10657
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
10658
+ };
10659
+ };
10660
+ /** @description Premium subscription required */
10661
+ 403: {
10662
+ headers: {
10663
+ [name: string]: unknown;
11102
10664
  };
10665
+ content?: never;
11103
10666
  };
11104
- /** @description Business not found */
10667
+ /** @description Content not found */
11105
10668
  404: {
11106
10669
  headers: {
11107
10670
  [name: string]: unknown;
@@ -11110,84 +10673,72 @@ export interface operations {
11110
10673
  };
11111
10674
  };
11112
10675
  };
11113
- BusinessesController_getBusinessEvents: {
10676
+ LibraryController_markAsCompleted: {
11114
10677
  parameters: {
11115
- query?: {
11116
- /** @description Number of events to return */
11117
- limit?: number;
11118
- };
10678
+ query?: never;
11119
10679
  header?: never;
11120
10680
  path: {
11121
- /** @description Business ID or slug */
11122
- idOrSlug: string;
10681
+ /** @description Content ID */
10682
+ id: string;
11123
10683
  };
11124
10684
  cookie?: never;
11125
10685
  };
11126
10686
  requestBody?: never;
11127
10687
  responses: {
11128
- /** @description List of upcoming events at this venue */
10688
+ /** @description Content marked as completed */
11129
10689
  200: {
11130
10690
  headers: {
11131
10691
  [name: string]: unknown;
11132
10692
  };
11133
10693
  content: {
11134
- "application/json": components["schemas"]["EventResponseDto"][];
10694
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
11135
10695
  };
11136
10696
  };
11137
- /** @description Business not found */
11138
- 404: {
10697
+ /** @description Premium subscription required */
10698
+ 403: {
11139
10699
  headers: {
11140
10700
  [name: string]: unknown;
11141
10701
  };
11142
10702
  content?: never;
11143
10703
  };
11144
- };
11145
- };
11146
- OffersController_findAll: {
11147
- parameters: {
11148
- query?: {
11149
- /** @description Number of offers to return */
11150
- limit?: number;
11151
- };
11152
- header?: never;
11153
- path?: never;
11154
- cookie?: never;
11155
- };
11156
- requestBody?: never;
11157
- responses: {
11158
- /** @description List of active offers */
11159
- 200: {
10704
+ /** @description Content not found */
10705
+ 404: {
11160
10706
  headers: {
11161
10707
  [name: string]: unknown;
11162
10708
  };
11163
- content: {
11164
- "application/json": components["schemas"]["OfferResponseDto"][];
11165
- };
10709
+ content?: never;
11166
10710
  };
11167
10711
  };
11168
10712
  };
11169
- OffersController_findById: {
10713
+ LibraryController_toggleLike: {
11170
10714
  parameters: {
11171
10715
  query?: never;
11172
10716
  header?: never;
11173
10717
  path: {
11174
- /** @description Offer ID */
10718
+ /** @description Content ID */
11175
10719
  id: string;
11176
10720
  };
11177
10721
  cookie?: never;
11178
10722
  };
11179
10723
  requestBody?: never;
11180
10724
  responses: {
11181
- /** @description Offer details */
10725
+ /** @description Content liked/unliked */
11182
10726
  200: {
11183
10727
  headers: {
11184
10728
  [name: string]: unknown;
11185
10729
  };
11186
10730
  content: {
11187
- "application/json": components["schemas"]["OfferResponseDto"];
10731
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
11188
10732
  };
11189
10733
  };
11190
- /** @description Offer not found */
10734
+ /** @description Premium subscription required */
10735
+ 403: {
10736
+ headers: {
10737
+ [name: string]: unknown;
10738
+ };
10739
+ content?: never;
10740
+ };
10741
+ /** @description Content not found */
11191
10742
  404: {
11192
10743
  headers: {
11193
10744
  [name: string]: unknown;
@@ -11196,44 +10747,35 @@ export interface operations {
11196
10747
  };
11197
10748
  };
11198
10749
  };
11199
- OffersController_redeemOffer: {
10750
+ LibraryController_addBookmark: {
11200
10751
  parameters: {
11201
10752
  query?: never;
11202
10753
  header?: never;
11203
10754
  path: {
11204
- /** @description Offer ID */
10755
+ /** @description Content ID */
11205
10756
  id: string;
11206
10757
  };
11207
10758
  cookie?: never;
11208
10759
  };
11209
- requestBody: {
11210
- content: {
11211
- "application/json": components["schemas"]["RedeemOfferDto"];
11212
- };
11213
- };
10760
+ requestBody?: never;
11214
10761
  responses: {
11215
- /** @description Offer redeemed successfully */
11216
- 201: {
10762
+ /** @description Content bookmarked */
10763
+ 200: {
11217
10764
  headers: {
11218
10765
  [name: string]: unknown;
11219
10766
  };
11220
- content?: never;
11221
- };
11222
- /** @description Offer expired, limit reached, or invalid */
11223
- 400: {
11224
- headers: {
11225
- [name: string]: unknown;
10767
+ content: {
10768
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
11226
10769
  };
11227
- content?: never;
11228
10770
  };
11229
- /** @description Premium membership required */
10771
+ /** @description Premium subscription required */
11230
10772
  403: {
11231
10773
  headers: {
11232
10774
  [name: string]: unknown;
11233
10775
  };
11234
10776
  content?: never;
11235
10777
  };
11236
- /** @description Offer not found */
10778
+ /** @description Content not found */
11237
10779
  404: {
11238
10780
  headers: {
11239
10781
  [name: string]: unknown;
@@ -11242,20 +10784,29 @@ export interface operations {
11242
10784
  };
11243
10785
  };
11244
10786
  };
11245
- OffersController_checkCanRedeem: {
10787
+ LibraryController_removeBookmark: {
11246
10788
  parameters: {
11247
10789
  query?: never;
11248
10790
  header?: never;
11249
10791
  path: {
11250
- /** @description Offer ID */
10792
+ /** @description Content ID */
11251
10793
  id: string;
11252
10794
  };
11253
10795
  cookie?: never;
11254
10796
  };
11255
10797
  requestBody?: never;
11256
10798
  responses: {
11257
- /** @description Redemption eligibility status */
10799
+ /** @description Bookmark removed */
11258
10800
  200: {
10801
+ headers: {
10802
+ [name: string]: unknown;
10803
+ };
10804
+ content: {
10805
+ "application/json": components["schemas"]["LibraryProgressResponseDto"];
10806
+ };
10807
+ };
10808
+ /** @description Content not found */
10809
+ 404: {
11259
10810
  headers: {
11260
10811
  [name: string]: unknown;
11261
10812
  };
@@ -12327,12 +11878,12 @@ export interface operations {
12327
11878
  };
12328
11879
  };
12329
11880
  };
12330
- PartnerRewardsController_getRewardsForBusiness: {
11881
+ PartnerRewardsController_getRewardsForVenue: {
12331
11882
  parameters: {
12332
11883
  query?: never;
12333
11884
  header?: never;
12334
11885
  path: {
12335
- businessId: string;
11886
+ venueId: string;
12336
11887
  };
12337
11888
  cookie?: never;
12338
11889
  };
@@ -12416,12 +11967,12 @@ export interface operations {
12416
11967
  };
12417
11968
  };
12418
11969
  };
12419
- BusinessRewardsController_getBusinessRewards: {
11970
+ PartnerVenueRewardsController_getVenueRewards: {
12420
11971
  parameters: {
12421
11972
  query?: never;
12422
11973
  header?: never;
12423
11974
  path: {
12424
- businessId: string;
11975
+ venueId: string;
12425
11976
  };
12426
11977
  cookie?: never;
12427
11978
  };
@@ -12435,12 +11986,12 @@ export interface operations {
12435
11986
  };
12436
11987
  };
12437
11988
  };
12438
- BusinessRewardsController_createReward: {
11989
+ PartnerVenueRewardsController_createReward: {
12439
11990
  parameters: {
12440
11991
  query?: never;
12441
11992
  header?: never;
12442
11993
  path: {
12443
- businessId: string;
11994
+ venueId: string;
12444
11995
  };
12445
11996
  cookie?: never;
12446
11997
  };
@@ -12454,12 +12005,12 @@ export interface operations {
12454
12005
  };
12455
12006
  };
12456
12007
  };
12457
- BusinessRewardsController_updateReward: {
12008
+ PartnerVenueRewardsController_updateReward: {
12458
12009
  parameters: {
12459
12010
  query?: never;
12460
12011
  header?: never;
12461
12012
  path: {
12462
- businessId: string;
12013
+ venueId: string;
12463
12014
  rewardId: string;
12464
12015
  };
12465
12016
  cookie?: never;
@@ -12844,7 +12395,130 @@ export interface operations {
12844
12395
  headers: {
12845
12396
  [name: string]: unknown;
12846
12397
  };
12847
- content?: never;
12398
+ content?: never;
12399
+ };
12400
+ /** @description Not authorized */
12401
+ 403: {
12402
+ headers: {
12403
+ [name: string]: unknown;
12404
+ };
12405
+ content?: never;
12406
+ };
12407
+ };
12408
+ };
12409
+ CreatorRewardsController_getCreatorRewards: {
12410
+ parameters: {
12411
+ query?: never;
12412
+ header?: never;
12413
+ path: {
12414
+ /** @description Creator ID */
12415
+ creatorId: string;
12416
+ };
12417
+ cookie?: never;
12418
+ };
12419
+ requestBody?: never;
12420
+ responses: {
12421
+ /** @description List of creator rewards */
12422
+ 200: {
12423
+ headers: {
12424
+ [name: string]: unknown;
12425
+ };
12426
+ content: {
12427
+ "application/json": components["schemas"]["RewardResponseDto"][];
12428
+ };
12429
+ };
12430
+ };
12431
+ };
12432
+ CreatorRewardsController_createReward: {
12433
+ parameters: {
12434
+ query?: never;
12435
+ header?: never;
12436
+ path: {
12437
+ /** @description Creator ID */
12438
+ creatorId: string;
12439
+ };
12440
+ cookie?: never;
12441
+ };
12442
+ requestBody: {
12443
+ content: {
12444
+ "application/json": components["schemas"]["CreateRewardDto"];
12445
+ };
12446
+ };
12447
+ responses: {
12448
+ /** @description Reward created */
12449
+ 201: {
12450
+ headers: {
12451
+ [name: string]: unknown;
12452
+ };
12453
+ content: {
12454
+ "application/json": components["schemas"]["RewardResponseDto"];
12455
+ };
12456
+ };
12457
+ /** @description Not authorized */
12458
+ 403: {
12459
+ headers: {
12460
+ [name: string]: unknown;
12461
+ };
12462
+ content?: never;
12463
+ };
12464
+ };
12465
+ };
12466
+ CreatorRewardsController_deleteReward: {
12467
+ parameters: {
12468
+ query?: never;
12469
+ header?: never;
12470
+ path: {
12471
+ /** @description Reward ID */
12472
+ rewardId: string;
12473
+ /** @description Creator ID */
12474
+ creatorId: unknown;
12475
+ };
12476
+ cookie?: never;
12477
+ };
12478
+ requestBody?: never;
12479
+ responses: {
12480
+ /** @description Reward deleted */
12481
+ 200: {
12482
+ headers: {
12483
+ [name: string]: unknown;
12484
+ };
12485
+ content?: never;
12486
+ };
12487
+ /** @description Not authorized */
12488
+ 403: {
12489
+ headers: {
12490
+ [name: string]: unknown;
12491
+ };
12492
+ content?: never;
12493
+ };
12494
+ };
12495
+ };
12496
+ CreatorRewardsController_updateReward: {
12497
+ parameters: {
12498
+ query?: never;
12499
+ header?: never;
12500
+ path: {
12501
+ /** @description Reward ID */
12502
+ rewardId: string;
12503
+ /** @description Creator ID */
12504
+ creatorId: unknown;
12505
+ };
12506
+ cookie?: never;
12507
+ };
12508
+ requestBody: {
12509
+ content: {
12510
+ "application/json": components["schemas"]["UpdateRewardDto"];
12511
+ };
12512
+ };
12513
+ responses: {
12514
+ /** @description Reward updated */
12515
+ 200: {
12516
+ headers: {
12517
+ [name: string]: unknown;
12518
+ };
12519
+ content: {
12520
+ "application/json": components["schemas"]["RewardResponseDto"];
12521
+ };
12848
12522
  };
12849
12523
  /** @description Not authorized */
12850
12524
  403: {
@@ -12855,56 +12529,52 @@ export interface operations {
12855
12529
  };
12856
12530
  };
12857
12531
  };
12858
- CreatorRewardsController_getCreatorRewards: {
12532
+ OffersController_findAll: {
12859
12533
  parameters: {
12860
- query?: never;
12861
- header?: never;
12862
- path: {
12863
- /** @description Creator ID */
12864
- creatorId: string;
12534
+ query?: {
12535
+ /** @description Number of offers to return */
12536
+ limit?: number;
12865
12537
  };
12538
+ header?: never;
12539
+ path?: never;
12866
12540
  cookie?: never;
12867
12541
  };
12868
12542
  requestBody?: never;
12869
12543
  responses: {
12870
- /** @description List of creator rewards */
12544
+ /** @description List of active offers */
12871
12545
  200: {
12872
12546
  headers: {
12873
12547
  [name: string]: unknown;
12874
12548
  };
12875
12549
  content: {
12876
- "application/json": components["schemas"]["RewardResponseDto"][];
12550
+ "application/json": components["schemas"]["OfferResponseDto"][];
12877
12551
  };
12878
12552
  };
12879
12553
  };
12880
12554
  };
12881
- CreatorRewardsController_createReward: {
12555
+ OffersController_findById: {
12882
12556
  parameters: {
12883
12557
  query?: never;
12884
12558
  header?: never;
12885
12559
  path: {
12886
- /** @description Creator ID */
12887
- creatorId: string;
12560
+ /** @description Offer ID */
12561
+ id: string;
12888
12562
  };
12889
12563
  cookie?: never;
12890
12564
  };
12891
- requestBody: {
12892
- content: {
12893
- "application/json": components["schemas"]["CreateRewardDto"];
12894
- };
12895
- };
12565
+ requestBody?: never;
12896
12566
  responses: {
12897
- /** @description Reward created */
12898
- 201: {
12567
+ /** @description Offer details */
12568
+ 200: {
12899
12569
  headers: {
12900
12570
  [name: string]: unknown;
12901
12571
  };
12902
12572
  content: {
12903
- "application/json": components["schemas"]["RewardResponseDto"];
12573
+ "application/json": components["schemas"]["OfferResponseDto"];
12904
12574
  };
12905
12575
  };
12906
- /** @description Not authorized */
12907
- 403: {
12576
+ /** @description Offer not found */
12577
+ 404: {
12908
12578
  headers: {
12909
12579
  [name: string]: unknown;
12910
12580
  };
@@ -12912,65 +12582,66 @@ export interface operations {
12912
12582
  };
12913
12583
  };
12914
12584
  };
12915
- CreatorRewardsController_deleteReward: {
12585
+ OffersController_redeemOffer: {
12916
12586
  parameters: {
12917
12587
  query?: never;
12918
12588
  header?: never;
12919
12589
  path: {
12920
- /** @description Reward ID */
12921
- rewardId: string;
12922
- /** @description Creator ID */
12923
- creatorId: unknown;
12590
+ /** @description Offer ID */
12591
+ id: string;
12924
12592
  };
12925
12593
  cookie?: never;
12926
12594
  };
12927
- requestBody?: never;
12595
+ requestBody: {
12596
+ content: {
12597
+ "application/json": components["schemas"]["RedeemOfferDto"];
12598
+ };
12599
+ };
12928
12600
  responses: {
12929
- /** @description Reward deleted */
12930
- 200: {
12601
+ /** @description Offer redeemed successfully */
12602
+ 201: {
12931
12603
  headers: {
12932
12604
  [name: string]: unknown;
12933
12605
  };
12934
12606
  content?: never;
12935
12607
  };
12936
- /** @description Not authorized */
12608
+ /** @description Offer expired, limit reached, or invalid */
12609
+ 400: {
12610
+ headers: {
12611
+ [name: string]: unknown;
12612
+ };
12613
+ content?: never;
12614
+ };
12615
+ /** @description Premium membership required */
12937
12616
  403: {
12938
12617
  headers: {
12939
12618
  [name: string]: unknown;
12940
12619
  };
12941
12620
  content?: never;
12942
12621
  };
12622
+ /** @description Offer not found */
12623
+ 404: {
12624
+ headers: {
12625
+ [name: string]: unknown;
12626
+ };
12627
+ content?: never;
12628
+ };
12943
12629
  };
12944
12630
  };
12945
- CreatorRewardsController_updateReward: {
12631
+ OffersController_checkCanRedeem: {
12946
12632
  parameters: {
12947
12633
  query?: never;
12948
12634
  header?: never;
12949
12635
  path: {
12950
- /** @description Reward ID */
12951
- rewardId: string;
12952
- /** @description Creator ID */
12953
- creatorId: unknown;
12636
+ /** @description Offer ID */
12637
+ id: string;
12954
12638
  };
12955
12639
  cookie?: never;
12956
12640
  };
12957
- requestBody: {
12958
- content: {
12959
- "application/json": components["schemas"]["UpdateRewardDto"];
12960
- };
12961
- };
12641
+ requestBody?: never;
12962
12642
  responses: {
12963
- /** @description Reward updated */
12643
+ /** @description Redemption eligibility status */
12964
12644
  200: {
12965
- headers: {
12966
- [name: string]: unknown;
12967
- };
12968
- content: {
12969
- "application/json": components["schemas"]["RewardResponseDto"];
12970
- };
12971
- };
12972
- /** @description Not authorized */
12973
- 403: {
12974
12645
  headers: {
12975
12646
  [name: string]: unknown;
12976
12647
  };
@@ -13956,6 +13627,7 @@ export interface operations {
13956
13627
  hasAfDrinks?: boolean;
13957
13628
  isAfVenue?: boolean;
13958
13629
  isFeatured?: boolean;
13630
+ isFoundingPartner?: boolean;
13959
13631
  lat?: number;
13960
13632
  long?: number;
13961
13633
  radius?: number;
@@ -14001,36 +13673,6 @@ export interface operations {
14001
13673
  };
14002
13674
  };
14003
13675
  };
14004
- VenuesController_findById: {
14005
- parameters: {
14006
- query?: never;
14007
- header?: never;
14008
- path: {
14009
- /** @description Venue ID */
14010
- id: string;
14011
- };
14012
- cookie?: never;
14013
- };
14014
- requestBody?: never;
14015
- responses: {
14016
- /** @description Venue details */
14017
- 200: {
14018
- headers: {
14019
- [name: string]: unknown;
14020
- };
14021
- content: {
14022
- "application/json": components["schemas"]["VenueResponseDto"];
14023
- };
14024
- };
14025
- /** @description Venue not found */
14026
- 404: {
14027
- headers: {
14028
- [name: string]: unknown;
14029
- };
14030
- content?: never;
14031
- };
14032
- };
14033
- };
14034
13676
  VenuesController_update: {
14035
13677
  parameters: {
14036
13678
  query?: never;
@@ -14140,6 +13782,36 @@ export interface operations {
14140
13782
  };
14141
13783
  };
14142
13784
  };
13785
+ VenuesController_findByIdOrSlug: {
13786
+ parameters: {
13787
+ query?: never;
13788
+ header?: never;
13789
+ path: {
13790
+ /** @description Venue ID (UUID) or slug */
13791
+ idOrSlug: string;
13792
+ };
13793
+ cookie?: never;
13794
+ };
13795
+ requestBody?: never;
13796
+ responses: {
13797
+ /** @description Venue details */
13798
+ 200: {
13799
+ headers: {
13800
+ [name: string]: unknown;
13801
+ };
13802
+ content: {
13803
+ "application/json": components["schemas"]["VenueResponseDto"];
13804
+ };
13805
+ };
13806
+ /** @description Venue not found */
13807
+ 404: {
13808
+ headers: {
13809
+ [name: string]: unknown;
13810
+ };
13811
+ content?: never;
13812
+ };
13813
+ };
13814
+ };
14143
13815
  VenuesController_getOwners: {
14144
13816
  parameters: {
14145
13817
  query?: never;
@@ -14234,8 +13906,8 @@ export interface operations {
14234
13906
  };
14235
13907
  header?: never;
14236
13908
  path: {
14237
- /** @description Venue ID */
14238
- id: string;
13909
+ /** @description Venue ID or slug */
13910
+ idOrSlug: string;
14239
13911
  };
14240
13912
  cookie?: never;
14241
13913
  };
@@ -15628,116 +15300,6 @@ export interface operations {
15628
15300
  };
15629
15301
  };
15630
15302
  };
15631
- AdminBusinessesController_findAll: {
15632
- parameters: {
15633
- query: {
15634
- page: number;
15635
- limit: number;
15636
- };
15637
- header?: never;
15638
- path?: never;
15639
- cookie?: never;
15640
- };
15641
- requestBody?: never;
15642
- responses: {
15643
- /** @description List of businesses */
15644
- 200: {
15645
- headers: {
15646
- [name: string]: unknown;
15647
- };
15648
- content?: never;
15649
- };
15650
- };
15651
- };
15652
- AdminBusinessesController_create: {
15653
- parameters: {
15654
- query?: never;
15655
- header?: never;
15656
- path?: never;
15657
- cookie?: never;
15658
- };
15659
- requestBody: {
15660
- content: {
15661
- "application/json": components["schemas"]["AdminCreateBusinessDto"];
15662
- };
15663
- };
15664
- responses: {
15665
- /** @description Business created */
15666
- 201: {
15667
- headers: {
15668
- [name: string]: unknown;
15669
- };
15670
- content?: never;
15671
- };
15672
- };
15673
- };
15674
- AdminBusinessesController_update: {
15675
- parameters: {
15676
- query?: never;
15677
- header?: never;
15678
- path: {
15679
- /** @description Business ID */
15680
- id: string;
15681
- };
15682
- cookie?: never;
15683
- };
15684
- requestBody: {
15685
- content: {
15686
- "application/json": components["schemas"]["AdminCreateBusinessDto"];
15687
- };
15688
- };
15689
- responses: {
15690
- /** @description Business updated */
15691
- 200: {
15692
- headers: {
15693
- [name: string]: unknown;
15694
- };
15695
- content?: never;
15696
- };
15697
- };
15698
- };
15699
- AdminBusinessesController_delete: {
15700
- parameters: {
15701
- query?: never;
15702
- header?: never;
15703
- path: {
15704
- /** @description Business ID */
15705
- id: string;
15706
- };
15707
- cookie?: never;
15708
- };
15709
- requestBody?: never;
15710
- responses: {
15711
- /** @description Business deleted */
15712
- 204: {
15713
- headers: {
15714
- [name: string]: unknown;
15715
- };
15716
- content?: never;
15717
- };
15718
- };
15719
- };
15720
- AdminBusinessesController_createOffer: {
15721
- parameters: {
15722
- query?: never;
15723
- header?: never;
15724
- path: {
15725
- /** @description Business ID */
15726
- id: string;
15727
- };
15728
- cookie?: never;
15729
- };
15730
- requestBody?: never;
15731
- responses: {
15732
- /** @description Offer created */
15733
- 201: {
15734
- headers: {
15735
- [name: string]: unknown;
15736
- };
15737
- content?: never;
15738
- };
15739
- };
15740
- };
15741
15303
  AdminAnalyticsController_getOverview: {
15742
15304
  parameters: {
15743
15305
  query?: never;
@@ -18094,7 +17656,7 @@ export interface operations {
18094
17656
  };
18095
17657
  };
18096
17658
  };
18097
- MapController_getMapBusinesses: {
17659
+ MapController_getMapVenues: {
18098
17660
  parameters: {
18099
17661
  query?: {
18100
17662
  /** @description Center latitude for search */
@@ -18116,7 +17678,7 @@ export interface operations {
18116
17678
  };
18117
17679
  requestBody?: never;
18118
17680
  responses: {
18119
- /** @description List of businesses on map */
17681
+ /** @description List of venues on map */
18120
17682
  200: {
18121
17683
  headers: {
18122
17684
  [name: string]: unknown;
@@ -18685,9 +18247,9 @@ export interface operations {
18685
18247
  type?: "SESSION_1ON1" | "SESSION_GROUP" | "PACKAGE" | "WORKSHOP" | "CONSULTATION";
18686
18248
  deliveryMethod?: "VIDEO_CALL" | "PHONE_CALL" | "IN_PERSON" | "HYBRID";
18687
18249
  isActive?: boolean;
18688
- /** @description Minimum price in pence */
18250
+ /** @description Minimum price in cents */
18689
18251
  minPrice?: number;
18690
- /** @description Maximum price in pence */
18252
+ /** @description Maximum price in cents */
18691
18253
  maxPrice?: number;
18692
18254
  };
18693
18255
  header?: never;
@@ -18755,9 +18317,9 @@ export interface operations {
18755
18317
  type?: "SESSION_1ON1" | "SESSION_GROUP" | "PACKAGE" | "WORKSHOP" | "CONSULTATION";
18756
18318
  deliveryMethod?: "VIDEO_CALL" | "PHONE_CALL" | "IN_PERSON" | "HYBRID";
18757
18319
  isActive?: boolean;
18758
- /** @description Minimum price in pence */
18320
+ /** @description Minimum price in cents */
18759
18321
  minPrice?: number;
18760
- /** @description Maximum price in pence */
18322
+ /** @description Maximum price in cents */
18761
18323
  maxPrice?: number;
18762
18324
  };
18763
18325
  header?: never;