@aneuhold/core-ts-db-lib 5.0.3 → 5.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/CHANGELOG.md +21 -1
- package/lib/ctos/workout/WorkoutExerciseCTO.d.ts +40 -0
- package/lib/ctos/workout/WorkoutExerciseCTO.d.ts.map +1 -1
- package/lib/ctos/workout/WorkoutExerciseCTO.js +26 -6
- package/lib/ctos/workout/WorkoutExerciseCTO.js.map +1 -1
- package/lib/ctos/workout/WorkoutExerciseCTO.ts +28 -6
- package/lib/documents/common/User.d.ts +1 -0
- package/lib/documents/common/User.d.ts.map +1 -1
- package/lib/documents/common/User.js +2 -0
- package/lib/documents/common/User.js.map +1 -1
- package/lib/documents/common/User.ts +2 -0
- package/lib/documents/dashboard/UserConfig.d.ts +2 -0
- package/lib/documents/dashboard/UserConfig.d.ts.map +1 -1
- package/lib/documents/dashboard/UserConfig.js +9 -2
- package/lib/documents/dashboard/UserConfig.js.map +1 -1
- package/lib/documents/dashboard/UserConfig.ts +9 -2
- package/lib/services/workout/Set/WorkoutSetService.js +3 -3
- package/lib/services/workout/Set/WorkoutSetService.js.map +1 -1
- package/lib/services/workout/Set/WorkoutSetService.ts +3 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## 🔖 [5.0.5] (2026-04-15)
|
|
9
|
+
|
|
10
|
+
### ✅ Added
|
|
11
|
+
|
|
12
|
+
- Added `lastSessionExercise` and `lastSessionSets` fields to `WorkoutExerciseCTO` representing the literal most recent completed session exercise (including deload and free-form sessions).
|
|
13
|
+
|
|
14
|
+
### 🏗️ Changed
|
|
15
|
+
|
|
16
|
+
- *Breaking Change:* Renamed `lastSessionExercise` → `lastAccumulationSessionExercise` and `lastSessionSets` → `lastAccumulationSessionSets` in `WorkoutExerciseCTO`; these fields now exclusively reflect the most recent non-deload accumulation session.
|
|
17
|
+
- `WorkoutSetService` now uses `lastAccumulationSessionSets` for first-microcycle progression and autoregulation calculations.
|
|
18
|
+
|
|
19
|
+
## 🔖 [5.0.4] (2026-03-26)
|
|
20
|
+
|
|
21
|
+
### ✅ Added
|
|
22
|
+
|
|
23
|
+
- Added `isSuperAdmin` boolean field to `User.auth` private details for granting super admin access to admin endpoints.
|
|
24
|
+
- Added `enableAdminPage` boolean field to `DashboardUserConfig` (defaults to `false`).
|
|
25
|
+
- Added `adminPage` feature flag to `DashboardUserConfig.enabledFeatures` (defaults to `false`).
|
|
26
|
+
|
|
8
27
|
## 🔖 [5.0.3] (2026-03-20)
|
|
9
28
|
|
|
10
29
|
### 🔥 Removed
|
|
@@ -420,7 +439,8 @@ Updated dependency: now requires `@aneuhold/core-ts-lib@^2.3.11`.
|
|
|
420
439
|
- Updated workflow permissions to allow repository write access
|
|
421
440
|
|
|
422
441
|
<!-- Link References -->
|
|
423
|
-
|
|
442
|
+
[5.0.5]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v5.0.4...core-ts-db-lib-v5.0.5
|
|
443
|
+
[5.0.4]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v5.0.3...core-ts-db-lib-v5.0.4
|
|
424
444
|
[5.0.3]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v5.0.2...core-ts-db-lib-v5.0.3
|
|
425
445
|
[5.0.2]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v5.0.1...core-ts-db-lib-v5.0.2
|
|
426
446
|
[5.0.1]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v5.0.0...core-ts-db-lib-v5.0.1
|
|
@@ -88,6 +88,46 @@ export declare const WorkoutExerciseCTOSchema: z.ZodObject<{
|
|
|
88
88
|
_id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
89
89
|
userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
90
90
|
}, z.core.$strip>>>;
|
|
91
|
+
lastAccumulationSessionExercise: z.ZodNullable<z.ZodObject<{
|
|
92
|
+
docType: z.ZodDefault<z.ZodLiteral<"workoutSessionExercise">>;
|
|
93
|
+
workoutSessionId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
94
|
+
workoutExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
95
|
+
setOrder: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>>>;
|
|
96
|
+
rsm: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
97
|
+
mindMuscleConnection: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
98
|
+
pump: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
99
|
+
disruption: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
100
|
+
}, z.core.$strip>>>;
|
|
101
|
+
fatigue: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
102
|
+
jointAndTissueDisruption: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
103
|
+
perceivedEffort: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
104
|
+
unusedMusclePerformance: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
105
|
+
}, z.core.$strip>>>;
|
|
106
|
+
sorenessScore: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
107
|
+
performanceScore: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
108
|
+
isRecoveryExercise: z.ZodDefault<z.ZodBoolean>;
|
|
109
|
+
createdDate: z.ZodDefault<z.ZodDate>;
|
|
110
|
+
lastUpdatedDate: z.ZodDefault<z.ZodDate>;
|
|
111
|
+
_id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
112
|
+
userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
113
|
+
}, z.core.$strip>>;
|
|
114
|
+
lastAccumulationSessionSets: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
115
|
+
docType: z.ZodDefault<z.ZodLiteral<"workoutSet">>;
|
|
116
|
+
workoutExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
117
|
+
workoutSessionId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
118
|
+
workoutSessionExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
119
|
+
plannedReps: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
120
|
+
plannedWeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
121
|
+
plannedRir: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
122
|
+
actualReps: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
123
|
+
actualWeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
124
|
+
rir: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
|
|
125
|
+
exerciseProperties: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
126
|
+
createdDate: z.ZodDefault<z.ZodDate>;
|
|
127
|
+
lastUpdatedDate: z.ZodDefault<z.ZodDate>;
|
|
128
|
+
_id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
129
|
+
userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
130
|
+
}, z.core.$strip>>>;
|
|
91
131
|
docType: z.ZodDefault<z.ZodLiteral<"workoutExercise">>;
|
|
92
132
|
exerciseName: z.ZodString;
|
|
93
133
|
workoutEquipmentTypeId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkoutExerciseCTO.d.ts","sourceRoot":"","sources":["../../../src/ctos/workout/WorkoutExerciseCTO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"WorkoutExerciseCTO.d.ts","sourceRoot":"","sources":["../../../src/ctos/workout/WorkoutExerciseCTO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoEnC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -34,6 +34,24 @@ export const WorkoutExerciseCTOSchema = z.object({
|
|
|
34
34
|
* provides the raw source data for 1RM comparison.
|
|
35
35
|
*/
|
|
36
36
|
bestSet: WorkoutSetSchema.nullable(),
|
|
37
|
+
/**
|
|
38
|
+
* The most recent completed WorkoutSessionExercise for this exercise,
|
|
39
|
+
* regardless of cycle type or deload status. Includes free-form, deload,
|
|
40
|
+
* and accumulation sessions — whichever was performed most recently.
|
|
41
|
+
*
|
|
42
|
+
* Null if the exercise has never been performed.
|
|
43
|
+
*
|
|
44
|
+
* Contains: sorenessScore, performanceScore, rsm, fatigue, setOrder, etc.
|
|
45
|
+
*/
|
|
46
|
+
lastSessionExercise: WorkoutSessionExerciseSchema.nullable(),
|
|
47
|
+
/**
|
|
48
|
+
* All WorkoutSets from the lastSessionExercise's setOrder. Represents the
|
|
49
|
+
* literal most recent prior performance — suitable for "what did I do
|
|
50
|
+
* last time" displays.
|
|
51
|
+
*
|
|
52
|
+
* Empty array if no previous performance exists.
|
|
53
|
+
*/
|
|
54
|
+
lastSessionSets: z.array(WorkoutSetSchema).default([]),
|
|
37
55
|
/**
|
|
38
56
|
* The most recent completed WorkoutSessionExercise for this exercise,
|
|
39
57
|
* from a non-deload accumulation session. Deload sessions (where all sets
|
|
@@ -42,16 +60,18 @@ export const WorkoutExerciseCTOSchema = z.object({
|
|
|
42
60
|
*
|
|
43
61
|
* Null if the exercise has never been performed in an accumulation session.
|
|
44
62
|
*
|
|
45
|
-
*
|
|
63
|
+
* Used by autoregulation / progression logic that requires a meaningful
|
|
64
|
+
* non-deload baseline.
|
|
46
65
|
*/
|
|
47
|
-
|
|
66
|
+
lastAccumulationSessionExercise: WorkoutSessionExerciseSchema.nullable(),
|
|
48
67
|
/**
|
|
49
|
-
* All WorkoutSets from the
|
|
50
|
-
* averaged across all sets for a holistic performance signal
|
|
51
|
-
* autoregulation (the first set alone can mask poor later-set
|
|
68
|
+
* All WorkoutSets from the lastAccumulationSessionExercise's setOrder.
|
|
69
|
+
* Surplus is averaged across all sets for a holistic performance signal
|
|
70
|
+
* during autoregulation (the first set alone can mask poor later-set
|
|
71
|
+
* performance).
|
|
52
72
|
*
|
|
53
73
|
* Empty array if no previous accumulation performance exists.
|
|
54
74
|
*/
|
|
55
|
-
|
|
75
|
+
lastAccumulationSessionSets: z.array(WorkoutSetSchema).default([])
|
|
56
76
|
});
|
|
57
77
|
//# sourceMappingURL=WorkoutExerciseCTO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkoutExerciseCTO.js","sourceRoot":"","sources":["../../../src/ctos/workout/WorkoutExerciseCTO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,qBAAqB,CAAC,KAAK;IAE9B;;;OAGG;IACH,aAAa,EAAE,0BAA0B;IAEzC;;;;OAIG;IACH,eAAe,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IAE5D;;;;;;;OAOG;IACH,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAEpC
|
|
1
|
+
{"version":3,"file":"WorkoutExerciseCTO.js","sourceRoot":"","sources":["../../../src/ctos/workout/WorkoutExerciseCTO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,qBAAqB,CAAC,KAAK;IAE9B;;;OAGG;IACH,aAAa,EAAE,0BAA0B;IAEzC;;;;OAIG;IACH,eAAe,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IAE5D;;;;;;;OAOG;IACH,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAEpC;;;;;;;;OAQG;IACH,mBAAmB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAE5D;;;;;;OAMG;IACH,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAEtD;;;;;;;;;;OAUG;IACH,+BAA+B,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAExE;;;;;;;OAOG;IACH,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACnE,CAAC,CAAC"}
|
|
@@ -39,6 +39,26 @@ export const WorkoutExerciseCTOSchema = z.object({
|
|
|
39
39
|
*/
|
|
40
40
|
bestSet: WorkoutSetSchema.nullable(),
|
|
41
41
|
|
|
42
|
+
/**
|
|
43
|
+
* The most recent completed WorkoutSessionExercise for this exercise,
|
|
44
|
+
* regardless of cycle type or deload status. Includes free-form, deload,
|
|
45
|
+
* and accumulation sessions — whichever was performed most recently.
|
|
46
|
+
*
|
|
47
|
+
* Null if the exercise has never been performed.
|
|
48
|
+
*
|
|
49
|
+
* Contains: sorenessScore, performanceScore, rsm, fatigue, setOrder, etc.
|
|
50
|
+
*/
|
|
51
|
+
lastSessionExercise: WorkoutSessionExerciseSchema.nullable(),
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* All WorkoutSets from the lastSessionExercise's setOrder. Represents the
|
|
55
|
+
* literal most recent prior performance — suitable for "what did I do
|
|
56
|
+
* last time" displays.
|
|
57
|
+
*
|
|
58
|
+
* Empty array if no previous performance exists.
|
|
59
|
+
*/
|
|
60
|
+
lastSessionSets: z.array(WorkoutSetSchema).default([]),
|
|
61
|
+
|
|
42
62
|
/**
|
|
43
63
|
* The most recent completed WorkoutSessionExercise for this exercise,
|
|
44
64
|
* from a non-deload accumulation session. Deload sessions (where all sets
|
|
@@ -47,18 +67,20 @@ export const WorkoutExerciseCTOSchema = z.object({
|
|
|
47
67
|
*
|
|
48
68
|
* Null if the exercise has never been performed in an accumulation session.
|
|
49
69
|
*
|
|
50
|
-
*
|
|
70
|
+
* Used by autoregulation / progression logic that requires a meaningful
|
|
71
|
+
* non-deload baseline.
|
|
51
72
|
*/
|
|
52
|
-
|
|
73
|
+
lastAccumulationSessionExercise: WorkoutSessionExerciseSchema.nullable(),
|
|
53
74
|
|
|
54
75
|
/**
|
|
55
|
-
* All WorkoutSets from the
|
|
56
|
-
* averaged across all sets for a holistic performance signal
|
|
57
|
-
* autoregulation (the first set alone can mask poor later-set
|
|
76
|
+
* All WorkoutSets from the lastAccumulationSessionExercise's setOrder.
|
|
77
|
+
* Surplus is averaged across all sets for a holistic performance signal
|
|
78
|
+
* during autoregulation (the first set alone can mask poor later-set
|
|
79
|
+
* performance).
|
|
58
80
|
*
|
|
59
81
|
* Empty array if no previous accumulation performance exists.
|
|
60
82
|
*/
|
|
61
|
-
|
|
83
|
+
lastAccumulationSessionSets: z.array(WorkoutSetSchema).default([])
|
|
62
84
|
});
|
|
63
85
|
|
|
64
86
|
/**
|
|
@@ -16,6 +16,7 @@ export declare const UserSchema: z.ZodObject<{
|
|
|
16
16
|
auth: z.ZodDefault<z.ZodObject<{
|
|
17
17
|
password: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
18
|
googleId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
isSuperAdmin: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
19
20
|
refreshTokenHashes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
20
21
|
tokenHash: z.ZodString;
|
|
21
22
|
expiresAt: z.ZodDate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/documents/common/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,aAAa;;;iBAExB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../../src/documents/common/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,aAAa;;;iBAExB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;iBAqBrB,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -17,6 +17,8 @@ export const UserSchema = UserCTOSchema.extend({
|
|
|
17
17
|
.object({
|
|
18
18
|
password: z.string().nullish(),
|
|
19
19
|
googleId: z.string().nullish(),
|
|
20
|
+
/** Whether this user is a super admin with access to admin endpoints. */
|
|
21
|
+
isSuperAdmin: z.boolean().nullish(),
|
|
20
22
|
/** Active refresh token hashes. One per device/session. */
|
|
21
23
|
refreshTokenHashes: z.array(RefreshTokenHashSchema).default([])
|
|
22
24
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/documents/common/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,WAAW,MAAM,4CAA4C,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IAC1B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QAC9B,2DAA2D;QAC3D,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAChE,CAAC;SACD,OAAO,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;IACtC,aAAa,EAAE,CAAC;SACb,MAAM,CAAC;QACN,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACjD,CAAC;SACD,OAAO,CAAC;QACP,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK;QAC9B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI;KAC5B,CAAC;CACL,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../src/documents/common/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,WAAW,MAAM,4CAA4C,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAEzF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE;IAC1B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QAC9B,yEAAyE;QACzE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QACnC,2DAA2D;QAC3D,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAChE,CAAC;SACD,OAAO,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;IACtC,aAAa,EAAE,CAAC;SACb,MAAM,CAAC;QACN,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACnD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;KACjD,CAAC;SACD,OAAO,CAAC;QACP,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK;QAC9B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI;KAC5B,CAAC;CACL,CAAC,CAAC"}
|
|
@@ -19,6 +19,8 @@ export const UserSchema = UserCTOSchema.extend({
|
|
|
19
19
|
.object({
|
|
20
20
|
password: z.string().nullish(),
|
|
21
21
|
googleId: z.string().nullish(),
|
|
22
|
+
/** Whether this user is a super admin with access to admin endpoints. */
|
|
23
|
+
isSuperAdmin: z.boolean().nullish(),
|
|
22
24
|
/** Active refresh token hashes. One per device/session. */
|
|
23
25
|
refreshTokenHashes: z.array(RefreshTokenHashSchema).default([])
|
|
24
26
|
})
|
|
@@ -10,6 +10,7 @@ export declare const DashboardUserConfigSchema: z.ZodObject<{
|
|
|
10
10
|
docType: z.ZodDefault<z.ZodLiteral<"userConfig">>;
|
|
11
11
|
collaborators: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>>>;
|
|
12
12
|
enableDevMode: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
enableAdminPage: z.ZodDefault<z.ZodBoolean>;
|
|
13
14
|
enabledFeatures: z.ZodDefault<z.ZodObject<{
|
|
14
15
|
financePage: z.ZodDefault<z.ZodBoolean>;
|
|
15
16
|
automationPage: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -17,6 +18,7 @@ export declare const DashboardUserConfigSchema: z.ZodObject<{
|
|
|
17
18
|
homePageLinks: z.ZodDefault<z.ZodBoolean>;
|
|
18
19
|
useConfettiForTasks: z.ZodDefault<z.ZodBoolean>;
|
|
19
20
|
catImageOnHomePage: z.ZodDefault<z.ZodBoolean>;
|
|
21
|
+
adminPage: z.ZodDefault<z.ZodBoolean>;
|
|
20
22
|
}, z.core.$strip>>;
|
|
21
23
|
autoTaskDeletionDays: z.ZodDefault<z.ZodInt>;
|
|
22
24
|
tagSettings: z.ZodDefault<z.ZodRecord<z.ZodString & z.core.$partial, z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserConfig.d.ts","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"UserConfig.d.ts","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;GAEG;AACH,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+DpC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -24,6 +24,11 @@ export const DashboardUserConfigSchema = z.object({
|
|
|
24
24
|
* Whether or not to enable dev mode for the user.
|
|
25
25
|
*/
|
|
26
26
|
enableDevMode: z.boolean().default(false),
|
|
27
|
+
/**
|
|
28
|
+
* Whether or not to enable the admin page for the user. Only useful for
|
|
29
|
+
* super admins, as the admin API endpoints reject non-super-admin users.
|
|
30
|
+
*/
|
|
31
|
+
enableAdminPage: z.boolean().default(false),
|
|
27
32
|
/**
|
|
28
33
|
* The features that are enabled for the user.
|
|
29
34
|
*/
|
|
@@ -34,7 +39,8 @@ export const DashboardUserConfigSchema = z.object({
|
|
|
34
39
|
entertainmentPage: z.boolean().default(false),
|
|
35
40
|
homePageLinks: z.boolean().default(false),
|
|
36
41
|
useConfettiForTasks: z.boolean().default(false),
|
|
37
|
-
catImageOnHomePage: z.boolean().default(false)
|
|
42
|
+
catImageOnHomePage: z.boolean().default(false),
|
|
43
|
+
adminPage: z.boolean().default(false)
|
|
38
44
|
})
|
|
39
45
|
.default({
|
|
40
46
|
financePage: false,
|
|
@@ -42,7 +48,8 @@ export const DashboardUserConfigSchema = z.object({
|
|
|
42
48
|
entertainmentPage: false,
|
|
43
49
|
homePageLinks: false,
|
|
44
50
|
useConfettiForTasks: false,
|
|
45
|
-
catImageOnHomePage: false
|
|
51
|
+
catImageOnHomePage: false,
|
|
52
|
+
adminPage: false
|
|
46
53
|
}),
|
|
47
54
|
/**
|
|
48
55
|
* The number of days after which a task is automatically deleted. The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserConfig.js","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2CAA2C,EAAE,MAAM,uDAAuD,CAAC;AACpH,OAAO,EAAE,yCAAyC,EAAE,MAAM,qDAAqD,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,GAAG,0BAA0B,CAAC,KAAK;IACnC,GAAG,oBAAoB,CAAC,KAAK;IAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACpF;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9E;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC;;OAEG;IACH,eAAe,EAAE,CAAC;SACf,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACzC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"UserConfig.js","sourceRoot":"","sources":["../../../src/documents/dashboard/UserConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2CAA2C,EAAE,MAAM,uDAAuD,CAAC;AACpH,OAAO,EAAE,yCAAyC,EAAE,MAAM,qDAAqD,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,GAAG,0BAA0B,CAAC,KAAK;IACnC,GAAG,oBAAoB,CAAC,KAAK;IAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACpF;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9E;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C;;OAEG;IACH,eAAe,EAAE,CAAC;SACf,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACzC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC/C,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9C,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACtC,CAAC;SACD,OAAO,CAAC;QACP,WAAW,EAAE,KAAK;QAClB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE,KAAK;QACxB,aAAa,EAAE,KAAK;QACpB,mBAAmB,EAAE,KAAK;QAC1B,kBAAkB,EAAE,KAAK;QACzB,SAAS,EAAE,KAAK;KACjB,CAAC;IACJ;;;;;;;;;OASG;IACH,oBAAoB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACzC;;OAEG;IACH,WAAW,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD;;OAEG;IACH,oBAAoB,EAAE,yCAAyC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3E;;OAEG;IACH,sBAAsB,EAAE,2CAA2C,CAAC,OAAO,CAAC,EAAE,CAAC;CAChF,CAAC,CAAC"}
|
|
@@ -27,6 +27,11 @@ export const DashboardUserConfigSchema = z.object({
|
|
|
27
27
|
* Whether or not to enable dev mode for the user.
|
|
28
28
|
*/
|
|
29
29
|
enableDevMode: z.boolean().default(false),
|
|
30
|
+
/**
|
|
31
|
+
* Whether or not to enable the admin page for the user. Only useful for
|
|
32
|
+
* super admins, as the admin API endpoints reject non-super-admin users.
|
|
33
|
+
*/
|
|
34
|
+
enableAdminPage: z.boolean().default(false),
|
|
30
35
|
/**
|
|
31
36
|
* The features that are enabled for the user.
|
|
32
37
|
*/
|
|
@@ -37,7 +42,8 @@ export const DashboardUserConfigSchema = z.object({
|
|
|
37
42
|
entertainmentPage: z.boolean().default(false),
|
|
38
43
|
homePageLinks: z.boolean().default(false),
|
|
39
44
|
useConfettiForTasks: z.boolean().default(false),
|
|
40
|
-
catImageOnHomePage: z.boolean().default(false)
|
|
45
|
+
catImageOnHomePage: z.boolean().default(false),
|
|
46
|
+
adminPage: z.boolean().default(false)
|
|
41
47
|
})
|
|
42
48
|
.default({
|
|
43
49
|
financePage: false,
|
|
@@ -45,7 +51,8 @@ export const DashboardUserConfigSchema = z.object({
|
|
|
45
51
|
entertainmentPage: false,
|
|
46
52
|
homePageLinks: false,
|
|
47
53
|
useConfettiForTasks: false,
|
|
48
|
-
catImageOnHomePage: false
|
|
54
|
+
catImageOnHomePage: false,
|
|
55
|
+
adminPage: false
|
|
49
56
|
}),
|
|
50
57
|
/**
|
|
51
58
|
* The number of days after which a task is automatically deleted. The
|
|
@@ -17,10 +17,10 @@ export default class WorkoutSetService {
|
|
|
17
17
|
throw new Error(`No calibration found for exercise ${exerciseCTO._id}, ${exerciseCTO.exerciseName}`);
|
|
18
18
|
}
|
|
19
19
|
const sets = [];
|
|
20
|
-
// For the first microcycle, use the CTO's previous performance
|
|
21
|
-
// For subsequent microcycles, look up all previous sets from the context.
|
|
20
|
+
// For the first microcycle, use the CTO's previous accumulation performance
|
|
21
|
+
// data. For subsequent microcycles, look up all previous sets from the context.
|
|
22
22
|
const previousSets = microcycleIndex === 0
|
|
23
|
-
? exerciseCTO.
|
|
23
|
+
? exerciseCTO.lastAccumulationSessionSets
|
|
24
24
|
: this.findPreviousSets(context, exerciseCTO._id, microcycleIndex);
|
|
25
25
|
// Calculate progressed targets for the first set.
|
|
26
26
|
// Autoregulation/forecasting handles progression from the previous sets' data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkoutSetService.js","sourceRoot":"","sources":["../../../../src/services/workout/Set/WorkoutSetService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0CAA0C,CAAC;AAC7F,OAAO,2BAA2B,MAAM,iDAAiD,CAAC;AAC1F,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAG3E,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,8BAA8B,CAAC,EACpC,OAAO,EACP,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,kBAAkB,EAWnB;QACC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,qCAAqC,WAAW,CAAC,GAAG,KAAK,WAAW,CAAC,YAAY,EAAE,CACpF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAiB,EAAE,CAAC;QAE9B,
|
|
1
|
+
{"version":3,"file":"WorkoutSetService.js","sourceRoot":"","sources":["../../../../src/services/workout/Set/WorkoutSetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,11 +49,11 @@ export default class WorkoutSetService {
|
|
|
49
49
|
|
|
50
50
|
const sets: WorkoutSet[] = [];
|
|
51
51
|
|
|
52
|
-
// For the first microcycle, use the CTO's previous performance
|
|
53
|
-
// For subsequent microcycles, look up all previous sets from the context.
|
|
52
|
+
// For the first microcycle, use the CTO's previous accumulation performance
|
|
53
|
+
// data. For subsequent microcycles, look up all previous sets from the context.
|
|
54
54
|
const previousSets =
|
|
55
55
|
microcycleIndex === 0
|
|
56
|
-
? exerciseCTO.
|
|
56
|
+
? exerciseCTO.lastAccumulationSessionSets
|
|
57
57
|
: this.findPreviousSets(context, exerciseCTO._id, microcycleIndex);
|
|
58
58
|
|
|
59
59
|
// Calculate progressed targets for the first set.
|
package/package.json
CHANGED