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