@beorchid-llc/thrivo-contracts 0.5.3 → 0.5.5

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/dist/admin.d.ts CHANGED
@@ -130,43 +130,193 @@ export declare const adminUserStatusSchema: z.ZodEnum<["active", "suspended", "d
130
130
  export type AdminUserStatus = z.infer<typeof adminUserStatusSchema>;
131
131
  export declare const adminSubscriptionStatusSchema: z.ZodEnum<["active", "trialing", "canceled", "expired", "none"]>;
132
132
  export type AdminSubscriptionStatus = z.infer<typeof adminSubscriptionStatusSchema>;
133
- export declare const adminUserSchema: z.ZodObject<{
133
+ export declare const adminUserSubscriptionSchema: z.ZodObject<{
134
+ status: z.ZodEnum<["active", "trialing", "canceled", "expired", "none"]>;
135
+ priceLabel: z.ZodNullable<z.ZodString>;
136
+ renewsAt: z.ZodNullable<z.ZodString>;
137
+ cancelAtPeriodEnd: z.ZodBoolean;
138
+ }, "strip", z.ZodTypeAny, {
139
+ status: "active" | "trialing" | "canceled" | "expired" | "none";
140
+ priceLabel: string | null;
141
+ renewsAt: string | null;
142
+ cancelAtPeriodEnd: boolean;
143
+ }, {
144
+ status: "active" | "trialing" | "canceled" | "expired" | "none";
145
+ priceLabel: string | null;
146
+ renewsAt: string | null;
147
+ cancelAtPeriodEnd: boolean;
148
+ }>;
149
+ export type AdminUserSubscription = z.infer<typeof adminUserSubscriptionSchema>;
150
+ /** Full user record for admin list + detail — every users column except authSubjectId. */
151
+ export declare const adminUserDetailSchema: z.ZodObject<Omit<{
134
152
  id: z.ZodString;
135
153
  email: z.ZodString;
154
+ goal: z.ZodNullable<z.ZodEnum<["lose", "maintain", "gain"]>>;
155
+ sex: z.ZodNullable<z.ZodEnum<["male", "female", "prefer_not_to_say"]>>;
156
+ age: z.ZodNullable<z.ZodNumber>;
157
+ heightCm: z.ZodNullable<z.ZodString>;
158
+ weightKg: z.ZodNullable<z.ZodString>;
159
+ targetWeightKg: z.ZodNullable<z.ZodString>;
160
+ tdeeKcal: z.ZodNullable<z.ZodNumber>;
161
+ dailyTargetKcal: z.ZodNullable<z.ZodNumber>;
162
+ targetProteinG: z.ZodNullable<z.ZodNumber>;
163
+ targetCarbsG: z.ZodNullable<z.ZodNumber>;
164
+ targetFatG: z.ZodNullable<z.ZodNumber>;
165
+ activityLevel: z.ZodNullable<z.ZodEnum<["sedentary", "light", "moderate", "active", "very_active"]>>;
166
+ manualDailyTargetKcal: z.ZodNullable<z.ZodNumber>;
167
+ notifyTimes: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
168
+ timezone: z.ZodNullable<z.ZodString>;
169
+ tier: z.ZodEnum<["free", "premium"]>;
170
+ accountStatus: z.ZodEnum<["dormant", "free_trial", "free_plan", "paid"]>;
171
+ trialEndsAt: z.ZodNullable<z.ZodDate>;
172
+ onboardingStep: z.ZodNumber;
173
+ isOnboarded: z.ZodBoolean;
174
+ isOnboardingSkipped: z.ZodBoolean;
175
+ createdAt: z.ZodDate;
176
+ } & {
136
177
  name: z.ZodNullable<z.ZodString>;
137
- entitlement: z.ZodEnum<["free", "premium"]>;
178
+ onboardingSkipped: z.ZodBoolean;
179
+ subscriptionStatus: z.ZodNullable<z.ZodString>;
180
+ deletedAt: z.ZodNullable<z.ZodDate>;
181
+ updatedAt: z.ZodDate;
138
182
  status: z.ZodEnum<["active", "suspended", "deleted"]>;
139
- createdAt: z.ZodString;
140
183
  lastActiveAt: z.ZodNullable<z.ZodString>;
184
+ totalFoodLogs: z.ZodNumber;
185
+ currentStreakDays: z.ZodNumber;
186
+ subscription: z.ZodNullable<z.ZodObject<{
187
+ status: z.ZodEnum<["active", "trialing", "canceled", "expired", "none"]>;
188
+ priceLabel: z.ZodNullable<z.ZodString>;
189
+ renewsAt: z.ZodNullable<z.ZodString>;
190
+ cancelAtPeriodEnd: z.ZodBoolean;
191
+ }, "strip", z.ZodTypeAny, {
192
+ status: "active" | "trialing" | "canceled" | "expired" | "none";
193
+ priceLabel: string | null;
194
+ renewsAt: string | null;
195
+ cancelAtPeriodEnd: boolean;
196
+ }, {
197
+ status: "active" | "trialing" | "canceled" | "expired" | "none";
198
+ priceLabel: string | null;
199
+ renewsAt: string | null;
200
+ cancelAtPeriodEnd: boolean;
201
+ }>>;
202
+ }, "createdAt"> & {
203
+ createdAt: z.ZodDate;
141
204
  }, "strip", z.ZodTypeAny, {
142
205
  status: "active" | "suspended" | "deleted";
143
206
  id: string;
144
207
  email: string;
145
208
  name: string | null;
146
- entitlement: "free" | "premium";
147
- createdAt: string;
209
+ goal: "lose" | "maintain" | "gain" | null;
210
+ sex: "male" | "female" | "prefer_not_to_say" | null;
211
+ age: number | null;
212
+ heightCm: string | null;
213
+ weightKg: string | null;
214
+ targetWeightKg: string | null;
215
+ tdeeKcal: number | null;
216
+ dailyTargetKcal: number | null;
217
+ targetProteinG: number | null;
218
+ targetCarbsG: number | null;
219
+ targetFatG: number | null;
220
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
221
+ manualDailyTargetKcal: number | null;
222
+ notifyTimes: string[] | null;
223
+ timezone: string | null;
224
+ tier: "free" | "premium";
225
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
226
+ trialEndsAt: Date | null;
227
+ onboardingStep: number;
228
+ isOnboarded: boolean;
229
+ isOnboardingSkipped: boolean;
230
+ createdAt: Date;
231
+ onboardingSkipped: boolean;
232
+ subscriptionStatus: string | null;
233
+ deletedAt: Date | null;
234
+ updatedAt: Date;
148
235
  lastActiveAt: string | null;
236
+ totalFoodLogs: number;
237
+ currentStreakDays: number;
238
+ subscription: {
239
+ status: "active" | "trialing" | "canceled" | "expired" | "none";
240
+ priceLabel: string | null;
241
+ renewsAt: string | null;
242
+ cancelAtPeriodEnd: boolean;
243
+ } | null;
149
244
  }, {
150
245
  status: "active" | "suspended" | "deleted";
151
246
  id: string;
152
247
  email: string;
153
248
  name: string | null;
154
- entitlement: "free" | "premium";
155
- createdAt: string;
249
+ goal: "lose" | "maintain" | "gain" | null;
250
+ sex: "male" | "female" | "prefer_not_to_say" | null;
251
+ age: number | null;
252
+ heightCm: string | null;
253
+ weightKg: string | null;
254
+ targetWeightKg: string | null;
255
+ tdeeKcal: number | null;
256
+ dailyTargetKcal: number | null;
257
+ targetProteinG: number | null;
258
+ targetCarbsG: number | null;
259
+ targetFatG: number | null;
260
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
261
+ manualDailyTargetKcal: number | null;
262
+ notifyTimes: string[] | null;
263
+ timezone: string | null;
264
+ tier: "free" | "premium";
265
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
266
+ trialEndsAt: Date | null;
267
+ onboardingStep: number;
268
+ isOnboarded: boolean;
269
+ isOnboardingSkipped: boolean;
270
+ createdAt: Date;
271
+ onboardingSkipped: boolean;
272
+ subscriptionStatus: string | null;
273
+ deletedAt: Date | null;
274
+ updatedAt: Date;
156
275
  lastActiveAt: string | null;
276
+ totalFoodLogs: number;
277
+ currentStreakDays: number;
278
+ subscription: {
279
+ status: "active" | "trialing" | "canceled" | "expired" | "none";
280
+ priceLabel: string | null;
281
+ renewsAt: string | null;
282
+ cancelAtPeriodEnd: boolean;
283
+ } | null;
157
284
  }>;
158
- export type AdminUser = z.infer<typeof adminUserSchema>;
159
- export declare const adminUserDetailSchema: z.ZodObject<{
285
+ export type AdminUserDetail = z.infer<typeof adminUserDetailSchema>;
286
+ /** List rows use the same full shape as detail. */
287
+ export declare const adminUserSchema: z.ZodObject<Omit<{
160
288
  id: z.ZodString;
161
289
  email: z.ZodString;
290
+ goal: z.ZodNullable<z.ZodEnum<["lose", "maintain", "gain"]>>;
291
+ sex: z.ZodNullable<z.ZodEnum<["male", "female", "prefer_not_to_say"]>>;
292
+ age: z.ZodNullable<z.ZodNumber>;
293
+ heightCm: z.ZodNullable<z.ZodString>;
294
+ weightKg: z.ZodNullable<z.ZodString>;
295
+ targetWeightKg: z.ZodNullable<z.ZodString>;
296
+ tdeeKcal: z.ZodNullable<z.ZodNumber>;
297
+ dailyTargetKcal: z.ZodNullable<z.ZodNumber>;
298
+ targetProteinG: z.ZodNullable<z.ZodNumber>;
299
+ targetCarbsG: z.ZodNullable<z.ZodNumber>;
300
+ targetFatG: z.ZodNullable<z.ZodNumber>;
301
+ activityLevel: z.ZodNullable<z.ZodEnum<["sedentary", "light", "moderate", "active", "very_active"]>>;
302
+ manualDailyTargetKcal: z.ZodNullable<z.ZodNumber>;
303
+ notifyTimes: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
304
+ timezone: z.ZodNullable<z.ZodString>;
305
+ tier: z.ZodEnum<["free", "premium"]>;
306
+ accountStatus: z.ZodEnum<["dormant", "free_trial", "free_plan", "paid"]>;
307
+ trialEndsAt: z.ZodNullable<z.ZodDate>;
308
+ onboardingStep: z.ZodNumber;
309
+ isOnboarded: z.ZodBoolean;
310
+ isOnboardingSkipped: z.ZodBoolean;
311
+ createdAt: z.ZodDate;
312
+ } & {
162
313
  name: z.ZodNullable<z.ZodString>;
163
- entitlement: z.ZodEnum<["free", "premium"]>;
314
+ onboardingSkipped: z.ZodBoolean;
315
+ subscriptionStatus: z.ZodNullable<z.ZodString>;
316
+ deletedAt: z.ZodNullable<z.ZodDate>;
317
+ updatedAt: z.ZodDate;
164
318
  status: z.ZodEnum<["active", "suspended", "deleted"]>;
165
- createdAt: z.ZodString;
166
319
  lastActiveAt: z.ZodNullable<z.ZodString>;
167
- } & {
168
- goal: z.ZodNullable<z.ZodString>;
169
- targetCalories: z.ZodNullable<z.ZodNumber>;
170
320
  totalFoodLogs: z.ZodNumber;
171
321
  currentStreakDays: z.ZodNumber;
172
322
  subscription: z.ZodNullable<z.ZodObject<{
@@ -185,16 +335,40 @@ export declare const adminUserDetailSchema: z.ZodObject<{
185
335
  renewsAt: string | null;
186
336
  cancelAtPeriodEnd: boolean;
187
337
  }>>;
338
+ }, "createdAt"> & {
339
+ createdAt: z.ZodDate;
188
340
  }, "strip", z.ZodTypeAny, {
189
341
  status: "active" | "suspended" | "deleted";
190
342
  id: string;
191
343
  email: string;
192
344
  name: string | null;
193
- entitlement: "free" | "premium";
194
- createdAt: string;
345
+ goal: "lose" | "maintain" | "gain" | null;
346
+ sex: "male" | "female" | "prefer_not_to_say" | null;
347
+ age: number | null;
348
+ heightCm: string | null;
349
+ weightKg: string | null;
350
+ targetWeightKg: string | null;
351
+ tdeeKcal: number | null;
352
+ dailyTargetKcal: number | null;
353
+ targetProteinG: number | null;
354
+ targetCarbsG: number | null;
355
+ targetFatG: number | null;
356
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
357
+ manualDailyTargetKcal: number | null;
358
+ notifyTimes: string[] | null;
359
+ timezone: string | null;
360
+ tier: "free" | "premium";
361
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
362
+ trialEndsAt: Date | null;
363
+ onboardingStep: number;
364
+ isOnboarded: boolean;
365
+ isOnboardingSkipped: boolean;
366
+ createdAt: Date;
367
+ onboardingSkipped: boolean;
368
+ subscriptionStatus: string | null;
369
+ deletedAt: Date | null;
370
+ updatedAt: Date;
195
371
  lastActiveAt: string | null;
196
- goal: string | null;
197
- targetCalories: number | null;
198
372
  totalFoodLogs: number;
199
373
  currentStreakDays: number;
200
374
  subscription: {
@@ -208,11 +382,33 @@ export declare const adminUserDetailSchema: z.ZodObject<{
208
382
  id: string;
209
383
  email: string;
210
384
  name: string | null;
211
- entitlement: "free" | "premium";
212
- createdAt: string;
385
+ goal: "lose" | "maintain" | "gain" | null;
386
+ sex: "male" | "female" | "prefer_not_to_say" | null;
387
+ age: number | null;
388
+ heightCm: string | null;
389
+ weightKg: string | null;
390
+ targetWeightKg: string | null;
391
+ tdeeKcal: number | null;
392
+ dailyTargetKcal: number | null;
393
+ targetProteinG: number | null;
394
+ targetCarbsG: number | null;
395
+ targetFatG: number | null;
396
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
397
+ manualDailyTargetKcal: number | null;
398
+ notifyTimes: string[] | null;
399
+ timezone: string | null;
400
+ tier: "free" | "premium";
401
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
402
+ trialEndsAt: Date | null;
403
+ onboardingStep: number;
404
+ isOnboarded: boolean;
405
+ isOnboardingSkipped: boolean;
406
+ createdAt: Date;
407
+ onboardingSkipped: boolean;
408
+ subscriptionStatus: string | null;
409
+ deletedAt: Date | null;
410
+ updatedAt: Date;
213
411
  lastActiveAt: string | null;
214
- goal: string | null;
215
- targetCalories: number | null;
216
412
  totalFoodLogs: number;
217
413
  currentStreakDays: number;
218
414
  subscription: {
@@ -222,19 +418,41 @@ export declare const adminUserDetailSchema: z.ZodObject<{
222
418
  cancelAtPeriodEnd: boolean;
223
419
  } | null;
224
420
  }>;
225
- export type AdminUserDetail = z.infer<typeof adminUserDetailSchema>;
421
+ export type AdminUser = AdminUserDetail;
226
422
  export declare const adminUserDetailResponseSchema: z.ZodObject<{
227
- user: z.ZodObject<{
423
+ user: z.ZodObject<Omit<{
228
424
  id: z.ZodString;
229
425
  email: z.ZodString;
426
+ goal: z.ZodNullable<z.ZodEnum<["lose", "maintain", "gain"]>>;
427
+ sex: z.ZodNullable<z.ZodEnum<["male", "female", "prefer_not_to_say"]>>;
428
+ age: z.ZodNullable<z.ZodNumber>;
429
+ heightCm: z.ZodNullable<z.ZodString>;
430
+ weightKg: z.ZodNullable<z.ZodString>;
431
+ targetWeightKg: z.ZodNullable<z.ZodString>;
432
+ tdeeKcal: z.ZodNullable<z.ZodNumber>;
433
+ dailyTargetKcal: z.ZodNullable<z.ZodNumber>;
434
+ targetProteinG: z.ZodNullable<z.ZodNumber>;
435
+ targetCarbsG: z.ZodNullable<z.ZodNumber>;
436
+ targetFatG: z.ZodNullable<z.ZodNumber>;
437
+ activityLevel: z.ZodNullable<z.ZodEnum<["sedentary", "light", "moderate", "active", "very_active"]>>;
438
+ manualDailyTargetKcal: z.ZodNullable<z.ZodNumber>;
439
+ notifyTimes: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
440
+ timezone: z.ZodNullable<z.ZodString>;
441
+ tier: z.ZodEnum<["free", "premium"]>;
442
+ accountStatus: z.ZodEnum<["dormant", "free_trial", "free_plan", "paid"]>;
443
+ trialEndsAt: z.ZodNullable<z.ZodDate>;
444
+ onboardingStep: z.ZodNumber;
445
+ isOnboarded: z.ZodBoolean;
446
+ isOnboardingSkipped: z.ZodBoolean;
447
+ createdAt: z.ZodDate;
448
+ } & {
230
449
  name: z.ZodNullable<z.ZodString>;
231
- entitlement: z.ZodEnum<["free", "premium"]>;
450
+ onboardingSkipped: z.ZodBoolean;
451
+ subscriptionStatus: z.ZodNullable<z.ZodString>;
452
+ deletedAt: z.ZodNullable<z.ZodDate>;
453
+ updatedAt: z.ZodDate;
232
454
  status: z.ZodEnum<["active", "suspended", "deleted"]>;
233
- createdAt: z.ZodString;
234
455
  lastActiveAt: z.ZodNullable<z.ZodString>;
235
- } & {
236
- goal: z.ZodNullable<z.ZodString>;
237
- targetCalories: z.ZodNullable<z.ZodNumber>;
238
456
  totalFoodLogs: z.ZodNumber;
239
457
  currentStreakDays: z.ZodNumber;
240
458
  subscription: z.ZodNullable<z.ZodObject<{
@@ -253,16 +471,40 @@ export declare const adminUserDetailResponseSchema: z.ZodObject<{
253
471
  renewsAt: string | null;
254
472
  cancelAtPeriodEnd: boolean;
255
473
  }>>;
474
+ }, "createdAt"> & {
475
+ createdAt: z.ZodDate;
256
476
  }, "strip", z.ZodTypeAny, {
257
477
  status: "active" | "suspended" | "deleted";
258
478
  id: string;
259
479
  email: string;
260
480
  name: string | null;
261
- entitlement: "free" | "premium";
262
- createdAt: string;
481
+ goal: "lose" | "maintain" | "gain" | null;
482
+ sex: "male" | "female" | "prefer_not_to_say" | null;
483
+ age: number | null;
484
+ heightCm: string | null;
485
+ weightKg: string | null;
486
+ targetWeightKg: string | null;
487
+ tdeeKcal: number | null;
488
+ dailyTargetKcal: number | null;
489
+ targetProteinG: number | null;
490
+ targetCarbsG: number | null;
491
+ targetFatG: number | null;
492
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
493
+ manualDailyTargetKcal: number | null;
494
+ notifyTimes: string[] | null;
495
+ timezone: string | null;
496
+ tier: "free" | "premium";
497
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
498
+ trialEndsAt: Date | null;
499
+ onboardingStep: number;
500
+ isOnboarded: boolean;
501
+ isOnboardingSkipped: boolean;
502
+ createdAt: Date;
503
+ onboardingSkipped: boolean;
504
+ subscriptionStatus: string | null;
505
+ deletedAt: Date | null;
506
+ updatedAt: Date;
263
507
  lastActiveAt: string | null;
264
- goal: string | null;
265
- targetCalories: number | null;
266
508
  totalFoodLogs: number;
267
509
  currentStreakDays: number;
268
510
  subscription: {
@@ -276,11 +518,33 @@ export declare const adminUserDetailResponseSchema: z.ZodObject<{
276
518
  id: string;
277
519
  email: string;
278
520
  name: string | null;
279
- entitlement: "free" | "premium";
280
- createdAt: string;
521
+ goal: "lose" | "maintain" | "gain" | null;
522
+ sex: "male" | "female" | "prefer_not_to_say" | null;
523
+ age: number | null;
524
+ heightCm: string | null;
525
+ weightKg: string | null;
526
+ targetWeightKg: string | null;
527
+ tdeeKcal: number | null;
528
+ dailyTargetKcal: number | null;
529
+ targetProteinG: number | null;
530
+ targetCarbsG: number | null;
531
+ targetFatG: number | null;
532
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
533
+ manualDailyTargetKcal: number | null;
534
+ notifyTimes: string[] | null;
535
+ timezone: string | null;
536
+ tier: "free" | "premium";
537
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
538
+ trialEndsAt: Date | null;
539
+ onboardingStep: number;
540
+ isOnboarded: boolean;
541
+ isOnboardingSkipped: boolean;
542
+ createdAt: Date;
543
+ onboardingSkipped: boolean;
544
+ subscriptionStatus: string | null;
545
+ deletedAt: Date | null;
546
+ updatedAt: Date;
281
547
  lastActiveAt: string | null;
282
- goal: string | null;
283
- targetCalories: number | null;
284
548
  totalFoodLogs: number;
285
549
  currentStreakDays: number;
286
550
  subscription: {
@@ -296,11 +560,33 @@ export declare const adminUserDetailResponseSchema: z.ZodObject<{
296
560
  id: string;
297
561
  email: string;
298
562
  name: string | null;
299
- entitlement: "free" | "premium";
300
- createdAt: string;
563
+ goal: "lose" | "maintain" | "gain" | null;
564
+ sex: "male" | "female" | "prefer_not_to_say" | null;
565
+ age: number | null;
566
+ heightCm: string | null;
567
+ weightKg: string | null;
568
+ targetWeightKg: string | null;
569
+ tdeeKcal: number | null;
570
+ dailyTargetKcal: number | null;
571
+ targetProteinG: number | null;
572
+ targetCarbsG: number | null;
573
+ targetFatG: number | null;
574
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
575
+ manualDailyTargetKcal: number | null;
576
+ notifyTimes: string[] | null;
577
+ timezone: string | null;
578
+ tier: "free" | "premium";
579
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
580
+ trialEndsAt: Date | null;
581
+ onboardingStep: number;
582
+ isOnboarded: boolean;
583
+ isOnboardingSkipped: boolean;
584
+ createdAt: Date;
585
+ onboardingSkipped: boolean;
586
+ subscriptionStatus: string | null;
587
+ deletedAt: Date | null;
588
+ updatedAt: Date;
301
589
  lastActiveAt: string | null;
302
- goal: string | null;
303
- targetCalories: number | null;
304
590
  totalFoodLogs: number;
305
591
  currentStreakDays: number;
306
592
  subscription: {
@@ -316,11 +602,33 @@ export declare const adminUserDetailResponseSchema: z.ZodObject<{
316
602
  id: string;
317
603
  email: string;
318
604
  name: string | null;
319
- entitlement: "free" | "premium";
320
- createdAt: string;
605
+ goal: "lose" | "maintain" | "gain" | null;
606
+ sex: "male" | "female" | "prefer_not_to_say" | null;
607
+ age: number | null;
608
+ heightCm: string | null;
609
+ weightKg: string | null;
610
+ targetWeightKg: string | null;
611
+ tdeeKcal: number | null;
612
+ dailyTargetKcal: number | null;
613
+ targetProteinG: number | null;
614
+ targetCarbsG: number | null;
615
+ targetFatG: number | null;
616
+ activityLevel: "sedentary" | "light" | "moderate" | "active" | "very_active" | null;
617
+ manualDailyTargetKcal: number | null;
618
+ notifyTimes: string[] | null;
619
+ timezone: string | null;
620
+ tier: "free" | "premium";
621
+ accountStatus: "dormant" | "free_trial" | "free_plan" | "paid";
622
+ trialEndsAt: Date | null;
623
+ onboardingStep: number;
624
+ isOnboarded: boolean;
625
+ isOnboardingSkipped: boolean;
626
+ createdAt: Date;
627
+ onboardingSkipped: boolean;
628
+ subscriptionStatus: string | null;
629
+ deletedAt: Date | null;
630
+ updatedAt: Date;
321
631
  lastActiveAt: string | null;
322
- goal: string | null;
323
- targetCalories: number | null;
324
632
  totalFoodLogs: number;
325
633
  currentStreakDays: number;
326
634
  subscription: {
@@ -396,6 +704,11 @@ export declare const adminRoutes: {
396
704
  path: "/api/v1/admin/users/:id";
397
705
  auth: "admin";
398
706
  };
707
+ getDashboardMetrics: {
708
+ method: "GET";
709
+ path: "/api/v1/admin/metrics/dashboard";
710
+ auth: "admin";
711
+ };
399
712
  cancelSubscription: {
400
713
  method: "POST";
401
714
  path: "/api/v1/admin/users/:id/subscription/cancel";
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
package/dist/admin.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { userProfileSchema } from "./users";
2
3
  // ---------------------------------------------------------------------------
3
4
  // Admin identity
4
5
  // ---------------------------------------------------------------------------
@@ -43,29 +44,32 @@ export const adminSubscriptionStatusSchema = z.enum([
43
44
  "expired",
44
45
  "none",
45
46
  ]);
46
- export const adminUserSchema = z.object({
47
- id: z.string(),
48
- email: z.string().email(),
47
+ export const adminUserSubscriptionSchema = z.object({
48
+ status: adminSubscriptionStatusSchema,
49
+ priceLabel: z.string().nullable(),
50
+ renewsAt: z.string().nullable(),
51
+ cancelAtPeriodEnd: z.boolean(),
52
+ });
53
+ /** Full user record for admin list + detail — every users column except authSubjectId. */
54
+ export const adminUserDetailSchema = userProfileSchema
55
+ .extend({
49
56
  name: z.string().nullable(),
50
- entitlement: adminEntitlementSchema,
57
+ onboardingSkipped: z.boolean(),
58
+ subscriptionStatus: z.string().nullable(),
59
+ deletedAt: z.coerce.date().nullable(),
60
+ updatedAt: z.coerce.date(),
51
61
  status: adminUserStatusSchema,
52
- createdAt: z.string(), // ISO-8601
53
62
  lastActiveAt: z.string().nullable(),
63
+ totalFoodLogs: z.number().int(),
64
+ currentStreakDays: z.number().int(),
65
+ subscription: adminUserSubscriptionSchema.nullable(),
66
+ })
67
+ .omit({ createdAt: true })
68
+ .extend({
69
+ createdAt: z.coerce.date(),
54
70
  });
55
- export const adminUserDetailSchema = adminUserSchema.extend({
56
- goal: z.string().nullable(),
57
- targetCalories: z.number().nullable(),
58
- totalFoodLogs: z.number(),
59
- currentStreakDays: z.number(),
60
- subscription: z
61
- .object({
62
- status: adminSubscriptionStatusSchema,
63
- priceLabel: z.string().nullable(),
64
- renewsAt: z.string().nullable(),
65
- cancelAtPeriodEnd: z.boolean(),
66
- })
67
- .nullable(),
68
- });
71
+ /** List rows use the same full shape as detail. */
72
+ export const adminUserSchema = adminUserDetailSchema;
69
73
  export const adminUserDetailResponseSchema = z.object({ user: adminUserDetailSchema });
70
74
  export const adminCancelPayloadSchema = z.object({ reason: z.string().min(1) });
71
75
  export const adminRefundPayloadSchema = z.object({
@@ -115,6 +119,11 @@ export const adminRoutes = {
115
119
  path: "/api/v1/admin/users/:id",
116
120
  auth: "admin",
117
121
  },
122
+ getDashboardMetrics: {
123
+ method: "GET",
124
+ path: "/api/v1/admin/metrics/dashboard",
125
+ auth: "admin",
126
+ },
118
127
  cancelSubscription: {
119
128
  method: "POST",
120
129
  path: "/api/v1/admin/users/:id/subscription/cancel",
package/dist/admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}