@strong-together/shared 2.5.0 → 2.7.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 CHANGED
@@ -28,7 +28,6 @@ __export(index_exports, {
28
28
  addWorkoutContract: () => addWorkoutContract,
29
29
  addWorkoutRequestSchema: () => addWorkoutRequestSchema,
30
30
  addWorkoutResponseSchema: () => addWorkoutResponseSchema,
31
- addWorkoutSplitPayloadQueryDtoSchema: () => addWorkoutSplitPayloadQueryDtoSchema,
32
31
  adherenceExerciseStatsQueryDtoSchema: () => adherenceExerciseStatsQueryDtoSchema,
33
32
  aerobicTrackingDbSchema: () => aerobicTrackingDbSchema,
34
33
  aerobicsDailyRecordQueryDtoSchema: () => aerobicsDailyRecordQueryDtoSchema,
@@ -148,6 +147,8 @@ __export(index_exports, {
148
147
  resetPasswordResponseSchema: () => resetPasswordResponseSchema,
149
148
  saveUserPushTokenContract: () => saveUserPushTokenContract,
150
149
  saveUserPushTokenRequestSchema: () => saveUserPushTokenRequestSchema,
150
+ saveWorkoutSplitInputQueryDtoSchema: () => saveWorkoutSplitInputQueryDtoSchema,
151
+ saveWorkoutSplitPayloadQueryDtoSchema: () => saveWorkoutSplitPayloadQueryDtoSchema,
151
152
  sendChangePassEmailContract: () => sendChangePassEmailContract,
152
153
  sendChangePassEmailRequestSchema: () => sendChangePassEmailRequestSchema,
153
154
  sendVerificationMailContract: () => sendVerificationMailContract,
@@ -194,7 +195,6 @@ __export(index_exports, {
194
195
  weeklyDataQueryDtoSchema: () => weeklyDataQueryDtoSchema,
195
196
  wholeUserWorkoutPlanQueryDtoSchema: () => wholeUserWorkoutPlanQueryDtoSchema,
196
197
  workoutExerciseInputQueryDtoSchema: () => workoutExerciseInputQueryDtoSchema,
197
- workoutExerciseMetadataQueryDtoSchema: () => workoutExerciseMetadataQueryDtoSchema,
198
198
  workoutPlanDbSchema: () => workoutPlanDbSchema,
199
199
  workoutPlanIdQueryDtoSchema: () => workoutPlanIdQueryDtoSchema,
200
200
  workoutRmRecordQueryDtoSchema: () => workoutRmRecordQueryDtoSchema,
@@ -205,9 +205,6 @@ __export(index_exports, {
205
205
  workoutSplitIdQueryDtoSchema: () => workoutSplitIdQueryDtoSchema,
206
206
  workoutSplitLookupQueryDtoSchema: () => workoutSplitLookupQueryDtoSchema,
207
207
  workoutSplitQueryDtoSchema: () => workoutSplitQueryDtoSchema,
208
- workoutSplitsMapItemQueryDtoSchema: () => workoutSplitsMapItemQueryDtoSchema,
209
- workoutSplitsMapQueryDtoSchema: () => workoutSplitsMapQueryDtoSchema,
210
- workoutSplitsRowQueryDtoSchema: () => workoutSplitsRowQueryDtoSchema,
211
208
  workoutSummaryDbSchema: () => workoutSummaryDbSchema,
212
209
  workoutSummaryIdQueryDtoSchema: () => workoutSummaryIdQueryDtoSchema
213
210
  });
@@ -1124,9 +1121,10 @@ var workoutSplit = workoutSchema.table("workout_split", {
1124
1121
  mode: "number"
1125
1122
  }).notNull(),
1126
1123
  name: (0, import_pg_core23.text)("name").notNull(),
1124
+ orderIndex: (0, import_pg_core23.integer)("order_index").notNull(),
1127
1125
  createdAt: (0, import_pg_core23.timestamp)("created_at", {
1128
1126
  withTimezone: true
1129
- }).default(import_drizzle_orm20.sql`(now() AT TIME ZONE 'utc')`).notNull(),
1127
+ }).default(import_drizzle_orm20.sql`(NOW() AT TIME ZONE 'utc')`).notNull(),
1130
1128
  isActive: (0, import_pg_core23.boolean)("is_active").default(true).notNull()
1131
1129
  }, (t) => [
1132
1130
  (0, import_pg_core23.primaryKey)({
@@ -1135,7 +1133,7 @@ var workoutSplit = workoutSchema.table("workout_split", {
1135
1133
  t.id
1136
1134
  ]
1137
1135
  }),
1138
- (0, import_pg_core23.unique)("uq_workout_split_plan_name").on(t.workoutId, t.name),
1136
+ (0, import_pg_core23.uniqueIndex)("uq_active_workout_split_order_index").on(t.workoutId, t.orderIndex).where(import_drizzle_orm20.sql`${t.isActive} = TRUE`),
1139
1137
  (0, import_pg_core23.foreignKey)({
1140
1138
  name: "workout_split_workout_id_fkey",
1141
1139
  columns: [
@@ -2093,28 +2091,38 @@ var import_v417 = require("zod/v4");
2093
2091
  // src/modules/workout/plan/plan.dtos.ts
2094
2092
  var import_v416 = require("zod/v4");
2095
2093
  var workoutExerciseInputQueryDtoSchema = import_v416.z.object({
2096
- id: exerciseDbSchema.shape.id,
2094
+ exerciseId: exerciseDbSchema.shape.id,
2097
2095
  sets: import_v416.z.array(workoutSetDbSchema.shape.reps),
2098
2096
  orderIndex: exerciseToWorkoutSplitDbSchema.shape.orderIndex
2099
2097
  });
2100
- var addWorkoutSplitPayloadQueryDtoSchema = import_v416.z.record(import_v416.z.string(), import_v416.z.array(workoutExerciseInputQueryDtoSchema).min(1, "Each split must include at least one exercise"));
2098
+ var workoutSplitInputBaseQueryDtoSchema = import_v416.z.object({
2099
+ name: workoutSplitDbSchema.shape.name.min(1, "Split name is required"),
2100
+ orderIndex: import_v416.z.number().int().nonnegative(),
2101
+ exercises: import_v416.z.array(workoutExerciseInputQueryDtoSchema).min(1, "Each split must include at least one exercise")
2102
+ });
2103
+ var saveWorkoutSplitInputQueryDtoSchema = workoutSplitInputBaseQueryDtoSchema.extend({
2104
+ id: workoutSplitDbSchema.shape.id.optional()
2105
+ });
2106
+ var saveWorkoutSplitPayloadQueryDtoSchema = import_v416.z.array(saveWorkoutSplitInputQueryDtoSchema).min(1, "Workout must include at least one split");
2101
2107
  var exerciseInPlanQueryDtoSchema = import_v416.z.object({
2102
- id: exerciseToWorkoutSplitDbSchema.shape.id,
2108
+ exerciseToSplitId: exerciseToWorkoutSplitDbSchema.shape.id,
2109
+ exerciseId: exerciseDbSchema.shape.id,
2110
+ name: exerciseDbSchema.shape.name,
2103
2111
  sets: import_v416.z.array(workoutSetDbSchema.shape.reps),
2112
+ orderIndex: exerciseToWorkoutSplitDbSchema.shape.orderIndex,
2104
2113
  isActive: exerciseToWorkoutSplitDbSchema.shape.isActive,
2105
2114
  targetMuscle: exerciseDbSchema.shape.targetMuscle,
2106
- specificTargetMuscle: exerciseDbSchema.shape.specificTargetMuscle,
2107
- exercise: exerciseDbSchema.shape.name,
2108
- workoutSplit: workoutSplitDbSchema.shape.name
2115
+ specificTargetMuscle: exerciseDbSchema.shape.specificTargetMuscle
2109
2116
  });
2110
2117
  var workoutSplitQueryDtoSchema = import_v416.z.object({
2111
2118
  id: workoutSplitDbSchema.shape.id,
2112
2119
  workoutId: workoutSplitDbSchema.shape.workoutId,
2113
2120
  name: workoutSplitDbSchema.shape.name,
2121
+ orderIndex: workoutSplitDbSchema.shape.orderIndex,
2114
2122
  createdAt: serializedDateSchema,
2115
2123
  muscleGroup: import_v416.z.string().nullable(),
2116
2124
  isActive: workoutSplitDbSchema.shape.isActive,
2117
- exerciseToWorkoutSplit: import_v416.z.array(exerciseInPlanQueryDtoSchema)
2125
+ exercises: import_v416.z.array(exerciseInPlanQueryDtoSchema)
2118
2126
  });
2119
2127
  var wholeUserWorkoutPlanQueryDtoSchema = import_v416.z.object({
2120
2128
  id: workoutPlanDbSchema.shape.id,
@@ -2125,22 +2133,6 @@ var wholeUserWorkoutPlanQueryDtoSchema = import_v416.z.object({
2125
2133
  updatedAt: serializedDateSchema,
2126
2134
  workoutSplits: import_v416.z.array(workoutSplitQueryDtoSchema).nullable()
2127
2135
  });
2128
- var workoutSplitsMapItemQueryDtoSchema = import_v416.z.object({
2129
- id: exerciseDbSchema.shape.id,
2130
- name: exerciseDbSchema.shape.name,
2131
- sets: import_v416.z.array(workoutSetDbSchema.shape.reps),
2132
- orderIndex: exerciseToWorkoutSplitDbSchema.shape.orderIndex,
2133
- targetMuscle: exerciseDbSchema.shape.targetMuscle,
2134
- specificTargetMuscle: exerciseDbSchema.shape.specificTargetMuscle
2135
- });
2136
- var workoutExerciseMetadataQueryDtoSchema = workoutSplitsMapItemQueryDtoSchema.pick({
2137
- targetMuscle: true,
2138
- specificTargetMuscle: true
2139
- });
2140
- var workoutSplitsMapQueryDtoSchema = import_v416.z.record(import_v416.z.string(), import_v416.z.array(workoutSplitsMapItemQueryDtoSchema));
2141
- var workoutSplitsRowQueryDtoSchema = import_v416.z.object({
2142
- splits: workoutSplitsMapQueryDtoSchema
2143
- });
2144
2136
  var workoutPlanIdQueryDtoSchema = import_v416.z.object({
2145
2137
  id: workoutPlanDbSchema.shape.id
2146
2138
  });
@@ -2158,25 +2150,24 @@ var getWholeWorkoutPlanRequestSchema = import_v417.z.object({
2158
2150
  })
2159
2151
  });
2160
2152
  var getWholeUserWorkoutPlanResponseSchema = import_v417.z.object({
2161
- workoutPlan: wholeUserWorkoutPlanQueryDtoSchema.nullable(),
2162
- workoutPlanForEditWorkout: workoutSplitsMapQueryDtoSchema.nullable()
2153
+ workoutPlan: wholeUserWorkoutPlanQueryDtoSchema.nullable()
2163
2154
  });
2164
2155
  var getWholeUserWorkoutPlanContract = {
2165
2156
  request: getWholeWorkoutPlanRequestSchema,
2166
2157
  response: getWholeUserWorkoutPlanResponseSchema
2167
2158
  };
2159
+ var workoutMutationResponseSchema = import_v417.z.object({
2160
+ message: import_v417.z.string(),
2161
+ workoutPlan: wholeUserWorkoutPlanQueryDtoSchema
2162
+ });
2168
2163
  var addWorkoutRequestSchema = import_v417.z.object({
2169
2164
  body: import_v417.z.object({
2170
- workoutData: addWorkoutSplitPayloadQueryDtoSchema,
2165
+ workoutData: saveWorkoutSplitPayloadQueryDtoSchema,
2171
2166
  workoutName: import_v417.z.string().optional(),
2172
2167
  tz: import_v417.z.string()
2173
2168
  })
2174
2169
  });
2175
- var addWorkoutResponseSchema = import_v417.z.object({
2176
- message: import_v417.z.string(),
2177
- workoutPlan: wholeUserWorkoutPlanQueryDtoSchema,
2178
- workoutPlanForEditWorkout: workoutSplitsMapQueryDtoSchema
2179
- });
2170
+ var addWorkoutResponseSchema = workoutMutationResponseSchema;
2180
2171
  var addWorkoutContract = {
2181
2172
  request: addWorkoutRequestSchema,
2182
2173
  response: addWorkoutResponseSchema
@@ -2265,6 +2256,12 @@ var groupedTrackingItemQueryDtoSchema = import_v418.z.object({
2265
2256
  var exerciseTrackingStatsQueryDtoSchema = import_v418.z.object({
2266
2257
  workoutCount: import_v418.z.coerce.number(),
2267
2258
  hasExerciseTracking: import_v418.z.boolean(),
2259
+ nextWorkoutSplit: import_v418.z.object({
2260
+ id: workoutSplitDbSchema.shape.id,
2261
+ name: workoutSplitDbSchema.shape.name,
2262
+ orderIndex: workoutSplitDbSchema.shape.orderIndex,
2263
+ muscleGroup: import_v418.z.string().nullable()
2264
+ }).nullable(),
2268
2265
  workoutTargets: import_v418.z.object({
2269
2266
  workoutCountThisWeek: import_v418.z.coerce.number(),
2270
2267
  workoutCountScheduledPerWeek: import_v418.z.coerce.number(),
@@ -2282,7 +2279,8 @@ var exerciseTrackingStatsQueryDtoSchema = import_v418.z.object({
2282
2279
  exerciseName: exerciseDbSchema.shape.name,
2283
2280
  prWeight: trackingSetDbSchema.shape.weight,
2284
2281
  prReps: trackingSetDbSchema.shape.reps,
2285
- prSetIndex: trackingSetDbSchema.shape.setIndex
2282
+ prSetIndex: trackingSetDbSchema.shape.setIndex,
2283
+ estimatedOneRepMax: import_v418.z.number().nullable()
2286
2284
  }))
2287
2285
  });
2288
2286
  var exerciseTrackingMapsQueryDtoSchema = import_v418.z.object({
@@ -2681,7 +2679,6 @@ var finishUserWorkoutContract = {
2681
2679
  addWorkoutContract,
2682
2680
  addWorkoutRequestSchema,
2683
2681
  addWorkoutResponseSchema,
2684
- addWorkoutSplitPayloadQueryDtoSchema,
2685
2682
  adherenceExerciseStatsQueryDtoSchema,
2686
2683
  aerobicTrackingDbSchema,
2687
2684
  aerobicsDailyRecordQueryDtoSchema,
@@ -2801,6 +2798,8 @@ var finishUserWorkoutContract = {
2801
2798
  resetPasswordResponseSchema,
2802
2799
  saveUserPushTokenContract,
2803
2800
  saveUserPushTokenRequestSchema,
2801
+ saveWorkoutSplitInputQueryDtoSchema,
2802
+ saveWorkoutSplitPayloadQueryDtoSchema,
2804
2803
  sendChangePassEmailContract,
2805
2804
  sendChangePassEmailRequestSchema,
2806
2805
  sendVerificationMailContract,
@@ -2847,7 +2846,6 @@ var finishUserWorkoutContract = {
2847
2846
  weeklyDataQueryDtoSchema,
2848
2847
  wholeUserWorkoutPlanQueryDtoSchema,
2849
2848
  workoutExerciseInputQueryDtoSchema,
2850
- workoutExerciseMetadataQueryDtoSchema,
2851
2849
  workoutPlanDbSchema,
2852
2850
  workoutPlanIdQueryDtoSchema,
2853
2851
  workoutRmRecordQueryDtoSchema,
@@ -2858,9 +2856,6 @@ var finishUserWorkoutContract = {
2858
2856
  workoutSplitIdQueryDtoSchema,
2859
2857
  workoutSplitLookupQueryDtoSchema,
2860
2858
  workoutSplitQueryDtoSchema,
2861
- workoutSplitsMapItemQueryDtoSchema,
2862
- workoutSplitsMapQueryDtoSchema,
2863
- workoutSplitsRowQueryDtoSchema,
2864
2859
  workoutSummaryDbSchema,
2865
2860
  workoutSummaryIdQueryDtoSchema
2866
2861
  });