@sunsteel/contracts 0.13.0 → 0.15.0
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/index.cjs +13 -0
- package/dist/index.d.cts +219 -173
- package/dist/index.d.ts +219 -173
- package/dist/index.js +10 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -21,6 +21,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
MUSCLE_GROUPS: () => MUSCLE_GROUPS,
|
|
24
|
+
PROFILE_BIO_MAX_LENGTH: () => PROFILE_BIO_MAX_LENGTH,
|
|
25
|
+
PROFILE_LOCATION_MAX_LENGTH: () => PROFILE_LOCATION_MAX_LENGTH,
|
|
26
|
+
PROFILE_VISIBILITY_VALUES: () => PROFILE_VISIBILITY_VALUES,
|
|
24
27
|
PROGRESSION_SCHEMES: () => PROGRESSION_SCHEMES,
|
|
25
28
|
REP_TYPES: () => REP_TYPES,
|
|
26
29
|
RESERVED_USERNAMES: () => RESERVED_USERNAMES,
|
|
@@ -72,6 +75,8 @@ var MUSCLE_GROUPS = [
|
|
|
72
75
|
var USERNAME_MIN_LENGTH = 3;
|
|
73
76
|
var USERNAME_MAX_LENGTH = 30;
|
|
74
77
|
var USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
|
|
78
|
+
var PROFILE_BIO_MAX_LENGTH = 500;
|
|
79
|
+
var PROFILE_LOCATION_MAX_LENGTH = 100;
|
|
75
80
|
var RESERVED_USERNAMES = [
|
|
76
81
|
"achievements",
|
|
77
82
|
"admin",
|
|
@@ -104,6 +109,11 @@ var RESERVED_USERNAMES = [
|
|
|
104
109
|
"users",
|
|
105
110
|
"workouts"
|
|
106
111
|
];
|
|
112
|
+
var PROFILE_VISIBILITY_VALUES = [
|
|
113
|
+
"PUBLIC",
|
|
114
|
+
"FOLLOWERS",
|
|
115
|
+
"PRIVATE"
|
|
116
|
+
];
|
|
107
117
|
|
|
108
118
|
// src/analytics.ts
|
|
109
119
|
var TRAINING_EVENT_TYPES = [
|
|
@@ -114,6 +124,9 @@ var TRAINING_EVENT_TYPES = [
|
|
|
114
124
|
// Annotate the CommonJS export names for ESM import in node:
|
|
115
125
|
0 && (module.exports = {
|
|
116
126
|
MUSCLE_GROUPS,
|
|
127
|
+
PROFILE_BIO_MAX_LENGTH,
|
|
128
|
+
PROFILE_LOCATION_MAX_LENGTH,
|
|
129
|
+
PROFILE_VISIBILITY_VALUES,
|
|
117
130
|
PROGRESSION_SCHEMES,
|
|
118
131
|
REP_TYPES,
|
|
119
132
|
RESERVED_USERNAMES,
|
package/dist/index.d.cts
CHANGED
|
@@ -24,178 +24,6 @@ interface PaginatedResponse<T> {
|
|
|
24
24
|
nextCursor?: string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
declare const USERNAME_MIN_LENGTH = 3;
|
|
28
|
-
declare const USERNAME_MAX_LENGTH = 30;
|
|
29
|
-
declare const USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
|
|
30
|
-
declare const RESERVED_USERNAMES: readonly ["achievements", "admin", "api", "auth", "dashboard", "edit", "exercises", "help", "login", "logout", "me", "new", "notifications", "privacy", "profile", "profiles", "progress", "register", "routines", "schedule", "search", "settings", "signup", "sunnsteel", "sunsteel", "support", "system", "terms", "users", "workouts"];
|
|
31
|
-
interface UserProfile {
|
|
32
|
-
timeZone?: string | null;
|
|
33
|
-
id: string;
|
|
34
|
-
email: string;
|
|
35
|
-
username: string;
|
|
36
|
-
name: string;
|
|
37
|
-
lastName?: string | null;
|
|
38
|
-
avatarUrl?: string | null;
|
|
39
|
-
age?: number | null;
|
|
40
|
-
sex?: Sex | null;
|
|
41
|
-
weight?: number | null;
|
|
42
|
-
height?: number | null;
|
|
43
|
-
weightUnit: WeightUnit;
|
|
44
|
-
followerCount: number;
|
|
45
|
-
followingCount: number;
|
|
46
|
-
createdAt: IsoDateString;
|
|
47
|
-
updatedAt: IsoDateString;
|
|
48
|
-
}
|
|
49
|
-
interface PublicUserProfile {
|
|
50
|
-
id: string;
|
|
51
|
-
username: string;
|
|
52
|
-
name: string;
|
|
53
|
-
lastName?: string | null;
|
|
54
|
-
avatarUrl?: string | null;
|
|
55
|
-
createdAt: IsoDateString;
|
|
56
|
-
updatedAt: IsoDateString;
|
|
57
|
-
followerCount: number;
|
|
58
|
-
followingCount: number;
|
|
59
|
-
isFollowedByMe: boolean;
|
|
60
|
-
}
|
|
61
|
-
interface UpdateProfileRequest {
|
|
62
|
-
username?: string;
|
|
63
|
-
name?: string;
|
|
64
|
-
lastName?: string | null;
|
|
65
|
-
avatarUrl?: string | null;
|
|
66
|
-
age?: number | null;
|
|
67
|
-
sex?: Sex | null;
|
|
68
|
-
weight?: number | null;
|
|
69
|
-
height?: number | null;
|
|
70
|
-
weightUnit?: WeightUnit;
|
|
71
|
-
}
|
|
72
|
-
interface PlatePairInventory {
|
|
73
|
-
weightKg: number;
|
|
74
|
-
pairCount: number;
|
|
75
|
-
}
|
|
76
|
-
interface TrainingLocationPreference {
|
|
77
|
-
id: string;
|
|
78
|
-
name: string;
|
|
79
|
-
isDefault: boolean;
|
|
80
|
-
barWeightKg: number;
|
|
81
|
-
availablePlatePairs: PlatePairInventory[];
|
|
82
|
-
equipment: string[];
|
|
83
|
-
createdAt: IsoDateString;
|
|
84
|
-
updatedAt: IsoDateString;
|
|
85
|
-
}
|
|
86
|
-
interface TrainingLocationPreferenceInput {
|
|
87
|
-
id?: string;
|
|
88
|
-
name: string;
|
|
89
|
-
isDefault: boolean;
|
|
90
|
-
barWeightKg: number;
|
|
91
|
-
availablePlatePairs: PlatePairInventory[];
|
|
92
|
-
equipment: string[];
|
|
93
|
-
}
|
|
94
|
-
interface ReplaceTrainingLocationsRequest {
|
|
95
|
-
locations: TrainingLocationPreferenceInput[];
|
|
96
|
-
}
|
|
97
|
-
interface UserSearchResponse {
|
|
98
|
-
id: string;
|
|
99
|
-
username: string;
|
|
100
|
-
name: string;
|
|
101
|
-
lastName?: string | null;
|
|
102
|
-
avatarUrl?: string | null;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
interface SupabaseAuthUser {
|
|
106
|
-
id: string;
|
|
107
|
-
email: string;
|
|
108
|
-
name: string;
|
|
109
|
-
supabaseUserId?: string | null;
|
|
110
|
-
weightUnit: WeightUnit;
|
|
111
|
-
createdAt?: IsoDateString;
|
|
112
|
-
updatedAt?: IsoDateString;
|
|
113
|
-
}
|
|
114
|
-
interface SupabaseAuthResponse {
|
|
115
|
-
user: SupabaseAuthUser;
|
|
116
|
-
message?: string;
|
|
117
|
-
requiresEmailVerification?: boolean;
|
|
118
|
-
}
|
|
119
|
-
interface SupabaseMigrationResponse {
|
|
120
|
-
message: string;
|
|
121
|
-
userId: string;
|
|
122
|
-
email: string;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
interface Exercise {
|
|
126
|
-
id: string;
|
|
127
|
-
name: string;
|
|
128
|
-
primaryMuscles: MuscleGroup[];
|
|
129
|
-
secondaryMuscles: MuscleGroup[];
|
|
130
|
-
equipment: string;
|
|
131
|
-
createdAt: IsoDateString;
|
|
132
|
-
updatedAt: IsoDateString;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
interface RoutineSet {
|
|
136
|
-
setNumber: number;
|
|
137
|
-
repType: RepType;
|
|
138
|
-
reps?: number | null;
|
|
139
|
-
minReps?: number | null;
|
|
140
|
-
maxReps?: number | null;
|
|
141
|
-
weight?: number | null;
|
|
142
|
-
rir?: number | null;
|
|
143
|
-
}
|
|
144
|
-
interface RoutineExercise {
|
|
145
|
-
id: string;
|
|
146
|
-
order: number;
|
|
147
|
-
restSeconds: number;
|
|
148
|
-
note?: string | null;
|
|
149
|
-
progressionScheme: ProgressionScheme;
|
|
150
|
-
minWeightIncrement: number;
|
|
151
|
-
exercise: {
|
|
152
|
-
id: string;
|
|
153
|
-
name: string;
|
|
154
|
-
primaryMuscles?: MuscleGroup[];
|
|
155
|
-
secondaryMuscles?: MuscleGroup[];
|
|
156
|
-
};
|
|
157
|
-
sets: RoutineSet[];
|
|
158
|
-
}
|
|
159
|
-
interface CreateRoutineExerciseInput {
|
|
160
|
-
exerciseId: string;
|
|
161
|
-
order?: number;
|
|
162
|
-
restSeconds: number;
|
|
163
|
-
note?: string;
|
|
164
|
-
progressionScheme: ProgressionScheme;
|
|
165
|
-
minWeightIncrement: number;
|
|
166
|
-
sets: RoutineSet[];
|
|
167
|
-
}
|
|
168
|
-
interface RoutineDay {
|
|
169
|
-
id: string;
|
|
170
|
-
dayOfWeek: number;
|
|
171
|
-
order: number;
|
|
172
|
-
exercises: RoutineExercise[];
|
|
173
|
-
}
|
|
174
|
-
interface CreateRoutineDayInput {
|
|
175
|
-
dayOfWeek: number;
|
|
176
|
-
order?: number;
|
|
177
|
-
exercises: CreateRoutineExerciseInput[];
|
|
178
|
-
}
|
|
179
|
-
interface Routine {
|
|
180
|
-
id: string;
|
|
181
|
-
userId: string;
|
|
182
|
-
name: string;
|
|
183
|
-
description?: string | null;
|
|
184
|
-
isPeriodized: boolean;
|
|
185
|
-
isFavorite: boolean;
|
|
186
|
-
isCompleted: boolean;
|
|
187
|
-
days: RoutineDay[];
|
|
188
|
-
createdAt: IsoDateString;
|
|
189
|
-
updatedAt: IsoDateString;
|
|
190
|
-
}
|
|
191
|
-
interface CreateRoutineRequest {
|
|
192
|
-
name: string;
|
|
193
|
-
description?: string;
|
|
194
|
-
isPeriodized: boolean;
|
|
195
|
-
days: CreateRoutineDayInput[];
|
|
196
|
-
}
|
|
197
|
-
type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
|
|
198
|
-
|
|
199
27
|
interface SetLog {
|
|
200
28
|
id: string;
|
|
201
29
|
sessionId: string;
|
|
@@ -468,4 +296,222 @@ interface WorkoutAnalyticsStatus {
|
|
|
468
296
|
generationId: string | null;
|
|
469
297
|
}
|
|
470
298
|
|
|
471
|
-
|
|
299
|
+
declare const USERNAME_MIN_LENGTH = 3;
|
|
300
|
+
declare const USERNAME_MAX_LENGTH = 30;
|
|
301
|
+
declare const USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
|
|
302
|
+
declare const PROFILE_BIO_MAX_LENGTH = 500;
|
|
303
|
+
declare const PROFILE_LOCATION_MAX_LENGTH = 100;
|
|
304
|
+
declare const RESERVED_USERNAMES: readonly ["achievements", "admin", "api", "auth", "dashboard", "edit", "exercises", "help", "login", "logout", "me", "new", "notifications", "privacy", "profile", "profiles", "progress", "register", "routines", "schedule", "search", "settings", "signup", "sunnsteel", "sunsteel", "support", "system", "terms", "users", "workouts"];
|
|
305
|
+
declare const PROFILE_VISIBILITY_VALUES: readonly ["PUBLIC", "FOLLOWERS", "PRIVATE"];
|
|
306
|
+
type ProfileVisibility = (typeof PROFILE_VISIBILITY_VALUES)[number];
|
|
307
|
+
interface ProfilePrivacySettings {
|
|
308
|
+
biography: ProfileVisibility;
|
|
309
|
+
location: ProfileVisibility;
|
|
310
|
+
workoutHistory: ProfileVisibility;
|
|
311
|
+
records: ProfileVisibility;
|
|
312
|
+
routines: ProfileVisibility;
|
|
313
|
+
achievements: ProfileVisibility;
|
|
314
|
+
bodyMetrics: ProfileVisibility;
|
|
315
|
+
}
|
|
316
|
+
interface ProfileViewerAccess {
|
|
317
|
+
biography: boolean;
|
|
318
|
+
location: boolean;
|
|
319
|
+
workoutHistory: boolean;
|
|
320
|
+
records: boolean;
|
|
321
|
+
routines: boolean;
|
|
322
|
+
achievements: boolean;
|
|
323
|
+
bodyMetrics: boolean;
|
|
324
|
+
}
|
|
325
|
+
interface PublicTrainingSummary {
|
|
326
|
+
completedWorkouts: number;
|
|
327
|
+
totalVolumeKg: number;
|
|
328
|
+
currentStreakDays: number;
|
|
329
|
+
bestStreakDays: number;
|
|
330
|
+
}
|
|
331
|
+
interface PublicBodyMetrics {
|
|
332
|
+
age?: number | null;
|
|
333
|
+
sex?: Sex | null;
|
|
334
|
+
weightKg?: number | null;
|
|
335
|
+
heightCm?: number | null;
|
|
336
|
+
}
|
|
337
|
+
interface UserProfile {
|
|
338
|
+
timeZone?: string | null;
|
|
339
|
+
id: string;
|
|
340
|
+
email: string;
|
|
341
|
+
username: string;
|
|
342
|
+
name: string;
|
|
343
|
+
lastName?: string | null;
|
|
344
|
+
avatarUrl?: string | null;
|
|
345
|
+
bio?: string | null;
|
|
346
|
+
location?: string | null;
|
|
347
|
+
age?: number | null;
|
|
348
|
+
sex?: Sex | null;
|
|
349
|
+
weight?: number | null;
|
|
350
|
+
height?: number | null;
|
|
351
|
+
weightUnit: WeightUnit;
|
|
352
|
+
privacySettings: ProfilePrivacySettings;
|
|
353
|
+
followerCount: number;
|
|
354
|
+
followingCount: number;
|
|
355
|
+
createdAt: IsoDateString;
|
|
356
|
+
updatedAt: IsoDateString;
|
|
357
|
+
}
|
|
358
|
+
interface PublicUserProfile {
|
|
359
|
+
id: string;
|
|
360
|
+
username: string;
|
|
361
|
+
name: string;
|
|
362
|
+
lastName?: string | null;
|
|
363
|
+
avatarUrl?: string | null;
|
|
364
|
+
bio?: string | null;
|
|
365
|
+
location?: string | null;
|
|
366
|
+
createdAt: IsoDateString;
|
|
367
|
+
updatedAt: IsoDateString;
|
|
368
|
+
followerCount: number;
|
|
369
|
+
followingCount: number;
|
|
370
|
+
isFollowedByMe: boolean;
|
|
371
|
+
viewerAccess: ProfileViewerAccess;
|
|
372
|
+
trainingSummary?: PublicTrainingSummary;
|
|
373
|
+
personalRecords?: PersonalRecordEntry[];
|
|
374
|
+
bodyMetrics?: PublicBodyMetrics;
|
|
375
|
+
}
|
|
376
|
+
interface UpdateProfileRequest {
|
|
377
|
+
username?: string;
|
|
378
|
+
name?: string;
|
|
379
|
+
lastName?: string | null;
|
|
380
|
+
avatarUrl?: string | null;
|
|
381
|
+
bio?: string | null;
|
|
382
|
+
location?: string | null;
|
|
383
|
+
age?: number | null;
|
|
384
|
+
sex?: Sex | null;
|
|
385
|
+
weight?: number | null;
|
|
386
|
+
height?: number | null;
|
|
387
|
+
weightUnit?: WeightUnit;
|
|
388
|
+
}
|
|
389
|
+
type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location'>>;
|
|
390
|
+
interface PlatePairInventory {
|
|
391
|
+
weightKg: number;
|
|
392
|
+
pairCount: number;
|
|
393
|
+
}
|
|
394
|
+
interface TrainingLocationPreference {
|
|
395
|
+
id: string;
|
|
396
|
+
name: string;
|
|
397
|
+
isDefault: boolean;
|
|
398
|
+
barWeightKg: number;
|
|
399
|
+
availablePlatePairs: PlatePairInventory[];
|
|
400
|
+
equipment: string[];
|
|
401
|
+
createdAt: IsoDateString;
|
|
402
|
+
updatedAt: IsoDateString;
|
|
403
|
+
}
|
|
404
|
+
interface TrainingLocationPreferenceInput {
|
|
405
|
+
id?: string;
|
|
406
|
+
name: string;
|
|
407
|
+
isDefault: boolean;
|
|
408
|
+
barWeightKg: number;
|
|
409
|
+
availablePlatePairs: PlatePairInventory[];
|
|
410
|
+
equipment: string[];
|
|
411
|
+
}
|
|
412
|
+
interface ReplaceTrainingLocationsRequest {
|
|
413
|
+
locations: TrainingLocationPreferenceInput[];
|
|
414
|
+
}
|
|
415
|
+
interface UserSearchResponse {
|
|
416
|
+
id: string;
|
|
417
|
+
username: string;
|
|
418
|
+
name: string;
|
|
419
|
+
lastName?: string | null;
|
|
420
|
+
avatarUrl?: string | null;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
interface SupabaseAuthUser {
|
|
424
|
+
id: string;
|
|
425
|
+
email: string;
|
|
426
|
+
name: string;
|
|
427
|
+
supabaseUserId?: string | null;
|
|
428
|
+
weightUnit: WeightUnit;
|
|
429
|
+
createdAt?: IsoDateString;
|
|
430
|
+
updatedAt?: IsoDateString;
|
|
431
|
+
}
|
|
432
|
+
interface SupabaseAuthResponse {
|
|
433
|
+
user: SupabaseAuthUser;
|
|
434
|
+
message?: string;
|
|
435
|
+
requiresEmailVerification?: boolean;
|
|
436
|
+
}
|
|
437
|
+
interface SupabaseMigrationResponse {
|
|
438
|
+
message: string;
|
|
439
|
+
userId: string;
|
|
440
|
+
email: string;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
interface Exercise {
|
|
444
|
+
id: string;
|
|
445
|
+
name: string;
|
|
446
|
+
primaryMuscles: MuscleGroup[];
|
|
447
|
+
secondaryMuscles: MuscleGroup[];
|
|
448
|
+
equipment: string;
|
|
449
|
+
createdAt: IsoDateString;
|
|
450
|
+
updatedAt: IsoDateString;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
interface RoutineSet {
|
|
454
|
+
setNumber: number;
|
|
455
|
+
repType: RepType;
|
|
456
|
+
reps?: number | null;
|
|
457
|
+
minReps?: number | null;
|
|
458
|
+
maxReps?: number | null;
|
|
459
|
+
weight?: number | null;
|
|
460
|
+
rir?: number | null;
|
|
461
|
+
}
|
|
462
|
+
interface RoutineExercise {
|
|
463
|
+
id: string;
|
|
464
|
+
order: number;
|
|
465
|
+
restSeconds: number;
|
|
466
|
+
note?: string | null;
|
|
467
|
+
progressionScheme: ProgressionScheme;
|
|
468
|
+
minWeightIncrement: number;
|
|
469
|
+
exercise: {
|
|
470
|
+
id: string;
|
|
471
|
+
name: string;
|
|
472
|
+
primaryMuscles?: MuscleGroup[];
|
|
473
|
+
secondaryMuscles?: MuscleGroup[];
|
|
474
|
+
};
|
|
475
|
+
sets: RoutineSet[];
|
|
476
|
+
}
|
|
477
|
+
interface CreateRoutineExerciseInput {
|
|
478
|
+
exerciseId: string;
|
|
479
|
+
order?: number;
|
|
480
|
+
restSeconds: number;
|
|
481
|
+
note?: string;
|
|
482
|
+
progressionScheme: ProgressionScheme;
|
|
483
|
+
minWeightIncrement: number;
|
|
484
|
+
sets: RoutineSet[];
|
|
485
|
+
}
|
|
486
|
+
interface RoutineDay {
|
|
487
|
+
id: string;
|
|
488
|
+
dayOfWeek: number;
|
|
489
|
+
order: number;
|
|
490
|
+
exercises: RoutineExercise[];
|
|
491
|
+
}
|
|
492
|
+
interface CreateRoutineDayInput {
|
|
493
|
+
dayOfWeek: number;
|
|
494
|
+
order?: number;
|
|
495
|
+
exercises: CreateRoutineExerciseInput[];
|
|
496
|
+
}
|
|
497
|
+
interface Routine {
|
|
498
|
+
id: string;
|
|
499
|
+
userId: string;
|
|
500
|
+
name: string;
|
|
501
|
+
description?: string | null;
|
|
502
|
+
isPeriodized: boolean;
|
|
503
|
+
isFavorite: boolean;
|
|
504
|
+
isCompleted: boolean;
|
|
505
|
+
days: RoutineDay[];
|
|
506
|
+
createdAt: IsoDateString;
|
|
507
|
+
updatedAt: IsoDateString;
|
|
508
|
+
}
|
|
509
|
+
interface CreateRoutineRequest {
|
|
510
|
+
name: string;
|
|
511
|
+
description?: string;
|
|
512
|
+
isPeriodized: boolean;
|
|
513
|
+
days: CreateRoutineDayInput[];
|
|
514
|
+
}
|
|
515
|
+
type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
|
|
516
|
+
|
|
517
|
+
export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, PROFILE_BIO_MAX_LENGTH, PROFILE_LOCATION_MAX_LENGTH, PROFILE_VISIBILITY_VALUES, PROGRESSION_SCHEMES, type PaginatedResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlatePairInventory, type PreviousPerformanceResponse, type PreviousSessionRecap, type PreviousSetPerformance, type ProfilePrivacySettings, type ProfileViewerAccess, type ProfileVisibility, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionRecapRecord, type SetAccountTimeZoneRequest, type SetLog, type Sex, type StartWorkoutRequest, type StartWorkoutResponse, type SupabaseAuthResponse, type SupabaseAuthUser, type SupabaseMigrationResponse, TRAINING_EVENT_TYPES, type TrainingEventType, type TrainingLocationPreference, type TrainingLocationPreferenceInput, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpsertSetLogRequest, type UpsertSetLogResponse, type UserId, type UserProfile, type UserSearchResponse, WEIGHT_UNITS, WORKOUT_SESSION_STATUSES, type WeightUnit, type WorkoutAnalyticsStatus, type WorkoutProgressQuery, type WorkoutProgressResponse, type WorkoutSession, type WorkoutSessionId, type WorkoutSessionListResponse, type WorkoutSessionRecap, type WorkoutSessionSnapshotV1, type WorkoutSessionStatus, type WorkoutSessionSummary, type WorkoutStatsQuery, type WorkoutStatsResponse };
|
package/dist/index.d.ts
CHANGED
|
@@ -24,178 +24,6 @@ interface PaginatedResponse<T> {
|
|
|
24
24
|
nextCursor?: string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
declare const USERNAME_MIN_LENGTH = 3;
|
|
28
|
-
declare const USERNAME_MAX_LENGTH = 30;
|
|
29
|
-
declare const USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
|
|
30
|
-
declare const RESERVED_USERNAMES: readonly ["achievements", "admin", "api", "auth", "dashboard", "edit", "exercises", "help", "login", "logout", "me", "new", "notifications", "privacy", "profile", "profiles", "progress", "register", "routines", "schedule", "search", "settings", "signup", "sunnsteel", "sunsteel", "support", "system", "terms", "users", "workouts"];
|
|
31
|
-
interface UserProfile {
|
|
32
|
-
timeZone?: string | null;
|
|
33
|
-
id: string;
|
|
34
|
-
email: string;
|
|
35
|
-
username: string;
|
|
36
|
-
name: string;
|
|
37
|
-
lastName?: string | null;
|
|
38
|
-
avatarUrl?: string | null;
|
|
39
|
-
age?: number | null;
|
|
40
|
-
sex?: Sex | null;
|
|
41
|
-
weight?: number | null;
|
|
42
|
-
height?: number | null;
|
|
43
|
-
weightUnit: WeightUnit;
|
|
44
|
-
followerCount: number;
|
|
45
|
-
followingCount: number;
|
|
46
|
-
createdAt: IsoDateString;
|
|
47
|
-
updatedAt: IsoDateString;
|
|
48
|
-
}
|
|
49
|
-
interface PublicUserProfile {
|
|
50
|
-
id: string;
|
|
51
|
-
username: string;
|
|
52
|
-
name: string;
|
|
53
|
-
lastName?: string | null;
|
|
54
|
-
avatarUrl?: string | null;
|
|
55
|
-
createdAt: IsoDateString;
|
|
56
|
-
updatedAt: IsoDateString;
|
|
57
|
-
followerCount: number;
|
|
58
|
-
followingCount: number;
|
|
59
|
-
isFollowedByMe: boolean;
|
|
60
|
-
}
|
|
61
|
-
interface UpdateProfileRequest {
|
|
62
|
-
username?: string;
|
|
63
|
-
name?: string;
|
|
64
|
-
lastName?: string | null;
|
|
65
|
-
avatarUrl?: string | null;
|
|
66
|
-
age?: number | null;
|
|
67
|
-
sex?: Sex | null;
|
|
68
|
-
weight?: number | null;
|
|
69
|
-
height?: number | null;
|
|
70
|
-
weightUnit?: WeightUnit;
|
|
71
|
-
}
|
|
72
|
-
interface PlatePairInventory {
|
|
73
|
-
weightKg: number;
|
|
74
|
-
pairCount: number;
|
|
75
|
-
}
|
|
76
|
-
interface TrainingLocationPreference {
|
|
77
|
-
id: string;
|
|
78
|
-
name: string;
|
|
79
|
-
isDefault: boolean;
|
|
80
|
-
barWeightKg: number;
|
|
81
|
-
availablePlatePairs: PlatePairInventory[];
|
|
82
|
-
equipment: string[];
|
|
83
|
-
createdAt: IsoDateString;
|
|
84
|
-
updatedAt: IsoDateString;
|
|
85
|
-
}
|
|
86
|
-
interface TrainingLocationPreferenceInput {
|
|
87
|
-
id?: string;
|
|
88
|
-
name: string;
|
|
89
|
-
isDefault: boolean;
|
|
90
|
-
barWeightKg: number;
|
|
91
|
-
availablePlatePairs: PlatePairInventory[];
|
|
92
|
-
equipment: string[];
|
|
93
|
-
}
|
|
94
|
-
interface ReplaceTrainingLocationsRequest {
|
|
95
|
-
locations: TrainingLocationPreferenceInput[];
|
|
96
|
-
}
|
|
97
|
-
interface UserSearchResponse {
|
|
98
|
-
id: string;
|
|
99
|
-
username: string;
|
|
100
|
-
name: string;
|
|
101
|
-
lastName?: string | null;
|
|
102
|
-
avatarUrl?: string | null;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
interface SupabaseAuthUser {
|
|
106
|
-
id: string;
|
|
107
|
-
email: string;
|
|
108
|
-
name: string;
|
|
109
|
-
supabaseUserId?: string | null;
|
|
110
|
-
weightUnit: WeightUnit;
|
|
111
|
-
createdAt?: IsoDateString;
|
|
112
|
-
updatedAt?: IsoDateString;
|
|
113
|
-
}
|
|
114
|
-
interface SupabaseAuthResponse {
|
|
115
|
-
user: SupabaseAuthUser;
|
|
116
|
-
message?: string;
|
|
117
|
-
requiresEmailVerification?: boolean;
|
|
118
|
-
}
|
|
119
|
-
interface SupabaseMigrationResponse {
|
|
120
|
-
message: string;
|
|
121
|
-
userId: string;
|
|
122
|
-
email: string;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
interface Exercise {
|
|
126
|
-
id: string;
|
|
127
|
-
name: string;
|
|
128
|
-
primaryMuscles: MuscleGroup[];
|
|
129
|
-
secondaryMuscles: MuscleGroup[];
|
|
130
|
-
equipment: string;
|
|
131
|
-
createdAt: IsoDateString;
|
|
132
|
-
updatedAt: IsoDateString;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
interface RoutineSet {
|
|
136
|
-
setNumber: number;
|
|
137
|
-
repType: RepType;
|
|
138
|
-
reps?: number | null;
|
|
139
|
-
minReps?: number | null;
|
|
140
|
-
maxReps?: number | null;
|
|
141
|
-
weight?: number | null;
|
|
142
|
-
rir?: number | null;
|
|
143
|
-
}
|
|
144
|
-
interface RoutineExercise {
|
|
145
|
-
id: string;
|
|
146
|
-
order: number;
|
|
147
|
-
restSeconds: number;
|
|
148
|
-
note?: string | null;
|
|
149
|
-
progressionScheme: ProgressionScheme;
|
|
150
|
-
minWeightIncrement: number;
|
|
151
|
-
exercise: {
|
|
152
|
-
id: string;
|
|
153
|
-
name: string;
|
|
154
|
-
primaryMuscles?: MuscleGroup[];
|
|
155
|
-
secondaryMuscles?: MuscleGroup[];
|
|
156
|
-
};
|
|
157
|
-
sets: RoutineSet[];
|
|
158
|
-
}
|
|
159
|
-
interface CreateRoutineExerciseInput {
|
|
160
|
-
exerciseId: string;
|
|
161
|
-
order?: number;
|
|
162
|
-
restSeconds: number;
|
|
163
|
-
note?: string;
|
|
164
|
-
progressionScheme: ProgressionScheme;
|
|
165
|
-
minWeightIncrement: number;
|
|
166
|
-
sets: RoutineSet[];
|
|
167
|
-
}
|
|
168
|
-
interface RoutineDay {
|
|
169
|
-
id: string;
|
|
170
|
-
dayOfWeek: number;
|
|
171
|
-
order: number;
|
|
172
|
-
exercises: RoutineExercise[];
|
|
173
|
-
}
|
|
174
|
-
interface CreateRoutineDayInput {
|
|
175
|
-
dayOfWeek: number;
|
|
176
|
-
order?: number;
|
|
177
|
-
exercises: CreateRoutineExerciseInput[];
|
|
178
|
-
}
|
|
179
|
-
interface Routine {
|
|
180
|
-
id: string;
|
|
181
|
-
userId: string;
|
|
182
|
-
name: string;
|
|
183
|
-
description?: string | null;
|
|
184
|
-
isPeriodized: boolean;
|
|
185
|
-
isFavorite: boolean;
|
|
186
|
-
isCompleted: boolean;
|
|
187
|
-
days: RoutineDay[];
|
|
188
|
-
createdAt: IsoDateString;
|
|
189
|
-
updatedAt: IsoDateString;
|
|
190
|
-
}
|
|
191
|
-
interface CreateRoutineRequest {
|
|
192
|
-
name: string;
|
|
193
|
-
description?: string;
|
|
194
|
-
isPeriodized: boolean;
|
|
195
|
-
days: CreateRoutineDayInput[];
|
|
196
|
-
}
|
|
197
|
-
type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
|
|
198
|
-
|
|
199
27
|
interface SetLog {
|
|
200
28
|
id: string;
|
|
201
29
|
sessionId: string;
|
|
@@ -468,4 +296,222 @@ interface WorkoutAnalyticsStatus {
|
|
|
468
296
|
generationId: string | null;
|
|
469
297
|
}
|
|
470
298
|
|
|
471
|
-
|
|
299
|
+
declare const USERNAME_MIN_LENGTH = 3;
|
|
300
|
+
declare const USERNAME_MAX_LENGTH = 30;
|
|
301
|
+
declare const USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
|
|
302
|
+
declare const PROFILE_BIO_MAX_LENGTH = 500;
|
|
303
|
+
declare const PROFILE_LOCATION_MAX_LENGTH = 100;
|
|
304
|
+
declare const RESERVED_USERNAMES: readonly ["achievements", "admin", "api", "auth", "dashboard", "edit", "exercises", "help", "login", "logout", "me", "new", "notifications", "privacy", "profile", "profiles", "progress", "register", "routines", "schedule", "search", "settings", "signup", "sunnsteel", "sunsteel", "support", "system", "terms", "users", "workouts"];
|
|
305
|
+
declare const PROFILE_VISIBILITY_VALUES: readonly ["PUBLIC", "FOLLOWERS", "PRIVATE"];
|
|
306
|
+
type ProfileVisibility = (typeof PROFILE_VISIBILITY_VALUES)[number];
|
|
307
|
+
interface ProfilePrivacySettings {
|
|
308
|
+
biography: ProfileVisibility;
|
|
309
|
+
location: ProfileVisibility;
|
|
310
|
+
workoutHistory: ProfileVisibility;
|
|
311
|
+
records: ProfileVisibility;
|
|
312
|
+
routines: ProfileVisibility;
|
|
313
|
+
achievements: ProfileVisibility;
|
|
314
|
+
bodyMetrics: ProfileVisibility;
|
|
315
|
+
}
|
|
316
|
+
interface ProfileViewerAccess {
|
|
317
|
+
biography: boolean;
|
|
318
|
+
location: boolean;
|
|
319
|
+
workoutHistory: boolean;
|
|
320
|
+
records: boolean;
|
|
321
|
+
routines: boolean;
|
|
322
|
+
achievements: boolean;
|
|
323
|
+
bodyMetrics: boolean;
|
|
324
|
+
}
|
|
325
|
+
interface PublicTrainingSummary {
|
|
326
|
+
completedWorkouts: number;
|
|
327
|
+
totalVolumeKg: number;
|
|
328
|
+
currentStreakDays: number;
|
|
329
|
+
bestStreakDays: number;
|
|
330
|
+
}
|
|
331
|
+
interface PublicBodyMetrics {
|
|
332
|
+
age?: number | null;
|
|
333
|
+
sex?: Sex | null;
|
|
334
|
+
weightKg?: number | null;
|
|
335
|
+
heightCm?: number | null;
|
|
336
|
+
}
|
|
337
|
+
interface UserProfile {
|
|
338
|
+
timeZone?: string | null;
|
|
339
|
+
id: string;
|
|
340
|
+
email: string;
|
|
341
|
+
username: string;
|
|
342
|
+
name: string;
|
|
343
|
+
lastName?: string | null;
|
|
344
|
+
avatarUrl?: string | null;
|
|
345
|
+
bio?: string | null;
|
|
346
|
+
location?: string | null;
|
|
347
|
+
age?: number | null;
|
|
348
|
+
sex?: Sex | null;
|
|
349
|
+
weight?: number | null;
|
|
350
|
+
height?: number | null;
|
|
351
|
+
weightUnit: WeightUnit;
|
|
352
|
+
privacySettings: ProfilePrivacySettings;
|
|
353
|
+
followerCount: number;
|
|
354
|
+
followingCount: number;
|
|
355
|
+
createdAt: IsoDateString;
|
|
356
|
+
updatedAt: IsoDateString;
|
|
357
|
+
}
|
|
358
|
+
interface PublicUserProfile {
|
|
359
|
+
id: string;
|
|
360
|
+
username: string;
|
|
361
|
+
name: string;
|
|
362
|
+
lastName?: string | null;
|
|
363
|
+
avatarUrl?: string | null;
|
|
364
|
+
bio?: string | null;
|
|
365
|
+
location?: string | null;
|
|
366
|
+
createdAt: IsoDateString;
|
|
367
|
+
updatedAt: IsoDateString;
|
|
368
|
+
followerCount: number;
|
|
369
|
+
followingCount: number;
|
|
370
|
+
isFollowedByMe: boolean;
|
|
371
|
+
viewerAccess: ProfileViewerAccess;
|
|
372
|
+
trainingSummary?: PublicTrainingSummary;
|
|
373
|
+
personalRecords?: PersonalRecordEntry[];
|
|
374
|
+
bodyMetrics?: PublicBodyMetrics;
|
|
375
|
+
}
|
|
376
|
+
interface UpdateProfileRequest {
|
|
377
|
+
username?: string;
|
|
378
|
+
name?: string;
|
|
379
|
+
lastName?: string | null;
|
|
380
|
+
avatarUrl?: string | null;
|
|
381
|
+
bio?: string | null;
|
|
382
|
+
location?: string | null;
|
|
383
|
+
age?: number | null;
|
|
384
|
+
sex?: Sex | null;
|
|
385
|
+
weight?: number | null;
|
|
386
|
+
height?: number | null;
|
|
387
|
+
weightUnit?: WeightUnit;
|
|
388
|
+
}
|
|
389
|
+
type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location'>>;
|
|
390
|
+
interface PlatePairInventory {
|
|
391
|
+
weightKg: number;
|
|
392
|
+
pairCount: number;
|
|
393
|
+
}
|
|
394
|
+
interface TrainingLocationPreference {
|
|
395
|
+
id: string;
|
|
396
|
+
name: string;
|
|
397
|
+
isDefault: boolean;
|
|
398
|
+
barWeightKg: number;
|
|
399
|
+
availablePlatePairs: PlatePairInventory[];
|
|
400
|
+
equipment: string[];
|
|
401
|
+
createdAt: IsoDateString;
|
|
402
|
+
updatedAt: IsoDateString;
|
|
403
|
+
}
|
|
404
|
+
interface TrainingLocationPreferenceInput {
|
|
405
|
+
id?: string;
|
|
406
|
+
name: string;
|
|
407
|
+
isDefault: boolean;
|
|
408
|
+
barWeightKg: number;
|
|
409
|
+
availablePlatePairs: PlatePairInventory[];
|
|
410
|
+
equipment: string[];
|
|
411
|
+
}
|
|
412
|
+
interface ReplaceTrainingLocationsRequest {
|
|
413
|
+
locations: TrainingLocationPreferenceInput[];
|
|
414
|
+
}
|
|
415
|
+
interface UserSearchResponse {
|
|
416
|
+
id: string;
|
|
417
|
+
username: string;
|
|
418
|
+
name: string;
|
|
419
|
+
lastName?: string | null;
|
|
420
|
+
avatarUrl?: string | null;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
interface SupabaseAuthUser {
|
|
424
|
+
id: string;
|
|
425
|
+
email: string;
|
|
426
|
+
name: string;
|
|
427
|
+
supabaseUserId?: string | null;
|
|
428
|
+
weightUnit: WeightUnit;
|
|
429
|
+
createdAt?: IsoDateString;
|
|
430
|
+
updatedAt?: IsoDateString;
|
|
431
|
+
}
|
|
432
|
+
interface SupabaseAuthResponse {
|
|
433
|
+
user: SupabaseAuthUser;
|
|
434
|
+
message?: string;
|
|
435
|
+
requiresEmailVerification?: boolean;
|
|
436
|
+
}
|
|
437
|
+
interface SupabaseMigrationResponse {
|
|
438
|
+
message: string;
|
|
439
|
+
userId: string;
|
|
440
|
+
email: string;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
interface Exercise {
|
|
444
|
+
id: string;
|
|
445
|
+
name: string;
|
|
446
|
+
primaryMuscles: MuscleGroup[];
|
|
447
|
+
secondaryMuscles: MuscleGroup[];
|
|
448
|
+
equipment: string;
|
|
449
|
+
createdAt: IsoDateString;
|
|
450
|
+
updatedAt: IsoDateString;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
interface RoutineSet {
|
|
454
|
+
setNumber: number;
|
|
455
|
+
repType: RepType;
|
|
456
|
+
reps?: number | null;
|
|
457
|
+
minReps?: number | null;
|
|
458
|
+
maxReps?: number | null;
|
|
459
|
+
weight?: number | null;
|
|
460
|
+
rir?: number | null;
|
|
461
|
+
}
|
|
462
|
+
interface RoutineExercise {
|
|
463
|
+
id: string;
|
|
464
|
+
order: number;
|
|
465
|
+
restSeconds: number;
|
|
466
|
+
note?: string | null;
|
|
467
|
+
progressionScheme: ProgressionScheme;
|
|
468
|
+
minWeightIncrement: number;
|
|
469
|
+
exercise: {
|
|
470
|
+
id: string;
|
|
471
|
+
name: string;
|
|
472
|
+
primaryMuscles?: MuscleGroup[];
|
|
473
|
+
secondaryMuscles?: MuscleGroup[];
|
|
474
|
+
};
|
|
475
|
+
sets: RoutineSet[];
|
|
476
|
+
}
|
|
477
|
+
interface CreateRoutineExerciseInput {
|
|
478
|
+
exerciseId: string;
|
|
479
|
+
order?: number;
|
|
480
|
+
restSeconds: number;
|
|
481
|
+
note?: string;
|
|
482
|
+
progressionScheme: ProgressionScheme;
|
|
483
|
+
minWeightIncrement: number;
|
|
484
|
+
sets: RoutineSet[];
|
|
485
|
+
}
|
|
486
|
+
interface RoutineDay {
|
|
487
|
+
id: string;
|
|
488
|
+
dayOfWeek: number;
|
|
489
|
+
order: number;
|
|
490
|
+
exercises: RoutineExercise[];
|
|
491
|
+
}
|
|
492
|
+
interface CreateRoutineDayInput {
|
|
493
|
+
dayOfWeek: number;
|
|
494
|
+
order?: number;
|
|
495
|
+
exercises: CreateRoutineExerciseInput[];
|
|
496
|
+
}
|
|
497
|
+
interface Routine {
|
|
498
|
+
id: string;
|
|
499
|
+
userId: string;
|
|
500
|
+
name: string;
|
|
501
|
+
description?: string | null;
|
|
502
|
+
isPeriodized: boolean;
|
|
503
|
+
isFavorite: boolean;
|
|
504
|
+
isCompleted: boolean;
|
|
505
|
+
days: RoutineDay[];
|
|
506
|
+
createdAt: IsoDateString;
|
|
507
|
+
updatedAt: IsoDateString;
|
|
508
|
+
}
|
|
509
|
+
interface CreateRoutineRequest {
|
|
510
|
+
name: string;
|
|
511
|
+
description?: string;
|
|
512
|
+
isPeriodized: boolean;
|
|
513
|
+
days: CreateRoutineDayInput[];
|
|
514
|
+
}
|
|
515
|
+
type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
|
|
516
|
+
|
|
517
|
+
export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, PROFILE_BIO_MAX_LENGTH, PROFILE_LOCATION_MAX_LENGTH, PROFILE_VISIBILITY_VALUES, PROGRESSION_SCHEMES, type PaginatedResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlatePairInventory, type PreviousPerformanceResponse, type PreviousSessionRecap, type PreviousSetPerformance, type ProfilePrivacySettings, type ProfileViewerAccess, type ProfileVisibility, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionRecapRecord, type SetAccountTimeZoneRequest, type SetLog, type Sex, type StartWorkoutRequest, type StartWorkoutResponse, type SupabaseAuthResponse, type SupabaseAuthUser, type SupabaseMigrationResponse, TRAINING_EVENT_TYPES, type TrainingEventType, type TrainingLocationPreference, type TrainingLocationPreferenceInput, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpsertSetLogRequest, type UpsertSetLogResponse, type UserId, type UserProfile, type UserSearchResponse, WEIGHT_UNITS, WORKOUT_SESSION_STATUSES, type WeightUnit, type WorkoutAnalyticsStatus, type WorkoutProgressQuery, type WorkoutProgressResponse, type WorkoutSession, type WorkoutSessionId, type WorkoutSessionListResponse, type WorkoutSessionRecap, type WorkoutSessionSnapshotV1, type WorkoutSessionStatus, type WorkoutSessionSummary, type WorkoutStatsQuery, type WorkoutStatsResponse };
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,8 @@ var MUSCLE_GROUPS = [
|
|
|
36
36
|
var USERNAME_MIN_LENGTH = 3;
|
|
37
37
|
var USERNAME_MAX_LENGTH = 30;
|
|
38
38
|
var USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
|
|
39
|
+
var PROFILE_BIO_MAX_LENGTH = 500;
|
|
40
|
+
var PROFILE_LOCATION_MAX_LENGTH = 100;
|
|
39
41
|
var RESERVED_USERNAMES = [
|
|
40
42
|
"achievements",
|
|
41
43
|
"admin",
|
|
@@ -68,6 +70,11 @@ var RESERVED_USERNAMES = [
|
|
|
68
70
|
"users",
|
|
69
71
|
"workouts"
|
|
70
72
|
];
|
|
73
|
+
var PROFILE_VISIBILITY_VALUES = [
|
|
74
|
+
"PUBLIC",
|
|
75
|
+
"FOLLOWERS",
|
|
76
|
+
"PRIVATE"
|
|
77
|
+
];
|
|
71
78
|
|
|
72
79
|
// src/analytics.ts
|
|
73
80
|
var TRAINING_EVENT_TYPES = [
|
|
@@ -77,6 +84,9 @@ var TRAINING_EVENT_TYPES = [
|
|
|
77
84
|
];
|
|
78
85
|
export {
|
|
79
86
|
MUSCLE_GROUPS,
|
|
87
|
+
PROFILE_BIO_MAX_LENGTH,
|
|
88
|
+
PROFILE_LOCATION_MAX_LENGTH,
|
|
89
|
+
PROFILE_VISIBILITY_VALUES,
|
|
80
90
|
PROGRESSION_SCHEMES,
|
|
81
91
|
REP_TYPES,
|
|
82
92
|
RESERVED_USERNAMES,
|