@growsober/types 1.0.0 → 1.0.1

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
@@ -2391,6 +2391,163 @@ export interface paths {
2391
2391
  patch?: never;
2392
2392
  trace?: never;
2393
2393
  };
2394
+ "/api/v1/support/mood-logs": {
2395
+ parameters: {
2396
+ query?: never;
2397
+ header?: never;
2398
+ path?: never;
2399
+ cookie?: never;
2400
+ };
2401
+ /** Get mood logs for current user */
2402
+ get: operations["MoodController_listMoodLogs"];
2403
+ put?: never;
2404
+ /** Log mood for current user */
2405
+ post: operations["MoodController_logMood"];
2406
+ delete?: never;
2407
+ options?: never;
2408
+ head?: never;
2409
+ patch?: never;
2410
+ trace?: never;
2411
+ };
2412
+ "/api/v1/support/mood-logs/stats": {
2413
+ parameters: {
2414
+ query?: never;
2415
+ header?: never;
2416
+ path?: never;
2417
+ cookie?: never;
2418
+ };
2419
+ /** Get mood analytics and statistics */
2420
+ get: operations["MoodController_getMoodStats"];
2421
+ put?: never;
2422
+ post?: never;
2423
+ delete?: never;
2424
+ options?: never;
2425
+ head?: never;
2426
+ patch?: never;
2427
+ trace?: never;
2428
+ };
2429
+ "/api/v1/support/habits": {
2430
+ parameters: {
2431
+ query?: never;
2432
+ header?: never;
2433
+ path?: never;
2434
+ cookie?: never;
2435
+ };
2436
+ /** Get all habits for current user */
2437
+ get: operations["HabitsController_listHabits"];
2438
+ put?: never;
2439
+ /** Create a new habit */
2440
+ post: operations["HabitsController_createHabit"];
2441
+ delete?: never;
2442
+ options?: never;
2443
+ head?: never;
2444
+ patch?: never;
2445
+ trace?: never;
2446
+ };
2447
+ "/api/v1/support/habits/{id}": {
2448
+ parameters: {
2449
+ query?: never;
2450
+ header?: never;
2451
+ path?: never;
2452
+ cookie?: never;
2453
+ };
2454
+ get?: never;
2455
+ /** Update a habit */
2456
+ put: operations["HabitsController_updateHabit"];
2457
+ post?: never;
2458
+ /** Delete a habit */
2459
+ delete: operations["HabitsController_deleteHabit"];
2460
+ options?: never;
2461
+ head?: never;
2462
+ patch?: never;
2463
+ trace?: never;
2464
+ };
2465
+ "/api/v1/support/habits/{id}/complete": {
2466
+ parameters: {
2467
+ query?: never;
2468
+ header?: never;
2469
+ path?: never;
2470
+ cookie?: never;
2471
+ };
2472
+ get?: never;
2473
+ put?: never;
2474
+ /** Mark habit as complete for today */
2475
+ post: operations["HabitsController_completeHabit"];
2476
+ delete?: never;
2477
+ options?: never;
2478
+ head?: never;
2479
+ patch?: never;
2480
+ trace?: never;
2481
+ };
2482
+ "/api/v1/support/habits/{id}/history": {
2483
+ parameters: {
2484
+ query?: never;
2485
+ header?: never;
2486
+ path?: never;
2487
+ cookie?: never;
2488
+ };
2489
+ /** Get completion history for a habit */
2490
+ get: operations["HabitsController_getHabitHistory"];
2491
+ put?: never;
2492
+ post?: never;
2493
+ delete?: never;
2494
+ options?: never;
2495
+ head?: never;
2496
+ patch?: never;
2497
+ trace?: never;
2498
+ };
2499
+ "/api/v1/support/reflections": {
2500
+ parameters: {
2501
+ query?: never;
2502
+ header?: never;
2503
+ path?: never;
2504
+ cookie?: never;
2505
+ };
2506
+ /** Get all reflections for current user */
2507
+ get: operations["ReflectionsController_listReflections"];
2508
+ put?: never;
2509
+ /** Submit a new weekly reflection */
2510
+ post: operations["ReflectionsController_submitReflection"];
2511
+ delete?: never;
2512
+ options?: never;
2513
+ head?: never;
2514
+ patch?: never;
2515
+ trace?: never;
2516
+ };
2517
+ "/api/v1/support/reflections/current": {
2518
+ parameters: {
2519
+ query?: never;
2520
+ header?: never;
2521
+ path?: never;
2522
+ cookie?: never;
2523
+ };
2524
+ /** Get current week reflection or create placeholder */
2525
+ get: operations["ReflectionsController_getCurrentWeekReflection"];
2526
+ put?: never;
2527
+ post?: never;
2528
+ delete?: never;
2529
+ options?: never;
2530
+ head?: never;
2531
+ patch?: never;
2532
+ trace?: never;
2533
+ };
2534
+ "/api/v1/support/reflections/{id}": {
2535
+ parameters: {
2536
+ query?: never;
2537
+ header?: never;
2538
+ path?: never;
2539
+ cookie?: never;
2540
+ };
2541
+ get?: never;
2542
+ /** Update an existing reflection */
2543
+ put: operations["ReflectionsController_updateReflection"];
2544
+ post?: never;
2545
+ delete?: never;
2546
+ options?: never;
2547
+ head?: never;
2548
+ patch?: never;
2549
+ trace?: never;
2550
+ };
2394
2551
  "/api/v1/map/members": {
2395
2552
  parameters: {
2396
2553
  query?: never;
@@ -4628,130 +4785,456 @@ export interface components {
4628
4785
  */
4629
4786
  byCategory: Record<string, never>;
4630
4787
  };
4631
- MapMemberDto: {
4632
- /**
4633
- * @description User ID
4634
- * @example user-uuid
4635
- */
4788
+ MoodLogResponseDto: {
4789
+ /** @example mood-123 */
4636
4790
  id: string;
4791
+ /** @example user-123 */
4792
+ userId: string;
4793
+ /** @example 4 */
4794
+ mood: number;
4795
+ /** @example 3 */
4796
+ energy?: Record<string, never>;
4637
4797
  /**
4638
- * @description User name
4639
- * @example John Doe
4640
- */
4641
- name: string;
4642
- /**
4643
- * @description Profile image URL
4644
- * @example https://example.com/photo.jpg
4798
+ * @example [
4799
+ * "anxious",
4800
+ * "hopeful"
4801
+ * ]
4645
4802
  */
4646
- profileImage?: Record<string, never>;
4803
+ tags: string[];
4804
+ /** @example Feeling good after my morning walk */
4805
+ note?: Record<string, never>;
4806
+ /** @example Walking */
4807
+ activity?: Record<string, never>;
4808
+ /** @example Park */
4809
+ location?: Record<string, never>;
4647
4810
  /**
4648
- * @description User bio
4649
- * @example Coffee lover and yoga enthusiast
4811
+ * Format: date-time
4812
+ * @example 2024-01-01T00:00:00.000Z
4650
4813
  */
4651
- bio?: Record<string, never>;
4814
+ createdAt: string;
4815
+ };
4816
+ LogMoodDto: {
4652
4817
  /**
4653
- * @description Blurred latitude (privacy applied)
4654
- * @example 51.5074
4818
+ * @description Mood level (1-5)
4819
+ * @example 4
4655
4820
  */
4656
- locationLat: number;
4821
+ mood: number;
4657
4822
  /**
4658
- * @description Blurred longitude (privacy applied)
4659
- * @example -0.1278
4823
+ * @description Energy level (1-5)
4824
+ * @example 3
4660
4825
  */
4661
- locationLong: number;
4826
+ energy?: number;
4662
4827
  /**
4663
- * @description City name
4664
- * @example London
4828
+ * @description Mood tags
4829
+ * @example [
4830
+ * "anxious",
4831
+ * "hopeful"
4832
+ * ]
4665
4833
  */
4666
- city?: Record<string, never>;
4834
+ tags?: string[];
4667
4835
  /**
4668
- * @description Drinking identity
4669
- * @enum {string}
4836
+ * @description Quick note
4837
+ * @example Feeling good after my morning walk
4670
4838
  */
4671
- drinkingIdentity: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
4839
+ note?: string;
4672
4840
  /**
4673
- * @description Days sober (only shown for ALCOHOL_FREE identity)
4674
- * @example 30
4841
+ * @description Current activity
4842
+ * @example Walking
4675
4843
  */
4676
- sobrietyDays?: number;
4844
+ activity?: string;
4677
4845
  /**
4678
- * @description Approximate distance in meters from search center
4679
- * @example 1500
4846
+ * @description Current location
4847
+ * @example Park
4680
4848
  */
4681
- distance?: number;
4849
+ location?: string;
4682
4850
  };
4683
- MapHubDto: {
4851
+ MoodStatsDto: {
4684
4852
  /**
4685
- * @description Hub ID
4686
- * @example hub-uuid
4687
- */
4688
- id: string;
4689
- /**
4690
- * @description Hub name
4691
- * @example GrowSober London
4853
+ * @description Average mood over period
4854
+ * @example 3.8
4692
4855
  */
4693
- name: string;
4856
+ averageMood: number;
4694
4857
  /**
4695
- * @description Hub slug
4696
- * @example growsober-london
4858
+ * @description Average energy over period
4859
+ * @example 3.5
4697
4860
  */
4698
- slug: string;
4861
+ averageEnergy: number;
4699
4862
  /**
4700
- * @description Hub description
4701
- * @example Join our vibrant London community
4863
+ * @description Total mood logs
4864
+ * @example 15
4702
4865
  */
4703
- description?: Record<string, never>;
4866
+ totalLogs: number;
4704
4867
  /**
4705
- * @description Hub profile image
4706
- * @example https://example.com/logo.jpg
4868
+ * @description Most common tags
4869
+ * @example [
4870
+ * "hopeful",
4871
+ * "calm",
4872
+ * "anxious"
4873
+ * ]
4707
4874
  */
4708
- profileImage?: Record<string, never>;
4875
+ topTags: string[];
4709
4876
  /**
4710
- * @description Hub location latitude
4711
- * @example 51.5074
4877
+ * @description Distribution of mood levels
4878
+ * @example {
4879
+ * "1": 2,
4880
+ * "2": 3,
4881
+ * "3": 5,
4882
+ * "4": 3,
4883
+ * "5": 2
4884
+ * }
4712
4885
  */
4713
- locationLat?: Record<string, never>;
4886
+ moodDistribution: Record<string, never>;
4887
+ };
4888
+ HabitResponseDto: {
4889
+ /** @example habit-123 */
4890
+ id: string;
4891
+ /** @example user-123 */
4892
+ userId: string;
4893
+ /** @example Morning meditation */
4894
+ name: string;
4895
+ /** @example Start each day with 10 minutes of mindfulness */
4896
+ description?: Record<string, never>;
4897
+ /** @example 🧘 */
4898
+ icon?: Record<string, never>;
4899
+ /** @example #4CAF50 */
4900
+ color?: Record<string, never>;
4901
+ /** @enum {string} */
4902
+ frequency: "DAILY" | "WEEKLY" | "CUSTOM";
4714
4903
  /**
4715
- * @description Hub location longitude
4716
- * @example -0.1278
4904
+ * @example [
4905
+ * "mon",
4906
+ * "wed",
4907
+ * "fri"
4908
+ * ]
4717
4909
  */
4718
- locationLong?: Record<string, never>;
4910
+ targetDays: string[];
4911
+ /** @example 1 */
4912
+ targetCount: number;
4913
+ /** @example 7 */
4914
+ currentStreak: number;
4915
+ /** @example 21 */
4916
+ longestStreak: number;
4917
+ /** @example 45 */
4918
+ totalCompletions: number;
4919
+ /** @example true */
4920
+ isActive: boolean;
4921
+ /** @example false */
4922
+ isPaused: boolean;
4923
+ /** @example 08:00 */
4924
+ reminderTime?: Record<string, never>;
4719
4925
  /**
4720
- * @description City name
4721
- * @example London
4926
+ * Format: date-time
4927
+ * @example 2024-01-01T00:00:00.000Z
4722
4928
  */
4723
- city?: Record<string, never>;
4929
+ createdAt: string;
4724
4930
  /**
4725
- * @description Number of active members
4726
- * @example 150
4931
+ * Format: date-time
4932
+ * @example 2024-01-01T00:00:00.000Z
4727
4933
  */
4728
- memberCount: number;
4934
+ updatedAt: string;
4935
+ };
4936
+ CreateHabitDto: {
4937
+ /** @example Morning meditation */
4938
+ name: string;
4939
+ /** @example Start each day with 10 minutes of mindfulness */
4940
+ description?: string;
4941
+ /** @example 🧘 */
4942
+ icon?: string;
4943
+ /** @example #4CAF50 */
4944
+ color?: string;
4729
4945
  /**
4730
- * @description Number of upcoming events
4731
- * @example 5
4946
+ * @example DAILY
4947
+ * @enum {string}
4732
4948
  */
4733
- activeEventCount: number;
4949
+ frequency: "DAILY" | "WEEKLY" | "CUSTOM";
4734
4950
  /**
4735
- * @description Hub is featured
4736
- * @example true
4951
+ * @description Target days for weekly habits
4952
+ * @example [
4953
+ * "mon",
4954
+ * "wed",
4955
+ * "fri"
4956
+ * ]
4737
4957
  */
4738
- isFeatured: boolean;
4958
+ targetDays?: string[];
4739
4959
  /**
4740
- * @description WhatsApp group link
4741
- * @example https://chat.whatsapp.com/xxxxx
4960
+ * @description Times per period
4961
+ * @example 1
4742
4962
  */
4743
- whatsappGroup?: Record<string, never>;
4963
+ targetCount?: number;
4744
4964
  /**
4745
- * @description Approximate distance in meters from search center
4746
- * @example 1500
4965
+ * @description Reminder time (HH:mm)
4966
+ * @example 08:00
4747
4967
  */
4748
- distance?: number;
4968
+ reminderTime?: string;
4749
4969
  };
4750
- MapEventDto: {
4970
+ UpdateHabitDto: {
4971
+ /** @example Morning meditation */
4972
+ name?: string;
4973
+ /** @example Start each day with 10 minutes of mindfulness */
4974
+ description?: string;
4975
+ /** @example 🧘 */
4976
+ icon?: string;
4977
+ /** @example #4CAF50 */
4978
+ color?: string;
4979
+ /** @enum {string} */
4980
+ frequency?: "DAILY" | "WEEKLY" | "CUSTOM";
4751
4981
  /**
4752
- * @description Event ID
4753
- * @example event-uuid
4754
- */
4982
+ * @example [
4983
+ * "mon",
4984
+ * "wed",
4985
+ * "fri"
4986
+ * ]
4987
+ */
4988
+ targetDays?: string[];
4989
+ /** @example 1 */
4990
+ targetCount?: number;
4991
+ /** @example true */
4992
+ isActive?: boolean;
4993
+ /** @example false */
4994
+ isPaused?: boolean;
4995
+ /** @example 08:00 */
4996
+ reminderTime?: string;
4997
+ };
4998
+ CompleteHabitDto: {
4999
+ /** @example Felt great after completing this! */
5000
+ note?: string;
5001
+ };
5002
+ HabitCompletionResponseDto: {
5003
+ /** @example completion-123 */
5004
+ id: string;
5005
+ /** @example habit-123 */
5006
+ habitId: string;
5007
+ /** @example user-123 */
5008
+ userId: string;
5009
+ /**
5010
+ * Format: date-time
5011
+ * @example 2024-01-15T00:00:00.000Z
5012
+ */
5013
+ date: string;
5014
+ /** @example Felt great after completing this! */
5015
+ note?: Record<string, never>;
5016
+ /**
5017
+ * Format: date-time
5018
+ * @example 2024-01-15T08:30:00.000Z
5019
+ */
5020
+ completedAt: string;
5021
+ };
5022
+ ReflectionResponseDto: {
5023
+ /** @example reflection-123 */
5024
+ id: string;
5025
+ /** @example user-123 */
5026
+ userId: string;
5027
+ /**
5028
+ * Format: date-time
5029
+ * @example 2024-01-08T00:00:00.000Z
5030
+ */
5031
+ weekStart: string;
5032
+ /** @example 2 */
5033
+ weekNumber: number;
5034
+ /** @example 2024 */
5035
+ year: number;
5036
+ /** @example 4 */
5037
+ overallRating?: Record<string, never>;
5038
+ /** @example Stayed sober for 7 days straight! */
5039
+ biggestWin?: Record<string, never>;
5040
+ /** @example Social events were challenging */
5041
+ challenges?: Record<string, never>;
5042
+ /** @example Building healthier relationships */
5043
+ focusArea?: Record<string, never>;
5044
+ /**
5045
+ * @example [
5046
+ * "Attend 3 meetings",
5047
+ * "Exercise daily"
5048
+ * ]
5049
+ */
5050
+ goals: string[];
5051
+ /** @example Feeling stronger each day */
5052
+ notes?: Record<string, never>;
5053
+ /**
5054
+ * Format: date-time
5055
+ * @example 2024-01-01T00:00:00.000Z
5056
+ */
5057
+ createdAt: string;
5058
+ /**
5059
+ * Format: date-time
5060
+ * @example 2024-01-01T00:00:00.000Z
5061
+ */
5062
+ updatedAt: string;
5063
+ };
5064
+ CreateReflectionDto: {
5065
+ /**
5066
+ * @description Week start date (Monday, YYYY-MM-DD)
5067
+ * @example 2024-01-08
5068
+ */
5069
+ weekStart: string;
5070
+ /**
5071
+ * @description Overall week rating (1-5)
5072
+ * @example 4
5073
+ */
5074
+ overallRating?: number;
5075
+ /** @example Stayed sober for 7 days straight! */
5076
+ biggestWin?: string;
5077
+ /** @example Social events were challenging */
5078
+ challenges?: string;
5079
+ /** @example Building healthier relationships */
5080
+ focusArea?: string;
5081
+ /**
5082
+ * @description Goals for next week
5083
+ * @example [
5084
+ * "Attend 3 meetings",
5085
+ * "Exercise daily"
5086
+ * ]
5087
+ */
5088
+ goals?: string[];
5089
+ /** @example Feeling stronger each day */
5090
+ notes?: string;
5091
+ };
5092
+ UpdateReflectionDto: {
5093
+ /**
5094
+ * @description Overall week rating (1-5)
5095
+ * @example 4
5096
+ */
5097
+ overallRating?: number;
5098
+ /** @example Stayed sober for 7 days straight! */
5099
+ biggestWin?: string;
5100
+ /** @example Social events were challenging */
5101
+ challenges?: string;
5102
+ /** @example Building healthier relationships */
5103
+ focusArea?: string;
5104
+ /**
5105
+ * @example [
5106
+ * "Attend 3 meetings",
5107
+ * "Exercise daily"
5108
+ * ]
5109
+ */
5110
+ goals?: string[];
5111
+ /** @example Feeling stronger each day */
5112
+ notes?: string;
5113
+ };
5114
+ MapMemberDto: {
5115
+ /**
5116
+ * @description User ID
5117
+ * @example user-uuid
5118
+ */
5119
+ id: string;
5120
+ /**
5121
+ * @description User name
5122
+ * @example John Doe
5123
+ */
5124
+ name: string;
5125
+ /**
5126
+ * @description Profile image URL
5127
+ * @example https://example.com/photo.jpg
5128
+ */
5129
+ profileImage?: Record<string, never>;
5130
+ /**
5131
+ * @description User bio
5132
+ * @example Coffee lover and yoga enthusiast
5133
+ */
5134
+ bio?: Record<string, never>;
5135
+ /**
5136
+ * @description Blurred latitude (privacy applied)
5137
+ * @example 51.5074
5138
+ */
5139
+ locationLat: number;
5140
+ /**
5141
+ * @description Blurred longitude (privacy applied)
5142
+ * @example -0.1278
5143
+ */
5144
+ locationLong: number;
5145
+ /**
5146
+ * @description City name
5147
+ * @example London
5148
+ */
5149
+ city?: Record<string, never>;
5150
+ /**
5151
+ * @description Drinking identity
5152
+ * @enum {string}
5153
+ */
5154
+ drinkingIdentity: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
5155
+ /**
5156
+ * @description Days sober (only shown for ALCOHOL_FREE identity)
5157
+ * @example 30
5158
+ */
5159
+ sobrietyDays?: number;
5160
+ /**
5161
+ * @description Approximate distance in meters from search center
5162
+ * @example 1500
5163
+ */
5164
+ distance?: number;
5165
+ };
5166
+ MapHubDto: {
5167
+ /**
5168
+ * @description Hub ID
5169
+ * @example hub-uuid
5170
+ */
5171
+ id: string;
5172
+ /**
5173
+ * @description Hub name
5174
+ * @example GrowSober London
5175
+ */
5176
+ name: string;
5177
+ /**
5178
+ * @description Hub slug
5179
+ * @example growsober-london
5180
+ */
5181
+ slug: string;
5182
+ /**
5183
+ * @description Hub description
5184
+ * @example Join our vibrant London community
5185
+ */
5186
+ description?: Record<string, never>;
5187
+ /**
5188
+ * @description Hub profile image
5189
+ * @example https://example.com/logo.jpg
5190
+ */
5191
+ profileImage?: Record<string, never>;
5192
+ /**
5193
+ * @description Hub location latitude
5194
+ * @example 51.5074
5195
+ */
5196
+ locationLat?: Record<string, never>;
5197
+ /**
5198
+ * @description Hub location longitude
5199
+ * @example -0.1278
5200
+ */
5201
+ locationLong?: Record<string, never>;
5202
+ /**
5203
+ * @description City name
5204
+ * @example London
5205
+ */
5206
+ city?: Record<string, never>;
5207
+ /**
5208
+ * @description Number of active members
5209
+ * @example 150
5210
+ */
5211
+ memberCount: number;
5212
+ /**
5213
+ * @description Number of upcoming events
5214
+ * @example 5
5215
+ */
5216
+ activeEventCount: number;
5217
+ /**
5218
+ * @description Hub is featured
5219
+ * @example true
5220
+ */
5221
+ isFeatured: boolean;
5222
+ /**
5223
+ * @description WhatsApp group link
5224
+ * @example https://chat.whatsapp.com/xxxxx
5225
+ */
5226
+ whatsappGroup?: Record<string, never>;
5227
+ /**
5228
+ * @description Approximate distance in meters from search center
5229
+ * @example 1500
5230
+ */
5231
+ distance?: number;
5232
+ };
5233
+ MapEventDto: {
5234
+ /**
5235
+ * @description Event ID
5236
+ * @example event-uuid
5237
+ */
4755
5238
  id: string;
4756
5239
  /**
4757
5240
  * @description Event title
@@ -4871,8 +5354,11 @@ export interface components {
4871
5354
  sharedInterests?: string[];
4872
5355
  };
4873
5356
  UpdateMatchDto: {
4874
- /** @description Action to perform on the match */
4875
- action?: string;
5357
+ /**
5358
+ * @description Action to perform on the match
5359
+ * @enum {string}
5360
+ */
5361
+ action?: "ACCEPT" | "DECLINE" | "BLOCK";
4876
5362
  };
4877
5363
  CreateBuddyRequestDto: {
4878
5364
  /** @description ID of the user to request as buddy */
@@ -4883,8 +5369,11 @@ export interface components {
4883
5369
  notes?: string;
4884
5370
  };
4885
5371
  UpdateBuddyDto: {
4886
- /** @description Action to perform */
4887
- action: string;
5372
+ /**
5373
+ * @description Action to perform
5374
+ * @enum {string}
5375
+ */
5376
+ action: "ACCEPT" | "DECLINE" | "END";
4888
5377
  /** @description Reason for ending (if action is END) */
4889
5378
  reason?: string;
4890
5379
  };
@@ -9308,21 +9797,13 @@ export interface operations {
9308
9797
  };
9309
9798
  };
9310
9799
  };
9311
- MapController_getMapMembers: {
9800
+ MoodController_listMoodLogs: {
9312
9801
  parameters: {
9313
9802
  query?: {
9314
- /** @description Center latitude for search */
9315
- lat?: number;
9316
- /** @description Center longitude for search */
9317
- lng?: number;
9318
- /** @description Search radius in meters (default 5000m) */
9319
- radius?: number;
9320
- /** @description Filter by drinking identity */
9321
- drinkingIdentity?: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
9322
- /** @description Maximum results (default 100) */
9803
+ /** @description Number of logs to return */
9323
9804
  limit?: number;
9324
- /** @description Filter by city ID */
9325
- cityId?: string;
9805
+ /** @description Number of logs to skip */
9806
+ offset?: number;
9326
9807
  };
9327
9808
  header?: never;
9328
9809
  path?: never;
@@ -9330,65 +9811,53 @@ export interface operations {
9330
9811
  };
9331
9812
  requestBody?: never;
9332
9813
  responses: {
9333
- /** @description List of map members with privacy-blurred locations */
9814
+ /** @description List of mood logs */
9334
9815
  200: {
9335
9816
  headers: {
9336
9817
  [name: string]: unknown;
9337
9818
  };
9338
9819
  content: {
9339
- "application/json": components["schemas"]["MapMemberDto"][];
9820
+ "application/json": components["schemas"]["MoodLogResponseDto"][];
9340
9821
  };
9341
9822
  };
9342
9823
  };
9343
9824
  };
9344
- MapController_getNearbyMembers: {
9825
+ MoodController_logMood: {
9345
9826
  parameters: {
9346
- query?: {
9347
- /** @description Center latitude for search */
9348
- lat?: number;
9349
- /** @description Center longitude for search */
9350
- lng?: number;
9351
- /** @description Search radius in meters (default 5000m) */
9352
- radius?: number;
9353
- /** @description Filter by drinking identity */
9354
- drinkingIdentity?: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
9355
- /** @description Maximum results (default 100) */
9356
- limit?: number;
9357
- /** @description Filter by city ID */
9358
- cityId?: string;
9359
- };
9827
+ query?: never;
9360
9828
  header?: never;
9361
9829
  path?: never;
9362
9830
  cookie?: never;
9363
9831
  };
9364
- requestBody?: never;
9832
+ requestBody: {
9833
+ content: {
9834
+ "application/json": components["schemas"]["LogMoodDto"];
9835
+ };
9836
+ };
9365
9837
  responses: {
9366
- /** @description List of nearby members with distance */
9367
- 200: {
9838
+ /** @description Mood logged successfully */
9839
+ 201: {
9368
9840
  headers: {
9369
9841
  [name: string]: unknown;
9370
9842
  };
9371
9843
  content: {
9372
- "application/json": components["schemas"]["MapMemberDto"][];
9844
+ "application/json": components["schemas"]["MoodLogResponseDto"];
9845
+ };
9846
+ };
9847
+ /** @description Invalid mood data */
9848
+ 400: {
9849
+ headers: {
9850
+ [name: string]: unknown;
9373
9851
  };
9852
+ content?: never;
9374
9853
  };
9375
9854
  };
9376
9855
  };
9377
- MapController_getMapHubs: {
9856
+ MoodController_getMoodStats: {
9378
9857
  parameters: {
9379
9858
  query?: {
9380
- /** @description Center latitude for search */
9381
- lat?: number;
9382
- /** @description Center longitude for search */
9383
- lng?: number;
9384
- /** @description Search radius in meters (default 5000m) */
9385
- radius?: number;
9386
- /** @description Filter by drinking identity */
9387
- drinkingIdentity?: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
9388
- /** @description Maximum results (default 100) */
9389
- limit?: number;
9390
- /** @description Filter by city ID */
9391
- cityId?: string;
9859
+ /** @description Number of days to include (default: 30) */
9860
+ days?: number;
9392
9861
  };
9393
9862
  header?: never;
9394
9863
  path?: never;
@@ -9396,7 +9865,413 @@ export interface operations {
9396
9865
  };
9397
9866
  requestBody?: never;
9398
9867
  responses: {
9399
- /** @description List of hubs on map */
9868
+ /** @description Mood statistics */
9869
+ 200: {
9870
+ headers: {
9871
+ [name: string]: unknown;
9872
+ };
9873
+ content: {
9874
+ "application/json": components["schemas"]["MoodStatsDto"];
9875
+ };
9876
+ };
9877
+ };
9878
+ };
9879
+ HabitsController_listHabits: {
9880
+ parameters: {
9881
+ query?: {
9882
+ /** @description Include inactive habits */
9883
+ includeInactive?: boolean;
9884
+ };
9885
+ header?: never;
9886
+ path?: never;
9887
+ cookie?: never;
9888
+ };
9889
+ requestBody?: never;
9890
+ responses: {
9891
+ /** @description List of habits */
9892
+ 200: {
9893
+ headers: {
9894
+ [name: string]: unknown;
9895
+ };
9896
+ content: {
9897
+ "application/json": components["schemas"]["HabitResponseDto"][];
9898
+ };
9899
+ };
9900
+ };
9901
+ };
9902
+ HabitsController_createHabit: {
9903
+ parameters: {
9904
+ query?: never;
9905
+ header?: never;
9906
+ path?: never;
9907
+ cookie?: never;
9908
+ };
9909
+ requestBody: {
9910
+ content: {
9911
+ "application/json": components["schemas"]["CreateHabitDto"];
9912
+ };
9913
+ };
9914
+ responses: {
9915
+ /** @description Habit created successfully */
9916
+ 201: {
9917
+ headers: {
9918
+ [name: string]: unknown;
9919
+ };
9920
+ content: {
9921
+ "application/json": components["schemas"]["HabitResponseDto"];
9922
+ };
9923
+ };
9924
+ /** @description Invalid habit data */
9925
+ 400: {
9926
+ headers: {
9927
+ [name: string]: unknown;
9928
+ };
9929
+ content?: never;
9930
+ };
9931
+ };
9932
+ };
9933
+ HabitsController_updateHabit: {
9934
+ parameters: {
9935
+ query?: never;
9936
+ header?: never;
9937
+ path: {
9938
+ /** @description Habit ID */
9939
+ id: string;
9940
+ };
9941
+ cookie?: never;
9942
+ };
9943
+ requestBody: {
9944
+ content: {
9945
+ "application/json": components["schemas"]["UpdateHabitDto"];
9946
+ };
9947
+ };
9948
+ responses: {
9949
+ /** @description Habit updated successfully */
9950
+ 200: {
9951
+ headers: {
9952
+ [name: string]: unknown;
9953
+ };
9954
+ content: {
9955
+ "application/json": components["schemas"]["HabitResponseDto"];
9956
+ };
9957
+ };
9958
+ /** @description Habit not found */
9959
+ 404: {
9960
+ headers: {
9961
+ [name: string]: unknown;
9962
+ };
9963
+ content?: never;
9964
+ };
9965
+ };
9966
+ };
9967
+ HabitsController_deleteHabit: {
9968
+ parameters: {
9969
+ query?: never;
9970
+ header?: never;
9971
+ path: {
9972
+ /** @description Habit ID */
9973
+ id: string;
9974
+ };
9975
+ cookie?: never;
9976
+ };
9977
+ requestBody?: never;
9978
+ responses: {
9979
+ /** @description Habit deleted successfully */
9980
+ 204: {
9981
+ headers: {
9982
+ [name: string]: unknown;
9983
+ };
9984
+ content?: never;
9985
+ };
9986
+ /** @description Habit not found */
9987
+ 404: {
9988
+ headers: {
9989
+ [name: string]: unknown;
9990
+ };
9991
+ content?: never;
9992
+ };
9993
+ };
9994
+ };
9995
+ HabitsController_completeHabit: {
9996
+ parameters: {
9997
+ query?: never;
9998
+ header?: never;
9999
+ path: {
10000
+ /** @description Habit ID */
10001
+ id: string;
10002
+ };
10003
+ cookie?: never;
10004
+ };
10005
+ requestBody: {
10006
+ content: {
10007
+ "application/json": components["schemas"]["CompleteHabitDto"];
10008
+ };
10009
+ };
10010
+ responses: {
10011
+ /** @description Habit marked as complete */
10012
+ 201: {
10013
+ headers: {
10014
+ [name: string]: unknown;
10015
+ };
10016
+ content: {
10017
+ "application/json": components["schemas"]["HabitCompletionResponseDto"];
10018
+ };
10019
+ };
10020
+ /** @description Habit not found */
10021
+ 404: {
10022
+ headers: {
10023
+ [name: string]: unknown;
10024
+ };
10025
+ content?: never;
10026
+ };
10027
+ /** @description Habit already completed today */
10028
+ 409: {
10029
+ headers: {
10030
+ [name: string]: unknown;
10031
+ };
10032
+ content?: never;
10033
+ };
10034
+ };
10035
+ };
10036
+ HabitsController_getHabitHistory: {
10037
+ parameters: {
10038
+ query?: {
10039
+ /** @description Number of days to include (default: 30) */
10040
+ days?: number;
10041
+ };
10042
+ header?: never;
10043
+ path: {
10044
+ /** @description Habit ID */
10045
+ id: string;
10046
+ };
10047
+ cookie?: never;
10048
+ };
10049
+ requestBody?: never;
10050
+ responses: {
10051
+ /** @description Habit completion history */
10052
+ 200: {
10053
+ headers: {
10054
+ [name: string]: unknown;
10055
+ };
10056
+ content: {
10057
+ "application/json": components["schemas"]["HabitCompletionResponseDto"][];
10058
+ };
10059
+ };
10060
+ /** @description Habit not found */
10061
+ 404: {
10062
+ headers: {
10063
+ [name: string]: unknown;
10064
+ };
10065
+ content?: never;
10066
+ };
10067
+ };
10068
+ };
10069
+ ReflectionsController_listReflections: {
10070
+ parameters: {
10071
+ query?: {
10072
+ /** @description Number of reflections to return */
10073
+ limit?: number;
10074
+ /** @description Number of reflections to skip */
10075
+ offset?: number;
10076
+ };
10077
+ header?: never;
10078
+ path?: never;
10079
+ cookie?: never;
10080
+ };
10081
+ requestBody?: never;
10082
+ responses: {
10083
+ /** @description List of reflections */
10084
+ 200: {
10085
+ headers: {
10086
+ [name: string]: unknown;
10087
+ };
10088
+ content: {
10089
+ "application/json": components["schemas"]["ReflectionResponseDto"][];
10090
+ };
10091
+ };
10092
+ };
10093
+ };
10094
+ ReflectionsController_submitReflection: {
10095
+ parameters: {
10096
+ query?: never;
10097
+ header?: never;
10098
+ path?: never;
10099
+ cookie?: never;
10100
+ };
10101
+ requestBody: {
10102
+ content: {
10103
+ "application/json": components["schemas"]["CreateReflectionDto"];
10104
+ };
10105
+ };
10106
+ responses: {
10107
+ /** @description Reflection submitted successfully */
10108
+ 201: {
10109
+ headers: {
10110
+ [name: string]: unknown;
10111
+ };
10112
+ content: {
10113
+ "application/json": components["schemas"]["ReflectionResponseDto"];
10114
+ };
10115
+ };
10116
+ /** @description Invalid reflection data */
10117
+ 400: {
10118
+ headers: {
10119
+ [name: string]: unknown;
10120
+ };
10121
+ content?: never;
10122
+ };
10123
+ /** @description Reflection already exists for this week */
10124
+ 409: {
10125
+ headers: {
10126
+ [name: string]: unknown;
10127
+ };
10128
+ content?: never;
10129
+ };
10130
+ };
10131
+ };
10132
+ ReflectionsController_getCurrentWeekReflection: {
10133
+ parameters: {
10134
+ query?: never;
10135
+ header?: never;
10136
+ path?: never;
10137
+ cookie?: never;
10138
+ };
10139
+ requestBody?: never;
10140
+ responses: {
10141
+ /** @description Current week reflection */
10142
+ 200: {
10143
+ headers: {
10144
+ [name: string]: unknown;
10145
+ };
10146
+ content: {
10147
+ "application/json": components["schemas"]["ReflectionResponseDto"];
10148
+ };
10149
+ };
10150
+ };
10151
+ };
10152
+ ReflectionsController_updateReflection: {
10153
+ parameters: {
10154
+ query?: never;
10155
+ header?: never;
10156
+ path: {
10157
+ /** @description Reflection ID */
10158
+ id: string;
10159
+ };
10160
+ cookie?: never;
10161
+ };
10162
+ requestBody: {
10163
+ content: {
10164
+ "application/json": components["schemas"]["UpdateReflectionDto"];
10165
+ };
10166
+ };
10167
+ responses: {
10168
+ /** @description Reflection updated successfully */
10169
+ 200: {
10170
+ headers: {
10171
+ [name: string]: unknown;
10172
+ };
10173
+ content: {
10174
+ "application/json": components["schemas"]["ReflectionResponseDto"];
10175
+ };
10176
+ };
10177
+ /** @description Reflection not found */
10178
+ 404: {
10179
+ headers: {
10180
+ [name: string]: unknown;
10181
+ };
10182
+ content?: never;
10183
+ };
10184
+ };
10185
+ };
10186
+ MapController_getMapMembers: {
10187
+ parameters: {
10188
+ query?: {
10189
+ /** @description Center latitude for search */
10190
+ lat?: number;
10191
+ /** @description Center longitude for search */
10192
+ lng?: number;
10193
+ /** @description Search radius in meters (default 5000m) */
10194
+ radius?: number;
10195
+ /** @description Filter by drinking identity */
10196
+ drinkingIdentity?: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
10197
+ /** @description Maximum results (default 100) */
10198
+ limit?: number;
10199
+ /** @description Filter by city ID */
10200
+ cityId?: string;
10201
+ };
10202
+ header?: never;
10203
+ path?: never;
10204
+ cookie?: never;
10205
+ };
10206
+ requestBody?: never;
10207
+ responses: {
10208
+ /** @description List of map members with privacy-blurred locations */
10209
+ 200: {
10210
+ headers: {
10211
+ [name: string]: unknown;
10212
+ };
10213
+ content: {
10214
+ "application/json": components["schemas"]["MapMemberDto"][];
10215
+ };
10216
+ };
10217
+ };
10218
+ };
10219
+ MapController_getNearbyMembers: {
10220
+ parameters: {
10221
+ query?: {
10222
+ /** @description Center latitude for search */
10223
+ lat?: number;
10224
+ /** @description Center longitude for search */
10225
+ lng?: number;
10226
+ /** @description Search radius in meters (default 5000m) */
10227
+ radius?: number;
10228
+ /** @description Filter by drinking identity */
10229
+ drinkingIdentity?: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
10230
+ /** @description Maximum results (default 100) */
10231
+ limit?: number;
10232
+ /** @description Filter by city ID */
10233
+ cityId?: string;
10234
+ };
10235
+ header?: never;
10236
+ path?: never;
10237
+ cookie?: never;
10238
+ };
10239
+ requestBody?: never;
10240
+ responses: {
10241
+ /** @description List of nearby members with distance */
10242
+ 200: {
10243
+ headers: {
10244
+ [name: string]: unknown;
10245
+ };
10246
+ content: {
10247
+ "application/json": components["schemas"]["MapMemberDto"][];
10248
+ };
10249
+ };
10250
+ };
10251
+ };
10252
+ MapController_getMapHubs: {
10253
+ parameters: {
10254
+ query?: {
10255
+ /** @description Center latitude for search */
10256
+ lat?: number;
10257
+ /** @description Center longitude for search */
10258
+ lng?: number;
10259
+ /** @description Search radius in meters (default 5000m) */
10260
+ radius?: number;
10261
+ /** @description Filter by drinking identity */
10262
+ drinkingIdentity?: "ALCOHOL_FREE" | "SOBER_CURIOUS" | "OCCASIONAL";
10263
+ /** @description Maximum results (default 100) */
10264
+ limit?: number;
10265
+ /** @description Filter by city ID */
10266
+ cityId?: string;
10267
+ };
10268
+ header?: never;
10269
+ path?: never;
10270
+ cookie?: never;
10271
+ };
10272
+ requestBody?: never;
10273
+ responses: {
10274
+ /** @description List of hubs on map */
9400
10275
  200: {
9401
10276
  headers: {
9402
10277
  [name: string]: unknown;
@@ -9444,7 +10319,7 @@ export interface operations {
9444
10319
  parameters: {
9445
10320
  query?: {
9446
10321
  /** @description Filter by status */
9447
- status?: string;
10322
+ status?: "ALL" | "SUGGESTED" | "PENDING" | "CONNECTED" | "DECLINED";
9448
10323
  /** @description Filter by city */
9449
10324
  city?: string;
9450
10325
  /** @description Filter by drinking identity */
@@ -9475,7 +10350,7 @@ export interface operations {
9475
10350
  parameters: {
9476
10351
  query?: {
9477
10352
  /** @description Filter by status */
9478
- status?: string;
10353
+ status?: "ALL" | "SUGGESTED" | "PENDING" | "CONNECTED" | "DECLINED";
9479
10354
  /** @description Filter by city */
9480
10355
  city?: string;
9481
10356
  /** @description Filter by drinking identity */