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