Rewrite GLORP descriptor system.

Commit
0c5c534edca92e51e94fc003cd8e036179c981f0
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
Changed files
src/MyFitnessTracker-Database/MFTDescriptorSystem.class.st
index 2af245be..00000000 100644..000000
@@ -1,321 +0,0 @@
1 Removed: "
2 Removed: I implement database persistency for My Fitness Tracker core domain objects.
3 Removed: "
4 Removed: Class {
5 Removed: #name : 'MFTDescriptorSystem',
6 Removed: #superclass : 'DescriptorSystem',
7 Removed: #category : 'MyFitnessTracker-Database',
8 Removed: #package : 'MyFitnessTracker-Database'
9 Removed: }
10 Removed:
11 Removed: { #category : 'as yet unclassified' }
12 Removed: MFTDescriptorSystem class >> defaultDatabaseName [
13 Removed:
14 Removed: ^ 'mft.sqlite3'
15 Removed: ]
16 Removed:
17 Removed: { #category : 'class models' }
18 Removed: MFTDescriptorSystem >> classModelForMFTExercise: aClassModel [
19 Removed:
20 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
21 Removed: aClassModel
22 Removed: newAttributeNamed: #englishName type: String;
23 Removed: newAttributeNamed: #frenchName type: String;
24 Removed: newAttributeNamed: #activatedMuscles type: Dictionary
25 Removed: ]
26 Removed:
27 Removed: { #category : 'class models' }
28 Removed: MFTDescriptorSystem >> classModelForMFTMuscle: aClassModel [
29 Removed:
30 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
31 Removed: aClassModel
32 Removed: newAttributeNamed: #primaryMuscleGroup type: MFTMuscleGroup;
33 Removed: newAttributeNamed: #latinName type: String;
34 Removed: newAttributeNamed: #englishName type: String;
35 Removed: newAttributeNamed: #description type: String
36 Removed: ]
37 Removed:
38 Removed: { #category : 'class models' }
39 Removed: MFTDescriptorSystem >> classModelForMFTMuscleGroup: aClassModel [
40 Removed:
41 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
42 Removed: aClassModel
43 Removed: newAttributeNamed: #englishName type: String;
44 Removed: newAttributeNamed: #frenchName type: String;
45 Removed: newAttributeNamed: #description type: String;
46 Removed: newAttributeNamed: #muscles collectionOf: MFTMuscle
47 Removed: ]
48 Removed:
49 Removed: { #category : 'class models' }
50 Removed: MFTDescriptorSystem >> classModelForMFTSet: aClassModel [
51 Removed:
52 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
53 Removed: aClassModel
54 Removed: newAttributeNamed: #exercise type: MFTExercise;
55 Removed: newAttributeNamed: #setNumber type: Integer;
56 Removed: newAttributeNamed: #setGroup type: Integer;
57 Removed: newAttributeNamed: #reps type: Integer;
58 Removed: newAttributeNamed: #load type: Float
59 Removed: ]
60 Removed:
61 Removed: { #category : 'class models' }
62 Removed: MFTDescriptorSystem >> classModelForMFTUser: aClassModel [
63 Removed:
64 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
65 Removed: aClassModel
66 Removed: newAttributeNamed: #username type: String;
67 Removed: newAttributeNamed: #passwordHash type: String;
68 Removed: newAttributeNamed: #realFirstName type: String;
69 Removed: newAttributeNamed: #realLastName type: String;
70 Removed: newAttributeNamed: #dateOfBirth type: Date;
71 Removed: newAttributeNamed: #isLoggedIn type: Boolean;
72 Removed: newAttributeNamed: #lastLoginDateAndTime type: DateAndTime;
73 Removed: newAttributeNamed: #accountRegisterDateAndTime type: DateAndTime;
74 Removed: newAttributeNamed: #workouts collectionOf: MFTWorkout;
75 Removed: newAttributeNamed: #weights collectionOf: MFTWeight
76 Removed: ]
77 Removed:
78 Removed: { #category : 'class models' }
79 Removed: MFTDescriptorSystem >> classModelForMFTWeight: aClassModel [
80 Removed:
81 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
82 Removed: aClassModel
83 Removed: newAttributeNamed: #user type: MFTUser;
84 Removed: newAttributeNamed: #date type: Date;
85 Removed: newAttributeNamed: #kilograms type: Integer
86 Removed: ]
87 Removed:
88 Removed: { #category : 'class models' }
89 Removed: MFTDescriptorSystem >> classModelForMFTWorkout: aClassModel [
90 Removed:
91 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
92 Removed: aClassModel
93 Removed: newAttributeNamed: #user type: MFTUser;
94 Removed: newAttributeNamed: #datePlanned type: DateAndTime;
95 Removed: newAttributeNamed: #dateCompleted type: DateAndTime;
96 Removed: newAttributeNamed: #primaryMuscleGroup type: MFTMuscleGroup;
97 Removed: newAttributeNamed: #secondaryMuscleGroups
98 Removed: collectionOf: MFTMuscleGroup;
99 Removed: newAttributeNamed: #setGroups collectionOf: MFTSetGroup;
100 Removed: newAttributeNamed: #restAfter type: Float;
101 Removed: newAttributeNamed: #isCompleted type: Boolean
102 Removed: ]
103 Removed:
104 Removed: { #category : 'class models' }
105 Removed: MFTDescriptorSystem >> classModelForMFTWorkoutPlan: aClassModel [
106 Removed:
107 Removed: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
108 Removed: aClassModel newAttributeNamed: #workouts collectionOf: MFTWorkout
109 Removed: ]
110 Removed:
111 Removed: { #category : 'descriptors' }
112 Removed: MFTDescriptorSystem >> descriptorForMFTExercise: aDescriptor [
113 Removed:
114 Removed: | table |
115 Removed: table := self tableNamed: 'EXERCISE'.
116 Removed: aDescriptor table: table.
117 Removed: aDescriptor directMappingFor: #id.
118 Removed: aDescriptor directMappingFor: #frenchName.
119 Removed: aDescriptor directMappingFor: #englishName
120 Removed: ]
121 Removed:
122 Removed: { #category : 'descriptors' }
123 Removed: MFTDescriptorSystem >> descriptorForMFTMuscle: aDescriptor [
124 Removed:
125 Removed: | table |
126 Removed: table := self tableNamed: 'MUSCLE'.
127 Removed: aDescriptor table: table.
128 Removed: aDescriptor directMappingFor: #id.
129 Removed: (aDescriptor newMapping: DirectMapping)
130 Removed: from: #primaryMuscleGroup
131 Removed: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id').
132 Removed: aDescriptor directMappingFor: #latinName.
133 Removed: aDescriptor directMappingFor: #englishName.
134 Removed: aDescriptor directMappingFor: #description
135 Removed: ]
136 Removed:
137 Removed: { #category : 'descriptors' }
138 Removed: MFTDescriptorSystem >> descriptorForMFTMuscleGroup: aDescriptor [
139 Removed:
140 Removed: | table |
141 Removed: table := self tableNamed: 'MUSCLEGROUP'.
142 Removed: aDescriptor table: table.
143 Removed: aDescriptor directMappingFor: #id.
144 Removed: aDescriptor directMappingFor: #englishName.
145 Removed: aDescriptor directMappingFor: #frenchName.
146 Removed: aDescriptor directMappingFor: #description
147 Removed: ]
148 Removed:
149 Removed: { #category : 'descriptors' }
150 Removed: MFTDescriptorSystem >> descriptorForMFTSet: aDescriptor [
151 Removed:
152 Removed: | table |
153 Removed: table := self tableNamed: 'WORKOUTSET'.
154 Removed: aDescriptor table: table.
155 Removed: aDescriptor directMappingFor: #id.
156 Removed: (aDescriptor newMapping: DirectMapping)
157 Removed: from: #exercise
158 Removed: to: ((self tableNamed: 'EXERCISE') fieldNamed: 'id').
159 Removed:
160 Removed: aDescriptor directMappingFor: #setGroup.
161 Removed: aDescriptor directMappingFor: #reps.
162 Removed: aDescriptor directMappingFor: #load
163 Removed: ]
164 Removed:
165 Removed: { #category : 'descriptors' }
166 Removed: MFTDescriptorSystem >> descriptorForMFTWeight: aDescriptor [
167 Removed:
168 Removed: | table |
169 Removed: table := self tableNamed: 'WEIGHT'.
170 Removed: aDescriptor table: table.
171 Removed: aDescriptor directMappingFor: #id.
172 Removed: (aDescriptor newMapping: DirectMapping)
173 Removed: from: #user
174 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id').
175 Removed: aDescriptor directMappingFor: #date.
176 Removed: aDescriptor directMappingFor: #kilograms
177 Removed: ]
178 Removed:
179 Removed: { #category : 'descriptors' }
180 Removed: MFTDescriptorSystem >> descriptorForMFTWorkout: aDescriptor [
181 Removed:
182 Removed: | table |
183 Removed: table := self tableNamed: 'WORKOUT'.
184 Removed: aDescriptor table: table.
185 Removed: aDescriptor directMappingFor: #id.
186 Removed: (aDescriptor newMapping: DirectMapping)
187 Removed: from: #user
188 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id').
189 Removed: aDescriptor directMappingFor: #datePlanned.
190 Removed: aDescriptor directMappingFor: #dateCompleted.
191 Removed: (aDescriptor newMapping: DirectMapping)
192 Removed: from: #primaryMuscleGroup
193 Removed: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id').
194 Removed: (aDescriptor newMapping: ManyToManyMapping) attributeName:
195 Removed: #secondaryMuscleGroups.
196 Removed: aDescriptor directMappingFor: #isCompleted
197 Removed: ]
198 Removed:
199 Removed: { #category : 'tables' }
200 Removed: MFTDescriptorSystem >> tableForEXERCISE: aTable [
201 Removed:
202 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
203 Removed: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
204 Removed: aTable createFieldNamed: 'frenchName' type: (platform varChar: 100)
205 Removed: ]
206 Removed:
207 Removed: { #category : 'tables' }
208 Removed: MFTDescriptorSystem >> tableForMUSCLE: aTable [
209 Removed:
210 Removed: | muscleGroupField |
211 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
212 Removed: aTable createFieldNamed: 'latinName' type: (platform varChar: 100).
213 Removed: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
214 Removed: muscleGroupField := aTable
215 Removed: createFieldNamed: 'muscleGroupId'
216 Removed: type: platform integer.
217 Removed: aTable createFieldNamed: 'description' type: (platform varChar: 120).
218 Removed:
219 Removed: aTable
220 Removed: addForeignKeyFrom: muscleGroupField
221 Removed: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id')
222 Removed: ]
223 Removed:
224 Removed: { #category : 'tables' }
225 Removed: MFTDescriptorSystem >> tableForMUSCLEGROUP: aTable [
226 Removed:
227 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
228 Removed: aTable
229 Removed: createFieldNamed: 'englishName' type: (platform varChar: 100);
230 Removed: createFieldNamed: 'frenchName' type: (platform varChar: 100);
231 Removed: createFieldNamed: 'description' type: (platform varChar: 120)
232 Removed: ]
233 Removed:
234 Removed: { #category : 'tables' }
235 Removed: MFTDescriptorSystem >> tableForUSER: aTable [
236 Removed:
237 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
238 Removed: aTable
239 Removed: createFieldNamed: 'username' type: (platform varchar: 100);
240 Removed: createFieldNamed: 'passwordHash' type: (platform varchar: 100);
241 Removed: createFieldNamed: 'realFirstName' type: (platform varChar: 100);
242 Removed: createFieldNamed: 'realLastName' type: (platform varChar: 100);
243 Removed: createFieldNamed: 'dateOfBirth' type: platform date;
244 Removed: createFieldNamed: 'isLoggedIn' type: platform boolean;
245 Removed: createFieldNamed: 'lastLoginDateTime' type: platform date;
246 Removed: createFieldNamed: 'accountRegisterDateTime' type: platform date
247 Removed: ]
248 Removed:
249 Removed: { #category : 'tables' }
250 Removed: MFTDescriptorSystem >> tableForWEIGHT: aTable [
251 Removed:
252 Removed: | userField |
253 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
254 Removed: userField := aTable createFieldNamed: 'userId' type: platform integer.
255 Removed: aTable createFieldNamed: 'date' type: platform date.
256 Removed: aTable createFieldNamed: 'kilograms' type: platform integer.
257 Removed:
258 Removed: aTable
259 Removed: addForeignKeyFrom: userField
260 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id')
261 Removed: ]
262 Removed:
263 Removed: { #category : 'tables' }
264 Removed: MFTDescriptorSystem >> tableForWORKOUT: aTable [
265 Removed:
266 Removed: | userField |
267 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
268 Removed: userField := aTable createFieldNamed: 'userId' type: platform integer.
269 Removed: aTable createFieldNamed: 'datePlanned' type: platform date.
270 Removed: aTable createFieldNamed: 'dateCompleted' type: platform date.
271 Removed: aTable
272 Removed: createFieldNamed: 'primaryMuscleGroupId'
273 Removed: type: (platform varChar: 100).
274 Removed: aTable createFieldNamed: 'isCompleted' type: platform boolean.
275 Removed:
276 Removed: aTable
277 Removed: addForeignKeyFrom: userField
278 Removed: to: ((self tableNamed: 'USER') fieldNamed: 'id')
279 Removed: ]
280 Removed:
281 Removed: { #category : 'tables' }
282 Removed: MFTDescriptorSystem >> tableForWORKOUTSET: aTable [
283 Removed:
284 Removed: | workoutField exerciseField |
285 Removed: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
286 Removed: workoutField := aTable
287 Removed: createFieldNamed: 'workoutId'
288 Removed: type: platform integer.
289 Removed: exerciseField := aTable
290 Removed: createFieldNamed: 'exerciseId'
291 Removed: type: platform integer.
292 Removed: aTable createFieldNamed: 'setGroup' type: platform integer.
293 Removed: aTable createFieldNamed: 'setNumber' type: platform integer.
294 Removed: aTable createFieldNamed: 'reps' type: platform integer.
295 Removed: aTable createFieldNamed: 'load' type: platform integer.
296 Removed:
297 Removed: aTable
298 Removed: addForeignKeyFrom: workoutField
299 Removed: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
300 Removed: aTable
301 Removed: addForeignKeyFrom: exerciseField
302 Removed: to: ((self tableNamed: 'EXERCISE') fieldNamed: 'id')
303 Removed: ]
304 Removed:
305 Removed: { #category : 'tables' }
306 Removed: MFTDescriptorSystem >> tableForWORKOUT_MUSCLEGROUP: aTable [
307 Removed:
308 Removed: | workoutField mgField |
309 Removed: (aTable createFieldNamed: 'workoutId' type: platform integer)
310 Removed: bePrimaryKey.
311 Removed: workoutField := aTable fieldNamed: 'workoutId'.
312 Removed: mgField := aTable
313 Removed: createFieldNamed: 'muscleGroupId'
314 Removed: type: platform integer.
315 Removed: aTable
316 Removed: addForeignKeyFrom: workoutField
317 Removed: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
318 Removed: aTable
319 Removed: addForeignKeyFrom: mgField
320 Removed: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id')
321 Removed: ]
src/MyFitnessTracker-Database/package.st
index bf5bdc38..00000000 100644..000000
@@ -1,1 +0,0 @@
1 Removed: Package { #name : 'MyFitnessTracker-Database' }
src/MyFitnessTracker-Glorp/MFTDescriptorSystem.class.st
index 00000000..2151157b 000000..100644
@@ -0,0 +1,1283 @@
1 Added: "
2 Added: I implement database persistency for My Fitness Tracker core domain objects.
3 Added: "
4 Added: Class {
5 Added: #name : 'MFTDescriptorSystem',
6 Added: #superclass : 'DescriptorSystem',
7 Added: #category : 'MyFitnessTracker-Glorp',
8 Added: #package : 'MyFitnessTracker-Glorp'
9 Added: }
10 Added:
11 Added: { #category : 'as yet unclassified' }
12 Added: MFTDescriptorSystem class >> defaultDatabaseName [
13 Added:
14 Added: ^ 'mft.sqlite3'
15 Added: ]
16 Added:
17 Added: { #category : 'as yet unclassified' }
18 Added: MFTDescriptorSystem class >> defaultLogin [
19 Added:
20 Added: ^ Login new
21 Added: database: SQLite3Platform new;
22 Added: host: Smalltalk imageDirectory fullName;
23 Added: databaseName: self defaultDatabaseName
24 Added: ]
25 Added:
26 Added: { #category : 'as yet unclassified' }
27 Added: MFTDescriptorSystem class >> sessionForDefaultLogin [
28 Added:
29 Added: ^ self sessionForLogin: self defaultLogin
30 Added: ]
31 Added:
32 Added: { #category : 'accessing' }
33 Added: MFTDescriptorSystem >> addForeignKeyNamed: fieldName from: sourceTable to: targetTableName [
34 Added:
35 Added: | field |
36 Added: field := sourceTable
37 Added: createFieldNamed: fieldName
38 Added: type: platform integer.
39 Added: sourceTable
40 Added: addForeignKeyFrom: field
41 Added: to: ((self tableNamed: targetTableName) fieldNamed: 'id')
42 Added: ]
43 Added:
44 Added: { #category : 'accessing' }
45 Added: MFTDescriptorSystem >> addIdTo: aTable [
46 Added:
47 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey
48 Added: ]
49 Added:
50 Added: { #category : 'accessing' }
51 Added: MFTDescriptorSystem >> addStringFieldNamed: aString to: aTable [
52 Added:
53 Added: aTable createFieldNamed: aString type: (platform varChar: 255)
54 Added: ]
55 Added:
56 Added: { #category : 'accessing' }
57 Added: MFTDescriptorSystem >> addTextFieldNamed: aString to: aTable [
58 Added:
59 Added: aTable createFieldNamed: aString type: platform text
60 Added: ]
61 Added:
62 Added: { #category : 'accessing' }
63 Added: MFTDescriptorSystem >> allTableNames [
64 Added:
65 Added: ^ #( 'MFT_EQUIPMENT' 'MFT_MUSCLE' 'MFT_MUSCLE_GROUP'
66 Added: 'MFT_EXERCISE' 'MFT_REP_SCHEME' 'MFT_SET_PRESCRIPTION'
67 Added: 'MFT_SET_GROUP_PRESCRIPTION' 'MFT_STRAIGHT_SET_GROUP_PRESCRIPTION'
68 Added: 'MFT_SUPERSET_GROUP_PRESCRIPTION'
69 Added: 'MFT_PRE_EXHAUST_SUPERSET_GROUP_PRESCRIPTION'
70 Added: 'MFT_WORKOUT_PRESCRIPTION' 'MFT_ROUTINE' 'MFT_SET_LOG'
71 Added: 'MFT_SET_GROUP_LOG' 'MFT_WORKOUT_LOG' 'MFT_WORKOUT_LOG_BOOK'
72 Added: 'MFT_TRAINEE' 'MFT_MUSCLE_ON_MUSCLE_GROUP'
73 Added: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION'
74 Added: 'MFT_SET_ON_STRAIGHT_SET_GROUP' 'MFT_SET_ON_SUPERSET_GROUP'
75 Added: 'MFT_SET_ON_PRE_EXHAUST_GROUP' 'MFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION'
76 Added: 'MFT_WORKOUT_ON_ROUTINE' 'MFT_SET_LOG_ON_SET_GROUP_LOG'
77 Added: 'MFT_SET_GROUP_LOG_ON_WORKOUT_LOG'
78 Added: 'MFT_WORKOUT_LOG_ON_LOG_BOOK' 'MFT_ACTIVATED_MUSCLE_GROUP_ON_EXERCISE' )
79 Added: ]
80 Added:
81 Added: { #category : 'class models' }
82 Added: MFTDescriptorSystem >> classModelForMFTEquipment: aClassModel [
83 Added:
84 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
85 Added: aClassModel newAttributeNamed: #englishName
86 Added: ]
87 Added:
88 Added: { #category : 'class models' }
89 Added: MFTDescriptorSystem >> classModelForMFTExercise: aClassModel [
90 Added:
91 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
92 Added: aClassModel newAttributeNamed: #englishName.
93 Added: aClassModel newAttributeNamed: #frenchName.
94 Added: aClassModel
95 Added: newAttributeNamed: #activatedMuscleGroups
96 Added: from: MFTMuscleGroup
97 Added: to: Integer.
98 Added: aClassModel newAttributeNamed: #equipment type: MFTEquipment
99 Added: ]
100 Added:
101 Added: { #category : 'class models' }
102 Added: MFTDescriptorSystem >> classModelForMFTMuscle: aClassModel [
103 Added:
104 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
105 Added: aClassModel newAttributeNamed: #latinName.
106 Added: aClassModel newAttributeNamed: #englishName.
107 Added: aClassModel newAttributeNamed: #description
108 Added: ]
109 Added:
110 Added: { #category : 'class models' }
111 Added: MFTDescriptorSystem >> classModelForMFTMuscleGroup: aClassModel [
112 Added:
113 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
114 Added: aClassModel newAttributeNamed: #englishName.
115 Added: aClassModel newAttributeNamed: #frenchName.
116 Added: aClassModel newAttributeNamed: #muscles collectionOf: MFTMuscle
117 Added: ]
118 Added:
119 Added: { #category : 'class models' }
120 Added: MFTDescriptorSystem >> classModelForMFTPreExhaustSupersetGroupPrescription: aClassModel [
121 Added:
122 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
123 Added: aClassModel newAttributeNamed: #sets collectionOf: MFTSetPrescription
124 Added: ]
125 Added:
126 Added: { #category : 'class models' }
127 Added: MFTDescriptorSystem >> classModelForMFTRepScheme: aClassModel [
128 Added:
129 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
130 Added: aClassModel newAttributeNamed: #minReps.
131 Added: aClassModel newAttributeNamed: #maxReps
132 Added: ]
133 Added:
134 Added: { #category : 'class models' }
135 Added: MFTDescriptorSystem >> classModelForMFTRoutine: aClassModel [
136 Added:
137 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
138 Added: aClassModel newAttributeNamed: #title.
139 Added: aClassModel
140 Added: newAttributeNamed: #workouts
141 Added: collectionOf: MFTWorkoutPrescription
142 Added: ]
143 Added:
144 Added: { #category : 'class models' }
145 Added: MFTDescriptorSystem >> classModelForMFTSet: aClassModel [
146 Added:
147 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
148 Added: aClassModel
149 Added: newAttributeNamed: #reps type: Integer;
150 Added: newAttributeNamed: #load type: Float;
151 Added: newAttributeNamed: #workout type: MFTWorkoutPrescription;
152 Added: newAttributeNamed: #exercise type: MFTExercise;
153 Added: newAttributeNamed: #setGroup type: MFTSetGroupPrescription
154 Added: ]
155 Added:
156 Added: { #category : 'class models' }
157 Added: MFTDescriptorSystem >> classModelForMFTSetGroup: aClassModel [
158 Added:
159 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
160 Added: aClassModel newAttributeNamed: #sets collectionOf: MFTSetLog
161 Added: ]
162 Added:
163 Added: { #category : 'class models' }
164 Added: MFTDescriptorSystem >> classModelForMFTSetGroupLog: aClassModel [
165 Added:
166 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
167 Added: aClassModel
168 Added: newAttributeNamed: #prescription
169 Added: type: MFTSetGroupPrescription.
170 Added: aClassModel newAttributeNamed: #sets collectionOf: MFTSetLog.
171 Added: aClassModel newAttributeNamed: #notes
172 Added: ]
173 Added:
174 Added: { #category : 'class models' }
175 Added: MFTDescriptorSystem >> classModelForMFTSetGroupPrescription: aClassModel [
176 Added:
177 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
178 Added: aClassModel newAttributeNamed: #sets collectionOf: MFTSetPrescription
179 Added: ]
180 Added:
181 Added: { #category : 'class models' }
182 Added: MFTDescriptorSystem >> classModelForMFTSetLog: aClassModel [
183 Added:
184 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
185 Added: aClassModel newAttributeNamed: #prescription type: MFTSetPrescription.
186 Added: aClassModel newAttributeNamed: #reps.
187 Added: aClassModel newAttributeNamed: #load.
188 Added: aClassModel newAttributeNamed: #failureAchieved
189 Added: ]
190 Added:
191 Added: { #category : 'class models' }
192 Added: MFTDescriptorSystem >> classModelForMFTSetPrescription: aClassModel [
193 Added:
194 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
195 Added: aClassModel newAttributeNamed: #exercise type: MFTExercise.
196 Added: aClassModel newAttributeNamed: #repScheme type: MFTRepScheme
197 Added: ]
198 Added:
199 Added: { #category : 'class models' }
200 Added: MFTDescriptorSystem >> classModelForMFTStraightSetGroupPrescription: aClassModel [
201 Added:
202 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
203 Added: aClassModel newAttributeNamed: #sets collectionOf: MFTSetPrescription
204 Added: ]
205 Added:
206 Added: { #category : 'class models' }
207 Added: MFTDescriptorSystem >> classModelForMFTSupersetGroupPrescription: aClassModel [
208 Added:
209 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
210 Added: aClassModel newAttributeNamed: #sets collectionOf: MFTSetPrescription
211 Added: ]
212 Added:
213 Added: { #category : 'class models' }
214 Added: MFTDescriptorSystem >> classModelForMFTTrainee: aClassModel [
215 Added:
216 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
217 Added: aClassModel newAttributeNamed: #routine type: MFTRoutine.
218 Added: aClassModel newAttributeNamed: #logBook type: MFTWorkoutLogBook
219 Added: ]
220 Added:
221 Added: { #category : 'class models' }
222 Added: MFTDescriptorSystem >> classModelForMFTWeight: aClassModel [
223 Added:
224 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
225 Added: aClassModel
226 Added: newAttributeNamed: #date type: Date;
227 Added: newAttributeNamed: #kilograms type: Float;
228 Added: newAttributeNamed: #user type: MFTTrainee
229 Added: ]
230 Added:
231 Added: { #category : 'class models' }
232 Added: MFTDescriptorSystem >> classModelForMFTWorkout: aClassModel [
233 Added:
234 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
235 Added: aClassModel
236 Added: newAttributeNamed: #user type: MFTTrainee;
237 Added: newAttributeNamed: #routine type: MFTRoutine;
238 Added: newAttributeNamed: #datePlanned type: DateAndTime;
239 Added: newAttributeNamed: #dateCompleted type: DateAndTime;
240 Added: newAttributeNamed: #setGroups collectionOf: MFTSetGroupPrescription
241 Added: ]
242 Added:
243 Added: { #category : 'class models' }
244 Added: MFTDescriptorSystem >> classModelForMFTWorkoutLog: aClassModel [
245 Added:
246 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
247 Added: aClassModel
248 Added: newAttributeNamed: #prescription
249 Added: type: MFTWorkoutPrescription.
250 Added: aClassModel newAttributeNamed: #start.
251 Added: aClassModel newAttributeNamed: #finish.
252 Added: aClassModel
253 Added: newAttributeNamed: #setGroups
254 Added: collectionOf: MFTSetGroupLog
255 Added: ]
256 Added:
257 Added: { #category : 'class models' }
258 Added: MFTDescriptorSystem >> classModelForMFTWorkoutLogBook: aClassModel [
259 Added:
260 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
261 Added: aClassModel
262 Added: newAttributeNamed: #workoutLogs
263 Added: collectionOf: MFTWorkoutLog
264 Added: ]
265 Added:
266 Added: { #category : 'class models' }
267 Added: MFTDescriptorSystem >> classModelForMFTWorkoutPlan: aClassModel [
268 Added:
269 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
270 Added: aClassModel
271 Added: newAttributeNamed: #user type: MFTTrainee;
272 Added: newAttributeNamed: #workouts collectionOf: MFTWorkoutPrescription
273 Added: ]
274 Added:
275 Added: { #category : 'class models' }
276 Added: MFTDescriptorSystem >> classModelForMFTWorkoutPrescription: aClassModel [
277 Added:
278 Added: (aClassModel newAttributeNamed: #id) useDirectAccess: true.
279 Added: aClassModel newAttributeNamed: #title.
280 Added: aClassModel
281 Added: newAttributeNamed: #setGroups
282 Added: collectionOf: MFTSetGroupPrescription
283 Added: ]
284 Added:
285 Added: { #category : 'descriptors' }
286 Added: MFTDescriptorSystem >> descriptorForMFTEquipment: aDescriptor [
287 Added:
288 Added: | table |
289 Added: table := self tableNamed: 'MFT_EQUIPMENT'.
290 Added: aDescriptor table: table.
291 Added: self mapIdOf: aDescriptor to: table.
292 Added: self map: #englishName of: aDescriptor to: table
293 Added: ]
294 Added:
295 Added: { #category : 'descriptors' }
296 Added: MFTDescriptorSystem >> descriptorForMFTExercise: aDescriptor [
297 Added:
298 Added: | table |
299 Added: table := self tableNamed: 'MFT_EXERCISE'.
300 Added: aDescriptor table: table.
301 Added: self mapIdOf: aDescriptor to: table.
302 Added: self map: #englishName of: aDescriptor to: table.
303 Added: self map: #frenchName of: aDescriptor to: table.
304 Added: (aDescriptor newMapping: OneToOneMapping)
305 Added: attributeName: #equipment;
306 Added: referenceClass: MFTEquipment;
307 Added: join: (Join
308 Added: from: (table fieldNamed: 'equipment_id')
309 Added: to: ((self tableNamed: 'MFT_EQUIPMENT') fieldNamed: 'id'))
310 Added: "activatedMuscleGroups is a Dictionary<MFTMuscleGroup,Integer>. Keep this link table in the schema; map it explicitly once the GLORP DictionaryMapping API is chosen for the project."
311 Added: ]
312 Added:
313 Added: { #category : 'descriptors' }
314 Added: MFTDescriptorSystem >> descriptorForMFTMuscle: aDescriptor [
315 Added:
316 Added: | table |
317 Added: table := self tableNamed: 'MFT_MUSCLE'.
318 Added: aDescriptor table: table.
319 Added: self mapIdOf: aDescriptor to: table.
320 Added: self map: #latinName of: aDescriptor to: table.
321 Added: self map: #englishName of: aDescriptor to: table.
322 Added: self map: #description of: aDescriptor to: table
323 Added: ]
324 Added:
325 Added: { #category : 'descriptors' }
326 Added: MFTDescriptorSystem >> descriptorForMFTMuscleGroup: aDescriptor [
327 Added:
328 Added: | table |
329 Added: table := self tableNamed: 'MFT_MUSCLE_GROUP'.
330 Added: aDescriptor table: table.
331 Added: self mapIdOf: aDescriptor to: table.
332 Added: self map: #englishName of: aDescriptor to: table.
333 Added: self map: #frenchName of: aDescriptor to: table.
334 Added: (aDescriptor newMapping: ToManyMapping)
335 Added: attributeName: #muscles;
336 Added: referenceClass: MFTMuscle;
337 Added: useLinkTable;
338 Added: join: (Join
339 Added: from: (table fieldNamed: 'id')
340 Added: to: ((self tableNamed: 'MFT_MUSCLE_ON_MUSCLE_GROUP') fieldNamed:
341 Added: 'muscle_group_id'));
342 Added: orderBy: [ :each |
343 Added: (each getTable: 'MFT_MUSCLE_ON_MUSCLE_GROUP') getField: 'position' ]
344 Added: ]
345 Added:
346 Added: { #category : 'descriptors' }
347 Added: MFTDescriptorSystem >> descriptorForMFTPreExhaustSupersetGroupPrescription: aDescriptor [
348 Added:
349 Added: | table |
350 Added: table := self tableNamed:
351 Added: 'MFT_PRE_EXHAUST_SUPERSET_GROUP_PRESCRIPTION'.
352 Added: aDescriptor table: table.
353 Added: self mapIdOf: aDescriptor to: table.
354 Added: (aDescriptor newMapping: ToManyMapping)
355 Added: attributeName: #sets;
356 Added: referenceClass: MFTSetPrescription;
357 Added: useLinkTable;
358 Added: join: (Join
359 Added: from: (table fieldNamed: 'id')
360 Added: to:
361 Added: ((self tableNamed: 'MFT_SET_ON_PRE_EXHAUST_GROUP') fieldNamed:
362 Added: 'set_group_prescription_id'));
363 Added: orderBy: [ :each |
364 Added: (each getTable: 'MFT_SET_ON_PRE_EXHAUST_GROUP') getField:
365 Added: 'position' ]
366 Added: ]
367 Added:
368 Added: { #category : 'descriptors' }
369 Added: MFTDescriptorSystem >> descriptorForMFTRepScheme: aDescriptor [
370 Added:
371 Added: | table |
372 Added: table := self tableNamed: 'MFT_REP_SCHEME'.
373 Added: aDescriptor table: table.
374 Added: self mapIdOf: aDescriptor to: table.
375 Added: self map: #minReps of: aDescriptor to: table.
376 Added: self map: #maxReps of: aDescriptor to: table
377 Added: ]
378 Added:
379 Added: { #category : 'descriptors' }
380 Added: MFTDescriptorSystem >> descriptorForMFTRoutine: aDescriptor [
381 Added:
382 Added: | table |
383 Added: table := self tableNamed: 'MFT_ROUTINE'.
384 Added: aDescriptor table: table.
385 Added: self mapIdOf: aDescriptor to: table.
386 Added: self map: #title of: aDescriptor to: table.
387 Added: (aDescriptor newMapping: ToManyMapping)
388 Added: attributeName: #workouts;
389 Added: referenceClass: MFTWorkoutPrescription;
390 Added: useLinkTable;
391 Added: join: (Join
392 Added: from: (table fieldNamed: 'id')
393 Added: to:
394 Added: ((self tableNamed: 'MFT_WORKOUT_ON_ROUTINE') fieldNamed:
395 Added: 'routine_id'));
396 Added: orderBy: [ :each |
397 Added: (each getTable: 'MFT_WORKOUT_ON_ROUTINE') getField: 'position' ]
398 Added: ]
399 Added:
400 Added: { #category : 'class models' }
401 Added: MFTDescriptorSystem >> descriptorForMFTSet: aDescriptor [
402 Added:
403 Added: | table |
404 Added: table := self tableNamed: 'SET'.
405 Added: aDescriptor table: table.
406 Added: aDescriptor directMappingFor: #id.
407 Added: aDescriptor directMappingFor: #reps.
408 Added: aDescriptor directMappingFor: #load.
409 Added:
410 Added: (aDescriptor newMapping: DirectMapping)
411 Added: from: #workout
412 Added: to: (table fieldNamed: 'workoutId').
413 Added:
414 Added: (aDescriptor newMapping: DirectMapping)
415 Added: from: #exercise
416 Added: to: (table fieldNamed: 'exerciseId').
417 Added:
418 Added: (aDescriptor newMapping: DirectMapping)
419 Added: from: #setGroup
420 Added: to: (table fieldNamed: 'setGroupId')
421 Added: ]
422 Added:
423 Added: { #category : 'class models' }
424 Added: MFTDescriptorSystem >> descriptorForMFTSetGroup: aDescriptor [
425 Added:
426 Added: | table |
427 Added: table := self tableNamed: 'SETGROUP'.
428 Added: aDescriptor table: table.
429 Added: aDescriptor directMappingFor: #id.
430 Added:
431 Added: (aDescriptor newMapping: OneToManyMapping)
432 Added: attributeName: #sets;
433 Added: referenceClass: MFTSetLog;
434 Added: join: (Join
435 Added: from: (table fieldNamed: 'id')
436 Added: to: ((self tableNamed: 'SET') fieldNamed: 'setGroupId'))
437 Added: ]
438 Added:
439 Added: { #category : 'descriptors' }
440 Added: MFTDescriptorSystem >> descriptorForMFTSetGroupLog: aDescriptor [
441 Added:
442 Added: | table |
443 Added: table := self tableNamed: 'MFT_SET_GROUP_LOG'.
444 Added: aDescriptor table: table.
445 Added: self mapIdOf: aDescriptor to: table.
446 Added: self map: #notes of: aDescriptor to: table.
447 Added: (aDescriptor newMapping: OneToOneMapping)
448 Added: attributeName: #prescription;
449 Added: referenceClass: MFTSetGroupPrescription;
450 Added: join: (Join
451 Added: from: (table fieldNamed: 'prescription_id')
452 Added: to:
453 Added: ((self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION') fieldNamed:
454 Added: 'id')).
455 Added: (aDescriptor newMapping: ToManyMapping)
456 Added: attributeName: #sets;
457 Added: referenceClass: MFTSetLog;
458 Added: useLinkTable;
459 Added: join: (Join
460 Added: from: (table fieldNamed: 'id')
461 Added: to:
462 Added: ((self tableNamed: 'MFT_SET_LOG_ON_SET_GROUP_LOG') fieldNamed:
463 Added: 'set_group_log_id'));
464 Added: orderBy: [ :each |
465 Added: (each getTable: 'MFT_SET_LOG_ON_SET_GROUP_LOG') getField:
466 Added: 'position' ]
467 Added: ]
468 Added:
469 Added: { #category : 'descriptors' }
470 Added: MFTDescriptorSystem >> descriptorForMFTSetGroupPrescription: aDescriptor [
471 Added:
472 Added: | table |
473 Added: table := self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION'.
474 Added: aDescriptor table: table.
475 Added: self mapIdOf: aDescriptor to: table.
476 Added: (aDescriptor newMapping: ToManyMapping)
477 Added: attributeName: #sets;
478 Added: referenceClass: MFTSetPrescription;
479 Added: useLinkTable;
480 Added: join: (Join
481 Added: from: (table fieldNamed: 'id')
482 Added: to:
483 Added: ((self tableNamed: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION')
484 Added: fieldNamed: 'set_group_prescription_id'));
485 Added: orderBy: [ :each |
486 Added: (each getTable: 'MFT_SET_ON_SET_GROUP_PRESCRIPTION') getField:
487 Added: 'position' ]
488 Added: ]
489 Added:
490 Added: { #category : 'descriptors' }
491 Added: MFTDescriptorSystem >> descriptorForMFTSetLog: aDescriptor [
492 Added:
493 Added: | table |
494 Added: table := self tableNamed: 'MFT_SET_LOG'.
495 Added: aDescriptor table: table.
496 Added: self mapIdOf: aDescriptor to: table.
497 Added: self map: #reps of: aDescriptor to: table.
498 Added: self map: #load of: aDescriptor to: table.
499 Added: self map: #failureAchieved of: aDescriptor to: table.
500 Added: (aDescriptor newMapping: OneToOneMapping)
501 Added: attributeName: #prescription;
502 Added: referenceClass: MFTSetPrescription;
503 Added: join: (Join
504 Added: from: (table fieldNamed: 'prescription_id')
505 Added: to: ((self tableNamed: 'MFT_SET_PRESCRIPTION') fieldNamed: 'id'))
506 Added: ]
507 Added:
508 Added: { #category : 'descriptors' }
509 Added: MFTDescriptorSystem >> descriptorForMFTSetPrescription: aDescriptor [
510 Added:
511 Added: | table |
512 Added: table := self tableNamed: 'MFT_SET_PRESCRIPTION'.
513 Added: aDescriptor table: table.
514 Added: self mapIdOf: aDescriptor to: table.
515 Added: (aDescriptor newMapping: OneToOneMapping)
516 Added: attributeName: #exercise;
517 Added: referenceClass: MFTExercise;
518 Added: join: (Join
519 Added: from: (table fieldNamed: 'exercise_id')
520 Added: to: ((self tableNamed: 'MFT_EXERCISE') fieldNamed: 'id')).
521 Added: (aDescriptor newMapping: OneToOneMapping)
522 Added: attributeName: #repScheme;
523 Added: referenceClass: MFTRepScheme;
524 Added: join: (Join
525 Added: from: (table fieldNamed: 'repScheme_id')
526 Added: to: ((self tableNamed: 'MFT_REP_SCHEME') fieldNamed: 'id'))
527 Added: ]
528 Added:
529 Added: { #category : 'descriptors' }
530 Added: MFTDescriptorSystem >> descriptorForMFTStraightSetGroupPrescription: aDescriptor [
531 Added:
532 Added: | table |
533 Added: table := self tableNamed: 'MFT_STRAIGHT_SET_GROUP_PRESCRIPTION'.
534 Added: aDescriptor table: table.
535 Added: self mapIdOf: aDescriptor to: table.
536 Added: (aDescriptor newMapping: ToManyMapping)
537 Added: attributeName: #sets;
538 Added: referenceClass: MFTSetPrescription;
539 Added: useLinkTable;
540 Added: join: (Join
541 Added: from: (table fieldNamed: 'id')
542 Added: to:
543 Added: ((self tableNamed: 'MFT_SET_ON_STRAIGHT_SET_GROUP') fieldNamed:
544 Added: 'set_group_prescription_id'));
545 Added: orderBy: [ :each |
546 Added: (each getTable: 'MFT_SET_ON_STRAIGHT_SET_GROUP') getField:
547 Added: 'position' ]
548 Added: ]
549 Added:
550 Added: { #category : 'descriptors' }
551 Added: MFTDescriptorSystem >> descriptorForMFTSupersetGroupPrescription: aDescriptor [
552 Added:
553 Added: | table |
554 Added: table := self tableNamed: 'MFT_SUPERSET_GROUP_PRESCRIPTION'.
555 Added: aDescriptor table: table.
556 Added: self mapIdOf: aDescriptor to: table.
557 Added: (aDescriptor newMapping: ToManyMapping)
558 Added: attributeName: #sets;
559 Added: referenceClass: MFTSetPrescription;
560 Added: useLinkTable;
561 Added: join: (Join
562 Added: from: (table fieldNamed: 'id')
563 Added: to: ((self tableNamed: 'MFT_SET_ON_SUPERSET_GROUP') fieldNamed:
564 Added: 'set_group_prescription_id'));
565 Added: orderBy: [ :each |
566 Added: (each getTable: 'MFT_SET_ON_SUPERSET_GROUP') getField: 'position' ]
567 Added: ]
568 Added:
569 Added: { #category : 'descriptors' }
570 Added: MFTDescriptorSystem >> descriptorForMFTTrainee: aDescriptor [
571 Added:
572 Added: | table |
573 Added: table := self tableNamed: 'MFT_TRAINEE'.
574 Added: aDescriptor table: table.
575 Added: self mapIdOf: aDescriptor to: table.
576 Added: (aDescriptor newMapping: OneToOneMapping)
577 Added: attributeName: #routine;
578 Added: referenceClass: MFTRoutine;
579 Added: join: (Join
580 Added: from: (table fieldNamed: 'routine_id')
581 Added: to: ((self tableNamed: 'MFT_ROUTINE') fieldNamed: 'id')).
582 Added: (aDescriptor newMapping: OneToOneMapping)
583 Added: attributeName: #logBook;
584 Added: referenceClass: MFTWorkoutLogBook;
585 Added: join: (Join
586 Added: from: (table fieldNamed: 'logBook_id')
587 Added: to: ((self tableNamed: 'MFT_WORKOUT_LOG_BOOK') fieldNamed: 'id'))
588 Added: ]
589 Added:
590 Added: { #category : 'class models' }
591 Added: MFTDescriptorSystem >> descriptorForMFTWeight: aDescriptor [
592 Added:
593 Added: | table |
594 Added: table := self tableNamed: 'WEIGHT'.
595 Added: aDescriptor table: table.
596 Added: aDescriptor directMappingFor: #id.
597 Added: aDescriptor directMappingFor: #date.
598 Added: aDescriptor directMappingFor: #kilograms.
599 Added:
600 Added: (aDescriptor newMapping: DirectMapping)
601 Added: from: #user
602 Added: to: (table fieldNamed: 'userId')
603 Added: ]
604 Added:
605 Added: { #category : 'class models' }
606 Added: MFTDescriptorSystem >> descriptorForMFTWorkout: aDescriptor [
607 Added:
608 Added: | table link mapping |
609 Added: table := self tableNamed: 'WORKOUT'.
610 Added: aDescriptor table: table.
611 Added: aDescriptor directMappingFor: #id.
612 Added:
613 Added: (aDescriptor newMapping: DirectMapping)
614 Added: from: #user
615 Added: to: (table fieldNamed: 'userId').
616 Added:
617 Added: (aDescriptor newMapping: DirectMapping)
618 Added: from: #routine
619 Added: to: (table fieldNamed: 'planId').
620 Added:
621 Added: aDescriptor directMappingFor: #datePlanned.
622 Added: aDescriptor directMappingFor: #dateCompleted.
623 Added:
624 Added: "Workout -> SetGroups via link table"
625 Added: link := self tableNamed: 'WORKOUT_SETGROUP'.
626 Added:
627 Added: mapping := aDescriptor newMapping: ManyToManyMapping.
628 Added: mapping
629 Added: attributeName: #setGroups;
630 Added: referenceClass: MFTSetGroupPrescription;
631 Added: join: (Join
632 Added: from: (table fieldNamed: 'id')
633 Added: to: (link fieldNamed: 'workoutId'));
634 Added: joinTo: (Join
635 Added: from: (link fieldNamed: 'setGroupId')
636 Added: to: ((self tableNamed: 'SETGROUP') fieldNamed: 'id'))
637 Added: ]
638 Added:
639 Added: { #category : 'descriptors' }
640 Added: MFTDescriptorSystem >> descriptorForMFTWorkoutLog: aDescriptor [
641 Added:
642 Added: | table |
643 Added: table := self tableNamed: 'MFT_WORKOUT_LOG'.
644 Added: aDescriptor table: table.
645 Added: self mapIdOf: aDescriptor to: table.
646 Added: self map: #start of: aDescriptor to: table.
647 Added: self map: #finish of: aDescriptor to: table.
648 Added: (aDescriptor newMapping: OneToOneMapping)
649 Added: attributeName: #prescription;
650 Added: referenceClass: MFTWorkoutPrescription;
651 Added: join: (Join
652 Added: from: (table fieldNamed: 'prescription_id')
653 Added: to:
654 Added: ((self tableNamed: 'MFT_WORKOUT_PRESCRIPTION') fieldNamed: 'id')).
655 Added: (aDescriptor newMapping: ToManyMapping)
656 Added: attributeName: #setGroups;
657 Added: referenceClass: MFTSetGroupLog;
658 Added: useLinkTable;
659 Added: join: (Join
660 Added: from: (table fieldNamed: 'id')
661 Added: to:
662 Added: ((self tableNamed: 'MFT_SET_GROUP_LOG_ON_WORKOUT_LOG')
663 Added: fieldNamed: 'workout_log_id'));
664 Added: orderBy: [ :each |
665 Added: (each getTable: 'MFT_SET_GROUP_LOG_ON_WORKOUT_LOG') getField:
666 Added: 'position' ]
667 Added: ]
668 Added:
669 Added: { #category : 'descriptors' }
670 Added: MFTDescriptorSystem >> descriptorForMFTWorkoutLogBook: aDescriptor [
671 Added:
672 Added: | table |
673 Added: table := self tableNamed: 'MFT_WORKOUT_LOG_BOOK'.
674 Added: aDescriptor table: table.
675 Added: self mapIdOf: aDescriptor to: table.
676 Added: (aDescriptor newMapping: ToManyMapping)
677 Added: attributeName: #workoutLogs;
678 Added: referenceClass: MFTWorkoutLog;
679 Added: useLinkTable;
680 Added: join: (Join
681 Added: from: (table fieldNamed: 'id')
682 Added: to:
683 Added: ((self tableNamed: 'MFT_WORKOUT_LOG_ON_LOG_BOOK') fieldNamed:
684 Added: 'log_book_id'));
685 Added: orderBy: [ :each |
686 Added: (each getTable: 'MFT_WORKOUT_LOG_ON_LOG_BOOK') getField: 'position' ]
687 Added: ]
688 Added:
689 Added: { #category : 'class models' }
690 Added: MFTDescriptorSystem >> descriptorForMFTWorkoutPlan: aDescriptor [
691 Added:
692 Added: | table |
693 Added: table := self tableNamed: 'WORKOUTPLAN'.
694 Added: aDescriptor table: table.
695 Added: aDescriptor directMappingFor: #id.
696 Added:
697 Added: (aDescriptor newMapping: DirectMapping)
698 Added: from: #user
699 Added: to: (table fieldNamed: 'userId').
700 Added:
701 Added: (aDescriptor newMapping: OneToManyMapping)
702 Added: attributeName: #workouts;
703 Added: referenceClass: MFTWorkoutPrescription;
704 Added: join: (Join
705 Added: from: (table fieldNamed: 'id')
706 Added: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'planId'))
707 Added: ]
708 Added:
709 Added: { #category : 'descriptors' }
710 Added: MFTDescriptorSystem >> descriptorForMFTWorkoutPrescription: aDescriptor [
711 Added:
712 Added: | table |
713 Added: table := self tableNamed: 'MFT_WORKOUT_PRESCRIPTION'.
714 Added: aDescriptor table: table.
715 Added: self mapIdOf: aDescriptor to: table.
716 Added: self map: #title of: aDescriptor to: table.
717 Added: (aDescriptor newMapping: ToManyMapping)
718 Added: attributeName: #setGroups;
719 Added: referenceClass: MFTSetGroupPrescription;
720 Added: useLinkTable;
721 Added: join: (Join
722 Added: from: (table fieldNamed: 'id')
723 Added: to: ((self tableNamed: 'MFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION')
724 Added: fieldNamed: 'workout_prescription_id'));
725 Added: orderBy: [ :each |
726 Added: (each getTable: 'MFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION') getField:
727 Added: 'position' ]
728 Added: ]
729 Added:
730 Added: { #category : 'accessing' }
731 Added: MFTDescriptorSystem >> map: anAttributeSymbol of: aDescriptor to: aTable [
732 Added:
733 Added: (aDescriptor newMapping: DirectMapping)
734 Added: from: anAttributeSymbol
735 Added: to: (aTable fieldNamed: anAttributeSymbol asString)
736 Added: ]
737 Added:
738 Added: { #category : 'accessing' }
739 Added: MFTDescriptorSystem >> mapIdOf: aDescriptor to: aTable [
740 Added:
741 Added: (aDescriptor newMapping: DirectMapping)
742 Added: from: #id
743 Added: to: (aTable fieldNamed: 'id')
744 Added: ]
745 Added:
746 Added: { #category : 'tables' }
747 Added: MFTDescriptorSystem >> tableForEQUIPMENT: aTable [
748 Added:
749 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
750 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 100)
751 Added: ]
752 Added:
753 Added: { #category : 'tables' }
754 Added: MFTDescriptorSystem >> tableForEXERCISE: aTable [
755 Added:
756 Added: | equipmentField |
757 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
758 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
759 Added: aTable createFieldNamed: 'frenchName' type: (platform varChar: 100).
760 Added: "Store Dictionary as STON/JSON text"
761 Added: aTable createFieldNamed: 'activatedMuscles' type: platform text.
762 Added:
763 Added: equipmentField := aTable
764 Added: createFieldNamed: 'equipmentId'
765 Added: type: platform integer.
766 Added: aTable
767 Added: addForeignKeyFrom: equipmentField
768 Added: to: ((self tableNamed: 'EQUIPMENT') fieldNamed: 'id')
769 Added: ]
770 Added:
771 Added: { #category : 'tables' }
772 Added: MFTDescriptorSystem >> tableForMFT_ACTIVATED_MUSCLE_GROUP_ON_EXERCISE: aTable [
773 Added:
774 Added: | exerciseField muscleGroupField |
775 Added: exerciseField := aTable
776 Added: createFieldNamed: 'exercise_id'
777 Added: type: platform integer.
778 Added: muscleGroupField := aTable
779 Added: createFieldNamed: 'muscle_group_id'
780 Added: type: platform integer.
781 Added: aTable createFieldNamed: 'activation_percent' type: platform integer.
782 Added: aTable
783 Added: addForeignKeyFrom: exerciseField
784 Added: to: ((self tableNamed: 'MFT_EXERCISE') fieldNamed: 'id').
785 Added: aTable
786 Added: addForeignKeyFrom: muscleGroupField
787 Added: to: ((self tableNamed: 'MFT_MUSCLE_GROUP') fieldNamed: 'id')
788 Added: ]
789 Added:
790 Added: { #category : 'tables' }
791 Added: MFTDescriptorSystem >> tableForMFT_EXERCISE: aTable [
792 Added:
793 Added: self addIdTo: aTable.
794 Added: self addStringFieldNamed: 'englishName' to: aTable.
795 Added: self addStringFieldNamed: 'frenchName' to: aTable.
796 Added: self
797 Added: addForeignKeyNamed: 'equipment_id'
798 Added: from: aTable
799 Added: to: 'MFT_EQUIPMENT'
800 Added: ]
801 Added:
802 Added: { #category : 'tables' }
803 Added: MFTDescriptorSystem >> tableForMFT_MUSCLE: aTable [
804 Added:
805 Added: self addIdTo: aTable.
806 Added: self addStringFieldNamed: 'latinName' to: aTable.
807 Added: self addStringFieldNamed: 'englishName' to: aTable.
808 Added: self addTextFieldNamed: 'description' to: aTable
809 Added: ]
810 Added:
811 Added: { #category : 'tables' }
812 Added: MFTDescriptorSystem >> tableForMFT_MUSCLE_GROUP: aTable [
813 Added:
814 Added: self addIdTo: aTable.
815 Added: self addStringFieldNamed: 'englishName' to: aTable.
816 Added: self addStringFieldNamed: 'frenchName' to: aTable
817 Added: ]
818 Added:
819 Added: { #category : 'tables' }
820 Added: MFTDescriptorSystem >> tableForMFT_MUSCLE_ON_MUSCLE_GROUP: aTable [
821 Added:
822 Added: | leftField rightField |
823 Added: leftField := aTable
824 Added: createFieldNamed: 'muscle_group_id'
825 Added: type: platform integer.
826 Added: rightField := aTable
827 Added: createFieldNamed: 'muscle_id'
828 Added: type: platform integer.
829 Added: aTable createFieldNamed: 'position' type: platform integer.
830 Added: aTable
831 Added: addForeignKeyFrom: leftField
832 Added: to: ((self tableNamed: 'MFT_MUSCLE_GROUP') fieldNamed: 'id').
833 Added: aTable
834 Added: addForeignKeyFrom: rightField
835 Added: to: ((self tableNamed: 'MFT_MUSCLE') fieldNamed: 'id')
836 Added: ]
837 Added:
838 Added: { #category : 'tables' }
839 Added: MFTDescriptorSystem >> tableForMFT_PRE_EXHAUST_SUPERSET_GROUP_PRESCRIPTION: aTable [
840 Added:
841 Added: self addIdTo: aTable
842 Added: ]
843 Added:
844 Added: { #category : 'tables' }
845 Added: MFTDescriptorSystem >> tableForMFT_REP_SCHEME: aTable [
846 Added:
847 Added: self addIdTo: aTable.
848 Added: aTable createFieldNamed: 'minReps' type: platform integer.
849 Added: aTable createFieldNamed: 'maxReps' type: platform integer
850 Added: ]
851 Added:
852 Added: { #category : 'tables' }
853 Added: MFTDescriptorSystem >> tableForMFT_ROUTINE: aTable [
854 Added:
855 Added: self addIdTo: aTable.
856 Added: self addStringFieldNamed: 'title' to: aTable
857 Added: ]
858 Added:
859 Added: { #category : 'tables' }
860 Added: MFTDescriptorSystem >> tableForMFT_SET_GROUP_LOG: aTable [
861 Added:
862 Added: self addIdTo: aTable.
863 Added: self addTextFieldNamed: 'notes' to: aTable.
864 Added: self
865 Added: addForeignKeyNamed: 'prescription_id'
866 Added: from: aTable
867 Added: to: 'MFT_SET_GROUP_PRESCRIPTION'
868 Added: ]
869 Added:
870 Added: { #category : 'tables' }
871 Added: MFTDescriptorSystem >> tableForMFT_SET_GROUP_LOG_ON_WORKOUT_LOG: aTable [
872 Added:
873 Added: | leftField rightField |
874 Added: leftField := aTable
875 Added: createFieldNamed: 'workout_log_id'
876 Added: type: platform integer.
877 Added: rightField := aTable
878 Added: createFieldNamed: 'set_group_log_id'
879 Added: type: platform integer.
880 Added: aTable createFieldNamed: 'position' type: platform integer.
881 Added: aTable
882 Added: addForeignKeyFrom: leftField
883 Added: to: ((self tableNamed: 'MFT_WORKOUT_LOG') fieldNamed: 'id').
884 Added: aTable
885 Added: addForeignKeyFrom: rightField
886 Added: to: ((self tableNamed: 'MFT_SET_GROUP_LOG') fieldNamed: 'id')
887 Added: ]
888 Added:
889 Added: { #category : 'tables' }
890 Added: MFTDescriptorSystem >> tableForMFT_SET_GROUP_ON_WORKOUT_PRESCRIPTION: aTable [
891 Added:
892 Added: | leftField rightField |
893 Added: leftField := aTable
894 Added: createFieldNamed: 'workout_prescription_id'
895 Added: type: platform integer.
896 Added: rightField := aTable
897 Added: createFieldNamed: 'set_group_prescription_id'
898 Added: type: platform integer.
899 Added: aTable createFieldNamed: 'position' type: platform integer.
900 Added: aTable
901 Added: addForeignKeyFrom: leftField
902 Added: to: ((self tableNamed: 'MFT_WORKOUT_PRESCRIPTION') fieldNamed: 'id').
903 Added: aTable
904 Added: addForeignKeyFrom: rightField
905 Added: to:
906 Added: ((self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION') fieldNamed: 'id')
907 Added: ]
908 Added:
909 Added: { #category : 'tables' }
910 Added: MFTDescriptorSystem >> tableForMFT_SET_GROUP_PRESCRIPTION: aTable [
911 Added:
912 Added: self addIdTo: aTable
913 Added: ]
914 Added:
915 Added: { #category : 'tables' }
916 Added: MFTDescriptorSystem >> tableForMFT_SET_LOG: aTable [
917 Added:
918 Added: self addIdTo: aTable.
919 Added: aTable createFieldNamed: 'reps' type: platform integer.
920 Added: aTable createFieldNamed: 'load' type: platform double.
921 Added: aTable createFieldNamed: 'failureAchieved' type: platform boolean.
922 Added: self
923 Added: addForeignKeyNamed: 'prescription_id'
924 Added: from: aTable
925 Added: to: 'MFT_SET_PRESCRIPTION'
926 Added: ]
927 Added:
928 Added: { #category : 'tables' }
929 Added: MFTDescriptorSystem >> tableForMFT_SET_LOG_ON_SET_GROUP_LOG: aTable [
930 Added:
931 Added: | leftField rightField |
932 Added: leftField := aTable
933 Added: createFieldNamed: 'set_group_log_id'
934 Added: type: platform integer.
935 Added: rightField := aTable
936 Added: createFieldNamed: 'set_log_id'
937 Added: type: platform integer.
938 Added: aTable createFieldNamed: 'position' type: platform integer.
939 Added: aTable
940 Added: addForeignKeyFrom: leftField
941 Added: to: ((self tableNamed: 'MFT_SET_GROUP_LOG') fieldNamed: 'id').
942 Added: aTable
943 Added: addForeignKeyFrom: rightField
944 Added: to: ((self tableNamed: 'MFT_SET_LOG') fieldNamed: 'id')
945 Added: ]
946 Added:
947 Added: { #category : 'tables' }
948 Added: MFTDescriptorSystem >> tableForMFT_SET_ON_PRE_EXHAUST_GROUP: aTable [
949 Added:
950 Added: | leftField rightField |
951 Added: leftField := aTable
952 Added: createFieldNamed: 'set_group_prescription_id'
953 Added: type: platform integer.
954 Added: rightField := aTable
955 Added: createFieldNamed: 'set_prescription_id'
956 Added: type: platform integer.
957 Added: aTable createFieldNamed: 'position' type: platform integer.
958 Added: aTable
959 Added: addForeignKeyFrom: leftField
960 Added: to:
961 Added: ((self tableNamed: 'MFT_PRE_EXHAUST_SUPERSET_GROUP_PRESCRIPTION')
962 Added: fieldNamed: 'id').
963 Added: aTable
964 Added: addForeignKeyFrom: rightField
965 Added: to: ((self tableNamed: 'MFT_SET_PRESCRIPTION') fieldNamed: 'id')
966 Added: ]
967 Added:
968 Added: { #category : 'tables' }
969 Added: MFTDescriptorSystem >> tableForMFT_SET_ON_SET_GROUP_PRESCRIPTION: aTable [
970 Added:
971 Added: | leftField rightField |
972 Added: leftField := aTable
973 Added: createFieldNamed: 'set_group_prescription_id'
974 Added: type: platform integer.
975 Added: rightField := aTable
976 Added: createFieldNamed: 'set_prescription_id'
977 Added: type: platform integer.
978 Added: aTable createFieldNamed: 'position' type: platform integer.
979 Added: aTable
980 Added: addForeignKeyFrom: leftField
981 Added: to:
982 Added: ((self tableNamed: 'MFT_SET_GROUP_PRESCRIPTION') fieldNamed: 'id').
983 Added: aTable
984 Added: addForeignKeyFrom: rightField
985 Added: to: ((self tableNamed: 'MFT_SET_PRESCRIPTION') fieldNamed: 'id')
986 Added: ]
987 Added:
988 Added: { #category : 'tables' }
989 Added: MFTDescriptorSystem >> tableForMFT_SET_ON_STRAIGHT_SET_GROUP: aTable [
990 Added:
991 Added: | leftField rightField |
992 Added: leftField := aTable
993 Added: createFieldNamed: 'set_group_prescription_id'
994 Added: type: platform integer.
995 Added: rightField := aTable
996 Added: createFieldNamed: 'set_prescription_id'
997 Added: type: platform integer.
998 Added: aTable createFieldNamed: 'position' type: platform integer.
999 Added: aTable
1000 Added: addForeignKeyFrom: leftField
1001 Added: to:
1002 Added: ((self tableNamed: 'MFT_STRAIGHT_SET_GROUP_PRESCRIPTION')
1003 Added: fieldNamed: 'id').
1004 Added: aTable
1005 Added: addForeignKeyFrom: rightField
1006 Added: to: ((self tableNamed: 'MFT_SET_PRESCRIPTION') fieldNamed: 'id')
1007 Added: ]
1008 Added:
1009 Added: { #category : 'tables' }
1010 Added: MFTDescriptorSystem >> tableForMFT_SET_ON_SUPERSET_GROUP: aTable [
1011 Added:
1012 Added: | leftField rightField |
1013 Added: leftField := aTable
1014 Added: createFieldNamed: 'set_group_prescription_id'
1015 Added: type: platform integer.
1016 Added: rightField := aTable
1017 Added: createFieldNamed: 'set_prescription_id'
1018 Added: type: platform integer.
1019 Added: aTable createFieldNamed: 'position' type: platform integer.
1020 Added: aTable
1021 Added: addForeignKeyFrom: leftField
1022 Added: to:
1023 Added: ((self tableNamed: 'MFT_SUPERSET_GROUP_PRESCRIPTION') fieldNamed:
1024 Added: 'id').
1025 Added: aTable
1026 Added: addForeignKeyFrom: rightField
1027 Added: to: ((self tableNamed: 'MFT_SET_PRESCRIPTION') fieldNamed: 'id')
1028 Added: ]
1029 Added:
1030 Added: { #category : 'tables' }
1031 Added: MFTDescriptorSystem >> tableForMFT_SET_PRESCRIPTION: aTable [
1032 Added:
1033 Added: self addIdTo: aTable.
1034 Added: self
1035 Added: addForeignKeyNamed: 'exercise_id'
1036 Added: from: aTable
1037 Added: to: 'MFT_EXERCISE'.
1038 Added: self
1039 Added: addForeignKeyNamed: 'repScheme_id'
1040 Added: from: aTable
1041 Added: to: 'MFT_REP_SCHEME'
1042 Added: ]
1043 Added:
1044 Added: { #category : 'tables' }
1045 Added: MFTDescriptorSystem >> tableForMFT_STRAIGHT_SET_GROUP_PRESCRIPTION: aTable [
1046 Added:
1047 Added: self addIdTo: aTable
1048 Added: ]
1049 Added:
1050 Added: { #category : 'tables' }
1051 Added: MFTDescriptorSystem >> tableForMFT_SUPERSET_GROUP_PRESCRIPTION: aTable [
1052 Added:
1053 Added: self addIdTo: aTable
1054 Added: ]
1055 Added:
1056 Added: { #category : 'tables' }
1057 Added: MFTDescriptorSystem >> tableForMFT_TRAINEE: aTable [
1058 Added:
1059 Added: self addIdTo: aTable.
1060 Added: self addForeignKeyNamed: 'routine_id' from: aTable to: 'MFT_ROUTINE'.
1061 Added: self
1062 Added: addForeignKeyNamed: 'logBook_id'
1063 Added: from: aTable
1064 Added: to: 'MFT_WORKOUT_LOG_BOOK'
1065 Added: ]
1066 Added:
1067 Added: { #category : 'tables' }
1068 Added: MFTDescriptorSystem >> tableForMFT_WORKOUT_LOG: aTable [
1069 Added:
1070 Added: self addIdTo: aTable.
1071 Added: aTable createFieldNamed: 'start' type: platform timestamp.
1072 Added: aTable createFieldNamed: 'finish' type: platform timestamp.
1073 Added: self
1074 Added: addForeignKeyNamed: 'prescription_id'
1075 Added: from: aTable
1076 Added: to: 'MFT_WORKOUT_PRESCRIPTION'
1077 Added: ]
1078 Added:
1079 Added: { #category : 'tables' }
1080 Added: MFTDescriptorSystem >> tableForMFT_WORKOUT_LOG_BOOK: aTable [
1081 Added:
1082 Added: self addIdTo: aTable
1083 Added: ]
1084 Added:
1085 Added: { #category : 'tables' }
1086 Added: MFTDescriptorSystem >> tableForMFT_WORKOUT_LOG_ON_LOG_BOOK: aTable [
1087 Added:
1088 Added: | leftField rightField |
1089 Added: leftField := aTable
1090 Added: createFieldNamed: 'log_book_id'
1091 Added: type: platform integer.
1092 Added: rightField := aTable
1093 Added: createFieldNamed: 'workout_log_id'
1094 Added: type: platform integer.
1095 Added: aTable createFieldNamed: 'position' type: platform integer.
1096 Added: aTable
1097 Added: addForeignKeyFrom: leftField
1098 Added: to: ((self tableNamed: 'MFT_WORKOUT_LOG_BOOK') fieldNamed: 'id').
1099 Added: aTable
1100 Added: addForeignKeyFrom: rightField
1101 Added: to: ((self tableNamed: 'MFT_WORKOUT_LOG') fieldNamed: 'id')
1102 Added: ]
1103 Added:
1104 Added: { #category : 'tables' }
1105 Added: MFTDescriptorSystem >> tableForMFT_WORKOUT_ON_ROUTINE: aTable [
1106 Added:
1107 Added: | leftField rightField |
1108 Added: leftField := aTable
1109 Added: createFieldNamed: 'routine_id'
1110 Added: type: platform integer.
1111 Added: rightField := aTable
1112 Added: createFieldNamed: 'workout_prescription_id'
1113 Added: type: platform integer.
1114 Added: aTable createFieldNamed: 'position' type: platform integer.
1115 Added: aTable
1116 Added: addForeignKeyFrom: leftField
1117 Added: to: ((self tableNamed: 'MFT_ROUTINE') fieldNamed: 'id').
1118 Added: aTable
1119 Added: addForeignKeyFrom: rightField
1120 Added: to: ((self tableNamed: 'MFT_WORKOUT_PRESCRIPTION') fieldNamed: 'id')
1121 Added: ]
1122 Added:
1123 Added: { #category : 'tables' }
1124 Added: MFTDescriptorSystem >> tableForMFT_WORKOUT_PRESCRIPTION: aTable [
1125 Added:
1126 Added: self addIdTo: aTable.
1127 Added: self addStringFieldNamed: 'title' to: aTable
1128 Added: ]
1129 Added:
1130 Added: { #category : 'tables' }
1131 Added: MFTDescriptorSystem >> tableForMUSCLE: aTable [
1132 Added:
1133 Added: | groupField |
1134 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1135 Added: aTable createFieldNamed: 'latinName' type: (platform varChar: 120).
1136 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 120).
1137 Added: aTable createFieldNamed: 'description' type: platform text.
1138 Added: groupField := aTable
1139 Added: createFieldNamed: 'muscleGroupId'
1140 Added: type: platform integer.
1141 Added: aTable
1142 Added: addForeignKeyFrom: groupField
1143 Added: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id')
1144 Added: ]
1145 Added:
1146 Added: { #category : 'tables' }
1147 Added: MFTDescriptorSystem >> tableForMUSCLEGROUP: aTable [
1148 Added:
1149 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1150 Added: aTable createFieldNamed: 'englishName' type: (platform varChar: 100).
1151 Added: aTable createFieldNamed: 'frenchName' type: (platform varChar: 100).
1152 Added: aTable createFieldNamed: 'description' type: platform text
1153 Added: ]
1154 Added:
1155 Added: { #category : 'tables' }
1156 Added: MFTDescriptorSystem >> tableForSETGROUP: aTable [
1157 Added:
1158 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey
1159 Added: ]
1160 Added:
1161 Added: { #category : 'tables' }
1162 Added: MFTDescriptorSystem >> tableForUSER: aTable [
1163 Added:
1164 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1165 Added: aTable createFieldNamed: 'username' type: (platform varChar: 80).
1166 Added: aTable createFieldNamed: 'passwordHash' type: (platform varChar: 255).
1167 Added: aTable createFieldNamed: 'realFirstName' type: (platform varChar: 80).
1168 Added: aTable createFieldNamed: 'realLastName' type: (platform varChar: 80).
1169 Added: aTable createFieldNamed: 'dateOfBirth' type: platform date.
1170 Added: aTable
1171 Added: createFieldNamed: 'lastLoginDateAndTime'
1172 Added: type: platform timestamp.
1173 Added: aTable
1174 Added: createFieldNamed: 'accountRegisterDateAndTime'
1175 Added: type: platform timestamp
1176 Added: ]
1177 Added:
1178 Added: { #category : 'tables' }
1179 Added: MFTDescriptorSystem >> tableForWEIGHT: aTable [
1180 Added:
1181 Added: | userField |
1182 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1183 Added: userField := aTable createFieldNamed: 'userId' type: platform integer.
1184 Added: aTable createFieldNamed: 'date' type: platform date.
1185 Added: aTable createFieldNamed: 'kilograms' type: platform number.
1186 Added: aTable
1187 Added: addForeignKeyFrom: userField
1188 Added: to: ((self tableNamed: 'USER') fieldNamed: 'id')
1189 Added: ]
1190 Added:
1191 Added: { #category : 'tables' }
1192 Added: MFTDescriptorSystem >> tableForWORKOUT: aTable [
1193 Added:
1194 Added: | userField planField |
1195 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1196 Added: userField := aTable createFieldNamed: 'userId' type: platform integer.
1197 Added: planField := aTable createFieldNamed: 'planId' type: platform integer.
1198 Added: aTable createFieldNamed: 'datePlanned' type: platform timestamp.
1199 Added: aTable createFieldNamed: 'dateCompleted' type: platform timestamp.
1200 Added:
1201 Added: aTable
1202 Added: addForeignKeyFrom: userField
1203 Added: to: ((self tableNamed: 'USER') fieldNamed: 'id').
1204 Added: aTable
1205 Added: addForeignKeyFrom: planField
1206 Added: to: ((self tableNamed: 'WORKOUTPLAN') fieldNamed: 'id')
1207 Added: ]
1208 Added:
1209 Added: { #category : 'tables' }
1210 Added: MFTDescriptorSystem >> tableForWORKOUTPLAN: aTable [
1211 Added:
1212 Added: | userField |
1213 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1214 Added: userField := aTable createFieldNamed: 'userId' type: platform integer.
1215 Added: aTable
1216 Added: addForeignKeyFrom: userField
1217 Added: to: ((self tableNamed: 'USER') fieldNamed: 'id')
1218 Added: ]
1219 Added:
1220 Added: { #category : 'tables' }
1221 Added: MFTDescriptorSystem >> tableForWORKOUTSET: aTable [
1222 Added:
1223 Added: | workoutField exerciseField setGroupField |
1224 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
1225 Added: workoutField := aTable
1226 Added: createFieldNamed: 'workoutId'
1227 Added: type: platform integer.
1228 Added: exerciseField := aTable
1229 Added: createFieldNamed: 'exerciseId'
1230 Added: type: platform integer.
1231 Added: setGroupField := aTable
1232 Added: createFieldNamed: 'setGroupId'
1233 Added: type: platform integer.
1234 Added:
1235 Added: aTable createFieldNamed: 'reps' type: platform integer.
1236 Added: aTable createFieldNamed: 'load' type: platform number.
1237 Added:
1238 Added: aTable
1239 Added: addForeignKeyFrom: workoutField
1240 Added: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
1241 Added: aTable
1242 Added: addForeignKeyFrom: exerciseField
1243 Added: to: ((self tableNamed: 'EXERCISE') fieldNamed: 'id').
1244 Added: aTable
1245 Added: addForeignKeyFrom: setGroupField
1246 Added: to: ((self tableNamed: 'SETGROUP') fieldNamed: 'id')
1247 Added: ]
1248 Added:
1249 Added: { #category : 'tables' }
1250 Added: MFTDescriptorSystem >> tableForWORKOUT_MUSCLEGROUP: aTable [
1251 Added:
1252 Added: | workoutField mgField |
1253 Added: (aTable createFieldNamed: 'workoutId' type: platform integer)
1254 Added: bePrimaryKey.
1255 Added: workoutField := aTable fieldNamed: 'workoutId'.
1256 Added: mgField := aTable
1257 Added: createFieldNamed: 'muscleGroupId'
1258 Added: type: platform integer.
1259 Added: aTable
1260 Added: addForeignKeyFrom: workoutField
1261 Added: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
1262 Added: aTable
1263 Added: addForeignKeyFrom: mgField
1264 Added: to: ((self tableNamed: 'MUSCLEGROUP') fieldNamed: 'id')
1265 Added: ]
1266 Added:
1267 Added: { #category : 'tables' }
1268 Added: MFTDescriptorSystem >> tableForWORKOUT_SETGROUP: aTable [
1269 Added:
1270 Added: | workoutField setGroupField |
1271 Added: workoutField := aTable
1272 Added: createFieldNamed: 'workoutId'
1273 Added: type: platform integer.
1274 Added: setGroupField := aTable
1275 Added: createFieldNamed: 'setGroupId'
1276 Added: type: platform integer.
1277 Added: aTable
1278 Added: addForeignKeyFrom: workoutField
1279 Added: to: ((self tableNamed: 'WORKOUT') fieldNamed: 'id').
1280 Added: aTable
1281 Added: addForeignKeyFrom: setGroupField
1282 Added: to: ((self tableNamed: 'SETGROUP') fieldNamed: 'id')
1283 Added: ]
src/MyFitnessTracker-Glorp/package.st
index 00000000..80051b13 000000..100644
@@ -0,0 +1,1 @@
1 Added: Package { #name : 'MyFitnessTracker-Glorp' }