@strong-together/shared 2.5.0 → 2.6.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.js CHANGED
@@ -39,7 +39,7 @@ var authProviders = identitySchema.enum("Auth Providers", [
39
39
 
40
40
  // ../../src/infrastructure/db/schema/drizzle/identity/user/table.ts
41
41
  import { relations as relations14, sql as drizzleSql24 } from "drizzle-orm";
42
- import { bigint as bigint11, boolean as boolean6, primaryKey as primaryKey14, text as text8, timestamp as timestamp10, uniqueIndex as uniqueIndex3, uuid as uuid11 } from "drizzle-orm/pg-core";
42
+ import { bigint as bigint11, boolean as boolean6, primaryKey as primaryKey14, text as text8, timestamp as timestamp10, uniqueIndex as uniqueIndex4, uuid as uuid11 } from "drizzle-orm/pg-core";
43
43
 
44
44
  // ../../src/infrastructure/db/schema/drizzle/messages/messages/table.ts
45
45
  import { relations, sql as drizzleSql2 } from "drizzle-orm";
@@ -221,11 +221,11 @@ var userReminderSettingRelations = relations2(userReminderSetting, ({ one }) =>
221
221
 
222
222
  // ../../src/infrastructure/db/schema/drizzle/reminders/user_split_information/table.ts
223
223
  import { relations as relations11, sql as drizzleSql18 } from "drizzle-orm";
224
- import { bigint as bigint9, foreignKey as foreignKey10, index as index8, integer as integer4, numeric, primaryKey as primaryKey11, timestamp as timestamp7, unique as unique5, uuid as uuid8 } from "drizzle-orm/pg-core";
224
+ import { bigint as bigint9, foreignKey as foreignKey10, index as index8, integer as integer5, numeric, primaryKey as primaryKey11, timestamp as timestamp7, unique as unique4, uuid as uuid8 } from "drizzle-orm/pg-core";
225
225
 
226
226
  // ../../src/infrastructure/db/schema/drizzle/workout/workout_split/table.ts
227
- import { relations as relations10, sql as drizzleSql17 } from "drizzle-orm";
228
- import { bigint as bigint8, boolean as boolean5, foreignKey as foreignKey9, index as index7, primaryKey as primaryKey10, text as text5, timestamp as timestamp6, unique as unique4 } from "drizzle-orm/pg-core";
227
+ import { sql as drizzleSql17, relations as relations10 } from "drizzle-orm";
228
+ import { bigint as bigint8, boolean as boolean5, foreignKey as foreignKey9, index as index7, integer as integer4, primaryKey as primaryKey10, text as text5, timestamp as timestamp6, uniqueIndex as uniqueIndex3 } from "drizzle-orm/pg-core";
229
229
 
230
230
  // ../../src/infrastructure/db/schema/drizzle/tracking/workout_summary/table.ts
231
231
  import { relations as relations8, sql as drizzleSql13 } from "drizzle-orm";
@@ -912,9 +912,10 @@ var workoutSplit = workoutSchema.table("workout_split", {
912
912
  mode: "number"
913
913
  }).notNull(),
914
914
  name: text5("name").notNull(),
915
+ orderIndex: integer4("order_index").notNull(),
915
916
  createdAt: timestamp6("created_at", {
916
917
  withTimezone: true
917
- }).default(drizzleSql17`(now() AT TIME ZONE 'utc')`).notNull(),
918
+ }).default(drizzleSql17`(NOW() AT TIME ZONE 'utc')`).notNull(),
918
919
  isActive: boolean5("is_active").default(true).notNull()
919
920
  }, (t) => [
920
921
  primaryKey10({
@@ -923,7 +924,7 @@ var workoutSplit = workoutSchema.table("workout_split", {
923
924
  t.id
924
925
  ]
925
926
  }),
926
- unique4("uq_workout_split_plan_name").on(t.workoutId, t.name),
927
+ uniqueIndex3("uq_active_workout_split_order_index").on(t.workoutId, t.orderIndex).where(drizzleSql17`${t.isActive} = TRUE`),
927
928
  foreignKey9({
928
929
  name: "workout_split_workout_id_fkey",
929
930
  columns: [
@@ -971,7 +972,7 @@ var userSplitInformation = remindersSchema.table("user_split_information", {
971
972
  lastComputedAt: timestamp7("last_computed_at", {
972
973
  withTimezone: true
973
974
  }).default(drizzleSql18`timezone('UTC', now())`).notNull(),
974
- preferredWeekday: integer4("preferred_weekday")
975
+ preferredWeekday: integer5("preferred_weekday")
975
976
  }, (t) => [
976
977
  primaryKey11({
977
978
  name: "user_split_information_pkey",
@@ -979,7 +980,7 @@ var userSplitInformation = remindersSchema.table("user_split_information", {
979
980
  t.id
980
981
  ]
981
982
  }),
982
- unique5("user_split_information_user_id_workout_split_id_key").on(t.userId, t.workoutSplitId),
983
+ unique4("user_split_information_user_id_workout_split_id_key").on(t.userId, t.workoutSplitId),
983
984
  foreignKey10({
984
985
  name: "user_split_information_user_id_fkey",
985
986
  columns: [
@@ -1106,7 +1107,7 @@ var aerobicTrackingRelations = relations12(aerobicTracking, ({ one }) => ({
1106
1107
 
1107
1108
  // ../../src/infrastructure/db/schema/drizzle/identity/oauth_account/table.ts
1108
1109
  import { relations as relations13, sql as drizzleSql22 } from "drizzle-orm";
1109
- import { foreignKey as foreignKey12, primaryKey as primaryKey13, text as text7, timestamp as timestamp9, unique as unique6, uuid as uuid10 } from "drizzle-orm/pg-core";
1110
+ import { foreignKey as foreignKey12, primaryKey as primaryKey13, text as text7, timestamp as timestamp9, unique as unique5, uuid as uuid10 } from "drizzle-orm/pg-core";
1110
1111
 
1111
1112
  // ../../src/infrastructure/db/schema/drizzle/identity/oauth_account/policies.ts
1112
1113
  import { sql as drizzleSql21 } from "drizzle-orm";
@@ -1161,7 +1162,7 @@ var oauthAccount = identitySchema.table("oauth_account", {
1161
1162
  t.id
1162
1163
  ]
1163
1164
  }),
1164
- unique6("oauth_account_provider_user_unique").on(t.provider, t.providerUserId),
1165
+ unique5("oauth_account_provider_user_unique").on(t.provider, t.providerUserId),
1165
1166
  foreignKey12({
1166
1167
  name: "oauth_account_user_id_fkey",
1167
1168
  columns: [
@@ -1263,8 +1264,8 @@ var user = identitySchema.table("user", {
1263
1264
  t.id
1264
1265
  ]
1265
1266
  }),
1266
- uniqueIndex3("user_email_ci_unique").on(drizzleSql24`lower(trim(both from ${t.email}))`),
1267
- uniqueIndex3("user_username_ci_unique").on(drizzleSql24`lower(trim(both from ${t.username}))`),
1267
+ uniqueIndex4("user_email_ci_unique").on(drizzleSql24`lower(trim(both from ${t.email}))`),
1268
+ uniqueIndex4("user_username_ci_unique").on(drizzleSql24`lower(trim(both from ${t.username}))`),
1268
1269
  ...userPolicies(t)
1269
1270
  ]);
1270
1271
  var userRelations = relations14(user, ({ many, one }) => ({
@@ -1290,7 +1291,7 @@ var userRelations = relations14(user, ({ many, one }) => ({
1290
1291
  // ../../src/infrastructure/db/schema/drizzle/workout/views/exercise-to-workoutsplit-expanded.view.ts
1291
1292
  import { bigint as bigint12, boolean as boolean7, text as text9, timestamp as timestamp11 } from "drizzle-orm/pg-core";
1292
1293
  import { sql as drizzleSql25 } from "drizzle-orm";
1293
- import { integer as integer5 } from "drizzle-orm/pg-core";
1294
+ import { integer as integer6 } from "drizzle-orm/pg-core";
1294
1295
  var exerciseToWorkoutSplitSetExpandedView = workoutSchema.view("v_exercise_to_workout_split_set_expanded", {
1295
1296
  id: bigint12("id", {
1296
1297
  mode: "number"
@@ -1306,11 +1307,11 @@ var exerciseToWorkoutSplitSetExpandedView = workoutSchema.view("v_exercise_to_wo
1306
1307
  }),
1307
1308
  exercise: text9("exercise"),
1308
1309
  workoutSplit: text9("workout_split"),
1309
- reps: integer5("reps"),
1310
+ reps: integer6("reps"),
1310
1311
  orderIndex: bigint12("order_index", {
1311
1312
  mode: "number"
1312
1313
  }),
1313
- setIndex: integer5("set_index"),
1314
+ setIndex: integer6("set_index"),
1314
1315
  createdAt: timestamp11("created_at", {
1315
1316
  withTimezone: true
1316
1317
  }),
@@ -1352,7 +1353,7 @@ var exerciseToWorkoutSplitSetExpandedView = workoutSchema.view("v_exercise_to_wo
1352
1353
  // ../../src/infrastructure/db/schema/drizzle/analytics/views/exercise-tracking-expanded.view.ts
1353
1354
  import { sql as drizzleSql26 } from "drizzle-orm";
1354
1355
  import { bigint as bigint13, boolean as boolean8, real as real2, text as text10, timestamp as timestamp12, uuid as uuid12 } from "drizzle-orm/pg-core";
1355
- import { integer as integer6 } from "drizzle-orm/pg-core";
1356
+ import { integer as integer7 } from "drizzle-orm/pg-core";
1356
1357
  var exerciseTrackingSetExpandedView = analyticsSchema.view("v_exercise_tracking_set_expanded", {
1357
1358
  id: bigint13("id", {
1358
1359
  mode: "number"
@@ -1364,8 +1365,8 @@ var exerciseTrackingSetExpandedView = analyticsSchema.view("v_exercise_tracking_
1364
1365
  reps: bigint13("reps", {
1365
1366
  mode: "number"
1366
1367
  }),
1367
- orderIndex: integer6("order_index"),
1368
- setIndex: integer6("set_index"),
1368
+ orderIndex: integer7("order_index"),
1369
+ setIndex: integer7("set_index"),
1369
1370
  exerciseId: bigint13("exercise_id", {
1370
1371
  mode: "number"
1371
1372
  }),
@@ -1421,7 +1422,7 @@ var exerciseTrackingSetExpandedView = analyticsSchema.view("v_exercise_tracking_
1421
1422
  // ../../src/infrastructure/db/schema/drizzle/analytics/views/prs.view.ts
1422
1423
  import { sql as drizzleSql27 } from "drizzle-orm";
1423
1424
  import { bigint as bigint14, real as real3, text as text11, timestamp as timestamp13, uuid as uuid13 } from "drizzle-orm/pg-core";
1424
- import { integer as integer7 } from "drizzle-orm/pg-core";
1425
+ import { integer as integer8 } from "drizzle-orm/pg-core";
1425
1426
  var prsView = analyticsSchema.view("v_prs", {
1426
1427
  id: bigint14("id", {
1427
1428
  mode: "number"
@@ -1433,7 +1434,7 @@ var prsView = analyticsSchema.view("v_prs", {
1433
1434
  mode: "number"
1434
1435
  }),
1435
1436
  exercise: text11("exercise"),
1436
- setIndex: integer7("set_index"),
1437
+ setIndex: integer8("set_index"),
1437
1438
  weight: real3("weight"),
1438
1439
  reps: bigint14("reps", {
1439
1440
  mode: "number"
@@ -1881,28 +1882,38 @@ import { z as z17 } from "zod/v4";
1881
1882
  // src/modules/workout/plan/plan.dtos.ts
1882
1883
  import { z as z16 } from "zod/v4";
1883
1884
  var workoutExerciseInputQueryDtoSchema = z16.object({
1884
- id: exerciseDbSchema.shape.id,
1885
+ exerciseId: exerciseDbSchema.shape.id,
1885
1886
  sets: z16.array(workoutSetDbSchema.shape.reps),
1886
1887
  orderIndex: exerciseToWorkoutSplitDbSchema.shape.orderIndex
1887
1888
  });
1888
- var addWorkoutSplitPayloadQueryDtoSchema = z16.record(z16.string(), z16.array(workoutExerciseInputQueryDtoSchema).min(1, "Each split must include at least one exercise"));
1889
+ var workoutSplitInputBaseQueryDtoSchema = z16.object({
1890
+ name: workoutSplitDbSchema.shape.name.min(1, "Split name is required"),
1891
+ orderIndex: z16.number().int().nonnegative(),
1892
+ exercises: z16.array(workoutExerciseInputQueryDtoSchema).min(1, "Each split must include at least one exercise")
1893
+ });
1894
+ var saveWorkoutSplitInputQueryDtoSchema = workoutSplitInputBaseQueryDtoSchema.extend({
1895
+ id: workoutSplitDbSchema.shape.id.optional()
1896
+ });
1897
+ var saveWorkoutSplitPayloadQueryDtoSchema = z16.array(saveWorkoutSplitInputQueryDtoSchema).min(1, "Workout must include at least one split");
1889
1898
  var exerciseInPlanQueryDtoSchema = z16.object({
1890
- id: exerciseToWorkoutSplitDbSchema.shape.id,
1899
+ exerciseToSplitId: exerciseToWorkoutSplitDbSchema.shape.id,
1900
+ exerciseId: exerciseDbSchema.shape.id,
1901
+ name: exerciseDbSchema.shape.name,
1891
1902
  sets: z16.array(workoutSetDbSchema.shape.reps),
1903
+ orderIndex: exerciseToWorkoutSplitDbSchema.shape.orderIndex,
1892
1904
  isActive: exerciseToWorkoutSplitDbSchema.shape.isActive,
1893
1905
  targetMuscle: exerciseDbSchema.shape.targetMuscle,
1894
- specificTargetMuscle: exerciseDbSchema.shape.specificTargetMuscle,
1895
- exercise: exerciseDbSchema.shape.name,
1896
- workoutSplit: workoutSplitDbSchema.shape.name
1906
+ specificTargetMuscle: exerciseDbSchema.shape.specificTargetMuscle
1897
1907
  });
1898
1908
  var workoutSplitQueryDtoSchema = z16.object({
1899
1909
  id: workoutSplitDbSchema.shape.id,
1900
1910
  workoutId: workoutSplitDbSchema.shape.workoutId,
1901
1911
  name: workoutSplitDbSchema.shape.name,
1912
+ orderIndex: workoutSplitDbSchema.shape.orderIndex,
1902
1913
  createdAt: serializedDateSchema,
1903
1914
  muscleGroup: z16.string().nullable(),
1904
1915
  isActive: workoutSplitDbSchema.shape.isActive,
1905
- exerciseToWorkoutSplit: z16.array(exerciseInPlanQueryDtoSchema)
1916
+ exercises: z16.array(exerciseInPlanQueryDtoSchema)
1906
1917
  });
1907
1918
  var wholeUserWorkoutPlanQueryDtoSchema = z16.object({
1908
1919
  id: workoutPlanDbSchema.shape.id,
@@ -1913,22 +1924,6 @@ var wholeUserWorkoutPlanQueryDtoSchema = z16.object({
1913
1924
  updatedAt: serializedDateSchema,
1914
1925
  workoutSplits: z16.array(workoutSplitQueryDtoSchema).nullable()
1915
1926
  });
1916
- var workoutSplitsMapItemQueryDtoSchema = z16.object({
1917
- id: exerciseDbSchema.shape.id,
1918
- name: exerciseDbSchema.shape.name,
1919
- sets: z16.array(workoutSetDbSchema.shape.reps),
1920
- orderIndex: exerciseToWorkoutSplitDbSchema.shape.orderIndex,
1921
- targetMuscle: exerciseDbSchema.shape.targetMuscle,
1922
- specificTargetMuscle: exerciseDbSchema.shape.specificTargetMuscle
1923
- });
1924
- var workoutExerciseMetadataQueryDtoSchema = workoutSplitsMapItemQueryDtoSchema.pick({
1925
- targetMuscle: true,
1926
- specificTargetMuscle: true
1927
- });
1928
- var workoutSplitsMapQueryDtoSchema = z16.record(z16.string(), z16.array(workoutSplitsMapItemQueryDtoSchema));
1929
- var workoutSplitsRowQueryDtoSchema = z16.object({
1930
- splits: workoutSplitsMapQueryDtoSchema
1931
- });
1932
1927
  var workoutPlanIdQueryDtoSchema = z16.object({
1933
1928
  id: workoutPlanDbSchema.shape.id
1934
1929
  });
@@ -1946,25 +1941,24 @@ var getWholeWorkoutPlanRequestSchema = z17.object({
1946
1941
  })
1947
1942
  });
1948
1943
  var getWholeUserWorkoutPlanResponseSchema = z17.object({
1949
- workoutPlan: wholeUserWorkoutPlanQueryDtoSchema.nullable(),
1950
- workoutPlanForEditWorkout: workoutSplitsMapQueryDtoSchema.nullable()
1944
+ workoutPlan: wholeUserWorkoutPlanQueryDtoSchema.nullable()
1951
1945
  });
1952
1946
  var getWholeUserWorkoutPlanContract = {
1953
1947
  request: getWholeWorkoutPlanRequestSchema,
1954
1948
  response: getWholeUserWorkoutPlanResponseSchema
1955
1949
  };
1950
+ var workoutMutationResponseSchema = z17.object({
1951
+ message: z17.string(),
1952
+ workoutPlan: wholeUserWorkoutPlanQueryDtoSchema
1953
+ });
1956
1954
  var addWorkoutRequestSchema = z17.object({
1957
1955
  body: z17.object({
1958
- workoutData: addWorkoutSplitPayloadQueryDtoSchema,
1956
+ workoutData: saveWorkoutSplitPayloadQueryDtoSchema,
1959
1957
  workoutName: z17.string().optional(),
1960
1958
  tz: z17.string()
1961
1959
  })
1962
1960
  });
1963
- var addWorkoutResponseSchema = z17.object({
1964
- message: z17.string(),
1965
- workoutPlan: wholeUserWorkoutPlanQueryDtoSchema,
1966
- workoutPlanForEditWorkout: workoutSplitsMapQueryDtoSchema
1967
- });
1961
+ var addWorkoutResponseSchema = workoutMutationResponseSchema;
1968
1962
  var addWorkoutContract = {
1969
1963
  request: addWorkoutRequestSchema,
1970
1964
  response: addWorkoutResponseSchema
@@ -2053,6 +2047,12 @@ var groupedTrackingItemQueryDtoSchema = z18.object({
2053
2047
  var exerciseTrackingStatsQueryDtoSchema = z18.object({
2054
2048
  workoutCount: z18.coerce.number(),
2055
2049
  hasExerciseTracking: z18.boolean(),
2050
+ nextWorkoutSplit: z18.object({
2051
+ id: workoutSplitDbSchema.shape.id,
2052
+ name: workoutSplitDbSchema.shape.name,
2053
+ orderIndex: workoutSplitDbSchema.shape.orderIndex,
2054
+ muscleGroup: z18.string().nullable()
2055
+ }).nullable(),
2056
2056
  workoutTargets: z18.object({
2057
2057
  workoutCountThisWeek: z18.coerce.number(),
2058
2058
  workoutCountScheduledPerWeek: z18.coerce.number(),
@@ -2468,7 +2468,6 @@ export {
2468
2468
  addWorkoutContract,
2469
2469
  addWorkoutRequestSchema,
2470
2470
  addWorkoutResponseSchema,
2471
- addWorkoutSplitPayloadQueryDtoSchema,
2472
2471
  adherenceExerciseStatsQueryDtoSchema,
2473
2472
  aerobicTrackingDbSchema,
2474
2473
  aerobicsDailyRecordQueryDtoSchema,
@@ -2588,6 +2587,8 @@ export {
2588
2587
  resetPasswordResponseSchema,
2589
2588
  saveUserPushTokenContract,
2590
2589
  saveUserPushTokenRequestSchema,
2590
+ saveWorkoutSplitInputQueryDtoSchema,
2591
+ saveWorkoutSplitPayloadQueryDtoSchema,
2591
2592
  sendChangePassEmailContract,
2592
2593
  sendChangePassEmailRequestSchema,
2593
2594
  sendVerificationMailContract,
@@ -2634,7 +2635,6 @@ export {
2634
2635
  weeklyDataQueryDtoSchema,
2635
2636
  wholeUserWorkoutPlanQueryDtoSchema,
2636
2637
  workoutExerciseInputQueryDtoSchema,
2637
- workoutExerciseMetadataQueryDtoSchema,
2638
2638
  workoutPlanDbSchema,
2639
2639
  workoutPlanIdQueryDtoSchema,
2640
2640
  workoutRmRecordQueryDtoSchema,
@@ -2645,9 +2645,6 @@ export {
2645
2645
  workoutSplitIdQueryDtoSchema,
2646
2646
  workoutSplitLookupQueryDtoSchema,
2647
2647
  workoutSplitQueryDtoSchema,
2648
- workoutSplitsMapItemQueryDtoSchema,
2649
- workoutSplitsMapQueryDtoSchema,
2650
- workoutSplitsRowQueryDtoSchema,
2651
2648
  workoutSummaryDbSchema,
2652
2649
  workoutSummaryIdQueryDtoSchema
2653
2650
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strong-together/shared",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",