@strong-together/shared 1.0.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/README.md +612 -0
- package/dist/index.d.mts +5904 -0
- package/dist/index.d.ts +5904 -0
- package/dist/index.js +666 -0
- package/dist/index.mjs +559 -0
- package/package.json +21 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,559 @@
|
|
|
1
|
+
// src/modules/aerobics/aerobics.schemas.ts
|
|
2
|
+
import z from "zod";
|
|
3
|
+
var addAerobicInput = z.object({
|
|
4
|
+
durationMins: z.number(),
|
|
5
|
+
durationSec: z.number(),
|
|
6
|
+
type: z.string()
|
|
7
|
+
});
|
|
8
|
+
var addAerobicsRequest = z.object({
|
|
9
|
+
body: z.object({
|
|
10
|
+
tz: z.string(),
|
|
11
|
+
record: addAerobicInput
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
var getAerobicsRequest = z.object({
|
|
15
|
+
query: z.object({
|
|
16
|
+
tz: z.string().optional()
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
var aerobicsDailyRecordSchema = z.object({
|
|
20
|
+
type: z.string(),
|
|
21
|
+
duration_sec: z.number(),
|
|
22
|
+
duration_mins: z.number()
|
|
23
|
+
});
|
|
24
|
+
var aerobicsWeeklyRecordSchema = aerobicsDailyRecordSchema.extend({
|
|
25
|
+
workout_time_utc: z.string()
|
|
26
|
+
});
|
|
27
|
+
var weeklyDataSchema = z.object({
|
|
28
|
+
records: z.array(aerobicsWeeklyRecordSchema),
|
|
29
|
+
total_duration_sec: z.number(),
|
|
30
|
+
total_duration_mins: z.number()
|
|
31
|
+
});
|
|
32
|
+
var userAerobicsResponseSchema = z.object({
|
|
33
|
+
daily: z.record(z.string(), z.array(aerobicsDailyRecordSchema)),
|
|
34
|
+
weekly: z.record(z.string(), weeklyDataSchema)
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
// src/modules/analytics/analytics.schemas.ts
|
|
38
|
+
import { z as z2 } from "zod";
|
|
39
|
+
var workoutRmRecordSchema = z2.object({
|
|
40
|
+
exercise: z2.string(),
|
|
41
|
+
pr_weight: z2.number().nullable(),
|
|
42
|
+
pr_reps: z2.number().nullable(),
|
|
43
|
+
max_1rm: z2.number()
|
|
44
|
+
});
|
|
45
|
+
var adherenceExerciseStatsSchema = z2.object({
|
|
46
|
+
planned: z2.number(),
|
|
47
|
+
actual: z2.number(),
|
|
48
|
+
adherence_pct: z2.number().nullable()
|
|
49
|
+
});
|
|
50
|
+
var getAnalyticsResponseSchema = z2.object({
|
|
51
|
+
_1RM: z2.record(z2.string(), workoutRmRecordSchema),
|
|
52
|
+
goals: z2.record(z2.string(), z2.record(z2.string(), adherenceExerciseStatsSchema))
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// src/modules/auth/password/password.schemas.ts
|
|
56
|
+
import { z as z3 } from "zod";
|
|
57
|
+
var sendChangePassEmailRequest = z3.object({
|
|
58
|
+
body: z3.object({ identifier: z3.string() })
|
|
59
|
+
});
|
|
60
|
+
var resetPasswordRequest = z3.object({
|
|
61
|
+
body: z3.object({
|
|
62
|
+
newPassword: z3.string().min(8, "Password must be at least 8 characters long")
|
|
63
|
+
}),
|
|
64
|
+
query: z3.object({
|
|
65
|
+
token: z3.string().optional()
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
var resetPasswordResponseSchema = z3.object({
|
|
69
|
+
ok: z3.boolean()
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// src/modules/auth/session/session.schemas.ts
|
|
73
|
+
import { z as z4 } from "zod";
|
|
74
|
+
var loginRequest = z4.object({
|
|
75
|
+
body: z4.object({
|
|
76
|
+
identifier: z4.string().min(3).refine(
|
|
77
|
+
(val) => {
|
|
78
|
+
const isEmail = z4.string().email().safeParse(val).success;
|
|
79
|
+
const isUsername = /^[a-zA-Z0-9_]{3,20}$/.test(val);
|
|
80
|
+
return isEmail || isUsername;
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
message: "Must be a valid email or username"
|
|
84
|
+
}
|
|
85
|
+
),
|
|
86
|
+
password: z4.string().min(1, "Username and password are required")
|
|
87
|
+
})
|
|
88
|
+
});
|
|
89
|
+
var loginResponseSchema = z4.object({
|
|
90
|
+
message: z4.string(),
|
|
91
|
+
user: z4.string(),
|
|
92
|
+
accessToken: z4.string(),
|
|
93
|
+
refreshToken: z4.string()
|
|
94
|
+
});
|
|
95
|
+
var logoutResponseSchema = z4.object({
|
|
96
|
+
message: z4.string()
|
|
97
|
+
});
|
|
98
|
+
var refreshTokenResponseSchema = z4.object({
|
|
99
|
+
message: z4.string(),
|
|
100
|
+
accessToken: z4.string(),
|
|
101
|
+
refreshToken: z4.string(),
|
|
102
|
+
userId: z4.string()
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// src/modules/auth/verification/verification.schemas.ts
|
|
106
|
+
import z5 from "zod";
|
|
107
|
+
var verifyAccountRequest = z5.object({
|
|
108
|
+
query: z5.object({
|
|
109
|
+
token: z5.string().optional()
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
var sendVerificationMailRequest = z5.object({
|
|
113
|
+
body: z5.object({ email: z5.string().trim().email("Invalid email") })
|
|
114
|
+
});
|
|
115
|
+
var changeEmailAndVerifyRequest = z5.object({
|
|
116
|
+
body: z5.object({ username: z5.string(), password: z5.string(), newEmail: z5.string().trim().email("Invalid email") })
|
|
117
|
+
});
|
|
118
|
+
var checkUserVerifyRequest = z5.object({
|
|
119
|
+
query: z5.object({ username: z5.string() })
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
// src/modules/bootstrap/bootstrap.schemas.ts
|
|
123
|
+
import { z as z10 } from "zod";
|
|
124
|
+
|
|
125
|
+
// src/modules/messages/messages.schemas.ts
|
|
126
|
+
import { z as z6 } from "zod";
|
|
127
|
+
var getAllMessagesRequest = z6.object({
|
|
128
|
+
query: z6.object({
|
|
129
|
+
tz: z6.string()
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
var allUserMessageSchema = z6.object({
|
|
133
|
+
id: z6.string(),
|
|
134
|
+
subject: z6.string(),
|
|
135
|
+
msg: z6.string(),
|
|
136
|
+
sent_at: z6.string(),
|
|
137
|
+
is_read: z6.boolean(),
|
|
138
|
+
sender_full_name: z6.string(),
|
|
139
|
+
sender_profile_image_url: z6.string().nullable()
|
|
140
|
+
});
|
|
141
|
+
var getAllUserMessagesResponseSchema = z6.object({
|
|
142
|
+
messages: z6.array(allUserMessageSchema)
|
|
143
|
+
});
|
|
144
|
+
var markMessageAsReadRequest = z6.object({
|
|
145
|
+
params: z6.object({
|
|
146
|
+
id: z6.string()
|
|
147
|
+
// MSG ID
|
|
148
|
+
})
|
|
149
|
+
});
|
|
150
|
+
var messageAsReadSchema = z6.object({
|
|
151
|
+
id: z6.string(),
|
|
152
|
+
is_read: z6.boolean()
|
|
153
|
+
});
|
|
154
|
+
var markMessageAsReadResponseSchema = messageAsReadSchema;
|
|
155
|
+
var deleteMessageRequest = z6.object({
|
|
156
|
+
params: z6.object({
|
|
157
|
+
id: z6.string()
|
|
158
|
+
// MSG ID
|
|
159
|
+
})
|
|
160
|
+
});
|
|
161
|
+
var deletedMessageSchema = z6.object({
|
|
162
|
+
id: z6.string()
|
|
163
|
+
});
|
|
164
|
+
var deleteMessageResponseSchema = deletedMessageSchema;
|
|
165
|
+
|
|
166
|
+
// src/modules/user/update/update.schemas.ts
|
|
167
|
+
import { z as z7 } from "zod";
|
|
168
|
+
var updateUserRequest = z7.object({
|
|
169
|
+
body: z7.object({
|
|
170
|
+
username: z7.string().trim().min(3, "Username must be at least 3 characters").max(15, "Username must be at most 15 characters").regex(/^[a-zA-Z0-9_]+$/, "Username may contain letters, numbers, and underscore only"),
|
|
171
|
+
fullName: z7.string().trim().min(1, "Full name is required").max(20, "Full name is too long").regex(/^[a-zA-Z\s]+$/, "Full name may contain letters and spaces only"),
|
|
172
|
+
email: z7.string().trim().toLowerCase().email("Invalid email format")
|
|
173
|
+
}).partial()
|
|
174
|
+
});
|
|
175
|
+
var deleteProfilePicRequest = z7.object({
|
|
176
|
+
body: z7.object({
|
|
177
|
+
path: z7.string()
|
|
178
|
+
})
|
|
179
|
+
});
|
|
180
|
+
var userDataSchema = z7.object({
|
|
181
|
+
id: z7.string(),
|
|
182
|
+
username: z7.string(),
|
|
183
|
+
email: z7.string().nullable(),
|
|
184
|
+
name: z7.string(),
|
|
185
|
+
gender: z7.string(),
|
|
186
|
+
created_at: z7.string(),
|
|
187
|
+
profile_image_url: z7.string().nullable(),
|
|
188
|
+
push_token: z7.string().nullable(),
|
|
189
|
+
role: z7.string(),
|
|
190
|
+
is_first_login: z7.boolean(),
|
|
191
|
+
token_version: z7.number(),
|
|
192
|
+
is_verified: z7.boolean(),
|
|
193
|
+
auth_provider: z7.string()
|
|
194
|
+
});
|
|
195
|
+
var userDataResponseSchema = z7.object({
|
|
196
|
+
user_data: userDataSchema
|
|
197
|
+
});
|
|
198
|
+
var getAuthenticatedUserByIdResponseSchema = userDataSchema;
|
|
199
|
+
var updateAuthenticatedUserResponseSchema = z7.object({
|
|
200
|
+
message: z7.string(),
|
|
201
|
+
emailChanged: z7.boolean(),
|
|
202
|
+
user: userDataSchema
|
|
203
|
+
});
|
|
204
|
+
var setProfilePicAndUpdateDBResponseSchema = z7.object({
|
|
205
|
+
path: z7.string(),
|
|
206
|
+
url: z7.string(),
|
|
207
|
+
message: z7.string()
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
// src/modules/workout/plan/plan.schemas.ts
|
|
211
|
+
import { z as z8 } from "zod";
|
|
212
|
+
var workoutExerciseSchema = z8.object({
|
|
213
|
+
id: z8.number(),
|
|
214
|
+
sets: z8.array(z8.number()),
|
|
215
|
+
order_index: z8.number()
|
|
216
|
+
});
|
|
217
|
+
var exerciseInPlanSchema = z8.object({
|
|
218
|
+
id: z8.number(),
|
|
219
|
+
sets: z8.array(z8.number()),
|
|
220
|
+
is_active: z8.boolean(),
|
|
221
|
+
targetmuscle: z8.string(),
|
|
222
|
+
specifictargetmuscle: z8.string(),
|
|
223
|
+
exercise: z8.string(),
|
|
224
|
+
workoutsplit: z8.string()
|
|
225
|
+
});
|
|
226
|
+
var workoutSplitSchema = z8.object({
|
|
227
|
+
id: z8.number(),
|
|
228
|
+
workout_id: z8.number(),
|
|
229
|
+
name: z8.string(),
|
|
230
|
+
created_at: z8.string(),
|
|
231
|
+
muscle_group: z8.string().nullable(),
|
|
232
|
+
is_active: z8.boolean(),
|
|
233
|
+
exercisetoworkoutsplit: z8.array(exerciseInPlanSchema)
|
|
234
|
+
});
|
|
235
|
+
var wholeUserWorkoutPlanSchema = z8.object({
|
|
236
|
+
id: z8.number(),
|
|
237
|
+
name: z8.string(),
|
|
238
|
+
numberofsplits: z8.number(),
|
|
239
|
+
created_at: z8.string(),
|
|
240
|
+
is_deleted: z8.boolean(),
|
|
241
|
+
level: z8.string(),
|
|
242
|
+
user_id: z8.string(),
|
|
243
|
+
trainer_id: z8.string(),
|
|
244
|
+
is_active: z8.boolean(),
|
|
245
|
+
updated_at: z8.string(),
|
|
246
|
+
workoutsplits: z8.array(workoutSplitSchema).nullable()
|
|
247
|
+
});
|
|
248
|
+
var workoutSplitsMapItemSchema = z8.object({
|
|
249
|
+
id: z8.number(),
|
|
250
|
+
name: z8.string(),
|
|
251
|
+
sets: z8.array(z8.number()),
|
|
252
|
+
order_index: z8.number(),
|
|
253
|
+
targetmuscle: z8.string(),
|
|
254
|
+
specifictargetmuscle: z8.string()
|
|
255
|
+
});
|
|
256
|
+
var workoutSplitsMapSchema = z8.record(z8.string(), z8.array(workoutSplitsMapItemSchema));
|
|
257
|
+
var addWorkoutSplitPayloadSchema = z8.record(
|
|
258
|
+
z8.string(),
|
|
259
|
+
z8.array(workoutExerciseSchema).min(1, "Each split must include at least one exercise")
|
|
260
|
+
);
|
|
261
|
+
var addWorkoutRequest = z8.object({
|
|
262
|
+
body: z8.object({
|
|
263
|
+
workoutData: addWorkoutSplitPayloadSchema,
|
|
264
|
+
workoutName: z8.string().optional(),
|
|
265
|
+
tz: z8.string()
|
|
266
|
+
})
|
|
267
|
+
});
|
|
268
|
+
var addWorkoutResponseSchema = z8.object({
|
|
269
|
+
message: z8.string(),
|
|
270
|
+
workoutPlan: wholeUserWorkoutPlanSchema,
|
|
271
|
+
workoutPlanForEditWorkout: workoutSplitsMapSchema
|
|
272
|
+
});
|
|
273
|
+
var getWholeWorkoutPlanRequest = z8.object({
|
|
274
|
+
query: z8.object({
|
|
275
|
+
tz: z8.string().optional()
|
|
276
|
+
})
|
|
277
|
+
});
|
|
278
|
+
var getWholeUserWorkoutPlanResponseSchema = z8.object({
|
|
279
|
+
workoutPlan: wholeUserWorkoutPlanSchema.nullable(),
|
|
280
|
+
workoutPlanForEditWorkout: workoutSplitsMapSchema.nullable()
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
// src/modules/workout/tracking/tracking.schemas.ts
|
|
284
|
+
import { z as z9 } from "zod";
|
|
285
|
+
var finishedExerciseEntry = z9.object({
|
|
286
|
+
exercisetosplit_id: z9.number(),
|
|
287
|
+
weight: z9.array(z9.number()),
|
|
288
|
+
reps: z9.array(z9.number()),
|
|
289
|
+
notes: z9.string().optional().nullable()
|
|
290
|
+
});
|
|
291
|
+
var exerciseMetadataSchema = z9.object({
|
|
292
|
+
targetmuscle: z9.string(),
|
|
293
|
+
specifictargetmuscle: z9.string()
|
|
294
|
+
});
|
|
295
|
+
var exerciseTrackingPrMaxSchema = z9.object({
|
|
296
|
+
exercise: z9.string(),
|
|
297
|
+
weight: z9.number(),
|
|
298
|
+
reps: z9.number(),
|
|
299
|
+
workout_time_utc: z9.string()
|
|
300
|
+
});
|
|
301
|
+
var exerciseTrackingAnalysisSchema = z9.object({
|
|
302
|
+
unique_days: z9.number(),
|
|
303
|
+
most_frequent_split: z9.string().nullable(),
|
|
304
|
+
most_frequent_split_days: z9.number().nullable(),
|
|
305
|
+
lastWorkoutDate: z9.string().nullable(),
|
|
306
|
+
splitDaysByName: z9.record(z9.string(), z9.number()),
|
|
307
|
+
prs: z9.object({
|
|
308
|
+
pr_max: exerciseTrackingPrMaxSchema.nullable()
|
|
309
|
+
})
|
|
310
|
+
});
|
|
311
|
+
var trackingMapItemSchema = z9.object({
|
|
312
|
+
id: z9.number(),
|
|
313
|
+
exercisetosplit_id: z9.number(),
|
|
314
|
+
weight: z9.array(z9.number()),
|
|
315
|
+
reps: z9.array(z9.number()),
|
|
316
|
+
notes: z9.string().nullable(),
|
|
317
|
+
exercise_id: z9.number(),
|
|
318
|
+
workoutsplit_id: z9.number(),
|
|
319
|
+
splitname: z9.string(),
|
|
320
|
+
exercise: z9.string(),
|
|
321
|
+
workoutdate: z9.string(),
|
|
322
|
+
order_index: z9.number(),
|
|
323
|
+
exercisetoworkoutsplit: z9.object({
|
|
324
|
+
sets: z9.array(z9.number()),
|
|
325
|
+
exercises: exerciseMetadataSchema
|
|
326
|
+
})
|
|
327
|
+
});
|
|
328
|
+
var trackingByDateItemSchema = trackingMapItemSchema.omit({ workoutdate: true });
|
|
329
|
+
var trackingBySplitNameItemSchema = trackingMapItemSchema.omit({ splitname: true });
|
|
330
|
+
var exerciseTrackingAndStatsSchema = z9.object({
|
|
331
|
+
exerciseTrackingAnalysis: exerciseTrackingAnalysisSchema,
|
|
332
|
+
exerciseTrackingMaps: z9.object({
|
|
333
|
+
byDate: z9.record(z9.string(), z9.array(trackingByDateItemSchema)),
|
|
334
|
+
byETSId: z9.record(z9.string(), z9.array(trackingMapItemSchema)),
|
|
335
|
+
bySplitName: z9.record(z9.string(), z9.array(trackingBySplitNameItemSchema))
|
|
336
|
+
})
|
|
337
|
+
});
|
|
338
|
+
var finishWorkoutRequest = z9.object({
|
|
339
|
+
body: z9.object({
|
|
340
|
+
workout: z9.array(finishedExerciseEntry),
|
|
341
|
+
tz: z9.string().optional(),
|
|
342
|
+
workout_start_utc: z9.string().datetime("workout_start_utc must be a valid ISO datetime"),
|
|
343
|
+
workout_end_utc: z9.string().datetime("workout_end_utc must be a valid ISO datetime").optional().nullable()
|
|
344
|
+
})
|
|
345
|
+
});
|
|
346
|
+
var finishUserWorkoutResponseSchema = exerciseTrackingAndStatsSchema;
|
|
347
|
+
var getExerciseTrackingRequest = z9.object({
|
|
348
|
+
query: z9.object({
|
|
349
|
+
tz: z9.string().optional()
|
|
350
|
+
})
|
|
351
|
+
});
|
|
352
|
+
var getExerciseTrackingResponseSchema = exerciseTrackingAndStatsSchema;
|
|
353
|
+
|
|
354
|
+
// src/modules/bootstrap/bootstrap.schemas.ts
|
|
355
|
+
var bootstrapRequest = z10.object({
|
|
356
|
+
query: z10.object({
|
|
357
|
+
tz: z10.string().optional()
|
|
358
|
+
})
|
|
359
|
+
});
|
|
360
|
+
var bootstrapResponseSchema = z10.object({
|
|
361
|
+
user: userDataSchema,
|
|
362
|
+
workout: getWholeUserWorkoutPlanResponseSchema,
|
|
363
|
+
tracking: exerciseTrackingAndStatsSchema,
|
|
364
|
+
messages: getAllUserMessagesResponseSchema,
|
|
365
|
+
aerobics: userAerobicsResponseSchema
|
|
366
|
+
});
|
|
367
|
+
|
|
368
|
+
// src/modules/exercises/exercises.schemas.ts
|
|
369
|
+
import { z as z11 } from "zod";
|
|
370
|
+
var getAllExercisesResponseSchema = z11.record(
|
|
371
|
+
z11.string(),
|
|
372
|
+
z11.array(
|
|
373
|
+
z11.object({
|
|
374
|
+
id: z11.number(),
|
|
375
|
+
name: z11.string(),
|
|
376
|
+
specificTargetMuscle: z11.string()
|
|
377
|
+
})
|
|
378
|
+
)
|
|
379
|
+
);
|
|
380
|
+
|
|
381
|
+
// src/modules/oauth/apple/apple.schemas.ts
|
|
382
|
+
import { z as z12 } from "zod";
|
|
383
|
+
var appleNameInput = z12.object({
|
|
384
|
+
givenName: z12.string().nullable(),
|
|
385
|
+
familyName: z12.string().nullable()
|
|
386
|
+
});
|
|
387
|
+
var appleOAuthRequest = z12.object({
|
|
388
|
+
body: z12.object({
|
|
389
|
+
idToken: z12.string({
|
|
390
|
+
required_error: "Missing or invalid Apple identityToken",
|
|
391
|
+
invalid_type_error: "Missing or invalid Apple identityToken"
|
|
392
|
+
}),
|
|
393
|
+
rawNonce: z12.string(),
|
|
394
|
+
name: appleNameInput.optional(),
|
|
395
|
+
email: z12.string().email().nullable()
|
|
396
|
+
})
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
// src/modules/oauth/google/google.schemas.ts
|
|
400
|
+
import { z as z13 } from "zod";
|
|
401
|
+
var googleOAuthRequest = z13.object({
|
|
402
|
+
body: z13.object({
|
|
403
|
+
idToken: z13.string().optional()
|
|
404
|
+
})
|
|
405
|
+
});
|
|
406
|
+
|
|
407
|
+
// src/modules/oauth/oauth.schemas.ts
|
|
408
|
+
import { z as z14 } from "zod";
|
|
409
|
+
var oAuthLoginResponseSchema = z14.object({
|
|
410
|
+
message: z14.string(),
|
|
411
|
+
user: z14.string(),
|
|
412
|
+
accessToken: z14.string(),
|
|
413
|
+
refreshToken: z14.string().nullable(),
|
|
414
|
+
missingFields: z14.array(z14.string()).nullable()
|
|
415
|
+
});
|
|
416
|
+
var proceedLoginResponseSchema = loginResponseSchema;
|
|
417
|
+
|
|
418
|
+
// src/modules/user/create/create.schemas.ts
|
|
419
|
+
import { z as z15 } from "zod";
|
|
420
|
+
var createUserRequest = z15.object({
|
|
421
|
+
body: z15.object({
|
|
422
|
+
username: z15.string().trim().min(3, "Username must be at least 3 characters").max(15, "Username must be at most 15 characters").regex(/^[a-zA-Z0-9_]+$/, "Username may contain letters, numbers, and underscore only"),
|
|
423
|
+
fullName: z15.preprocess(
|
|
424
|
+
// Map "", null, undefined -> "User"
|
|
425
|
+
(val) => {
|
|
426
|
+
if (val == null) return "User";
|
|
427
|
+
if (typeof val === "string" && val.trim() === "") return "User";
|
|
428
|
+
return val;
|
|
429
|
+
},
|
|
430
|
+
z15.string().trim().max(20, "Full name is too long").regex(/^[a-zA-Z\s]+$/, "Full name may contain letters and spaces only")
|
|
431
|
+
),
|
|
432
|
+
email: z15.string().trim().toLowerCase().email("Invalid email format"),
|
|
433
|
+
password: z15.string().min(8, "Password must be at least 8 characters long"),
|
|
434
|
+
gender: z15.preprocess(
|
|
435
|
+
(val) => val === "" || val == null ? "Unknown" : val,
|
|
436
|
+
z15.enum(["Male", "Female", "Other", "Unknown"])
|
|
437
|
+
)
|
|
438
|
+
})
|
|
439
|
+
});
|
|
440
|
+
var createUserUserSchema = z15.object({
|
|
441
|
+
id: z15.string(),
|
|
442
|
+
username: z15.string(),
|
|
443
|
+
name: z15.string(),
|
|
444
|
+
email: z15.string().nullable(),
|
|
445
|
+
gender: z15.string(),
|
|
446
|
+
role: z15.string(),
|
|
447
|
+
created_at: z15.string()
|
|
448
|
+
});
|
|
449
|
+
var createUserResponseSchema = z15.object({
|
|
450
|
+
message: z15.string(),
|
|
451
|
+
user: createUserUserSchema
|
|
452
|
+
});
|
|
453
|
+
|
|
454
|
+
// src/modules/user/push-tokens/push-tokens.schemas.ts
|
|
455
|
+
import { z as z16 } from "zod";
|
|
456
|
+
var saveUserPushTokenRequest = z16.object({
|
|
457
|
+
body: z16.object({
|
|
458
|
+
token: z16.string()
|
|
459
|
+
})
|
|
460
|
+
});
|
|
461
|
+
|
|
462
|
+
// src/modules/video-analysis/video-analysis.schemas.ts
|
|
463
|
+
import { z as z17 } from "zod";
|
|
464
|
+
var getPresignedUrlS3Request = z17.object({
|
|
465
|
+
body: z17.object({
|
|
466
|
+
exercise: z17.string(),
|
|
467
|
+
fileType: z17.string(),
|
|
468
|
+
jobId: z17.string()
|
|
469
|
+
})
|
|
470
|
+
});
|
|
471
|
+
var getPresignedUrlFromS3ResponseSchema = z17.object({
|
|
472
|
+
uploadUrl: z17.string(),
|
|
473
|
+
fileKey: z17.string(),
|
|
474
|
+
requestId: z17.string()
|
|
475
|
+
});
|
|
476
|
+
|
|
477
|
+
// src/modules/web-sockets/web-sockets.schemas.ts
|
|
478
|
+
import { z as z18 } from "zod";
|
|
479
|
+
var generateTicketRequest = z18.object({
|
|
480
|
+
body: z18.object({
|
|
481
|
+
username: z18.string()
|
|
482
|
+
})
|
|
483
|
+
});
|
|
484
|
+
var generateTicketResponseSchema = z18.object({
|
|
485
|
+
ticket: z18.string()
|
|
486
|
+
});
|
|
487
|
+
export {
|
|
488
|
+
addAerobicsRequest,
|
|
489
|
+
addWorkoutRequest,
|
|
490
|
+
addWorkoutResponseSchema,
|
|
491
|
+
adherenceExerciseStatsSchema,
|
|
492
|
+
aerobicsDailyRecordSchema,
|
|
493
|
+
aerobicsWeeklyRecordSchema,
|
|
494
|
+
allUserMessageSchema,
|
|
495
|
+
appleOAuthRequest,
|
|
496
|
+
bootstrapRequest,
|
|
497
|
+
bootstrapResponseSchema,
|
|
498
|
+
changeEmailAndVerifyRequest,
|
|
499
|
+
checkUserVerifyRequest,
|
|
500
|
+
createUserRequest,
|
|
501
|
+
createUserResponseSchema,
|
|
502
|
+
createUserUserSchema,
|
|
503
|
+
deleteMessageRequest,
|
|
504
|
+
deleteMessageResponseSchema,
|
|
505
|
+
deleteProfilePicRequest,
|
|
506
|
+
deletedMessageSchema,
|
|
507
|
+
exerciseInPlanSchema,
|
|
508
|
+
exerciseMetadataSchema,
|
|
509
|
+
exerciseTrackingAnalysisSchema,
|
|
510
|
+
exerciseTrackingAndStatsSchema,
|
|
511
|
+
exerciseTrackingPrMaxSchema,
|
|
512
|
+
finishUserWorkoutResponseSchema,
|
|
513
|
+
finishWorkoutRequest,
|
|
514
|
+
generateTicketRequest,
|
|
515
|
+
generateTicketResponseSchema,
|
|
516
|
+
getAerobicsRequest,
|
|
517
|
+
getAllExercisesResponseSchema,
|
|
518
|
+
getAllMessagesRequest,
|
|
519
|
+
getAllUserMessagesResponseSchema,
|
|
520
|
+
getAnalyticsResponseSchema,
|
|
521
|
+
getAuthenticatedUserByIdResponseSchema,
|
|
522
|
+
getExerciseTrackingRequest,
|
|
523
|
+
getExerciseTrackingResponseSchema,
|
|
524
|
+
getPresignedUrlFromS3ResponseSchema,
|
|
525
|
+
getPresignedUrlS3Request,
|
|
526
|
+
getWholeUserWorkoutPlanResponseSchema,
|
|
527
|
+
getWholeWorkoutPlanRequest,
|
|
528
|
+
googleOAuthRequest,
|
|
529
|
+
loginRequest,
|
|
530
|
+
loginResponseSchema,
|
|
531
|
+
logoutResponseSchema,
|
|
532
|
+
markMessageAsReadRequest,
|
|
533
|
+
markMessageAsReadResponseSchema,
|
|
534
|
+
messageAsReadSchema,
|
|
535
|
+
oAuthLoginResponseSchema,
|
|
536
|
+
proceedLoginResponseSchema,
|
|
537
|
+
refreshTokenResponseSchema,
|
|
538
|
+
resetPasswordRequest,
|
|
539
|
+
resetPasswordResponseSchema,
|
|
540
|
+
saveUserPushTokenRequest,
|
|
541
|
+
sendChangePassEmailRequest,
|
|
542
|
+
sendVerificationMailRequest,
|
|
543
|
+
setProfilePicAndUpdateDBResponseSchema,
|
|
544
|
+
trackingByDateItemSchema,
|
|
545
|
+
trackingBySplitNameItemSchema,
|
|
546
|
+
trackingMapItemSchema,
|
|
547
|
+
updateAuthenticatedUserResponseSchema,
|
|
548
|
+
updateUserRequest,
|
|
549
|
+
userAerobicsResponseSchema,
|
|
550
|
+
userDataResponseSchema,
|
|
551
|
+
userDataSchema,
|
|
552
|
+
verifyAccountRequest,
|
|
553
|
+
weeklyDataSchema,
|
|
554
|
+
wholeUserWorkoutPlanSchema,
|
|
555
|
+
workoutRmRecordSchema,
|
|
556
|
+
workoutSplitSchema,
|
|
557
|
+
workoutSplitsMapItemSchema,
|
|
558
|
+
workoutSplitsMapSchema
|
|
559
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@strong-together/shared",
|
|
3
|
+
"version": "1.0.5",
|
|
4
|
+
"main": "./dist/index.js",
|
|
5
|
+
"module": "./dist/index.mjs",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "tsup src/index.ts --format cjs,esm --dts --clean",
|
|
12
|
+
"dev": "tsup src/index.ts --format cjs,esm --watch --dts"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"tsup": "^8.0.0",
|
|
16
|
+
"typescript": "^5.0.0"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"zod": "^3.25.76"
|
|
20
|
+
}
|
|
21
|
+
}
|