[Pharo] Personal fitness tracker web app.
Rewrite GLORP descriptor system.
Changed files
src/MyFitnessTracker-Database/MFTDescriptorSystem.class.st
@@ -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
@@ -1,1 +0,0 @@
1
Removed:
Package { #name : 'MyFitnessTracker-Database' }
src/MyFitnessTracker-Glorp/MFTDescriptorSystem.class.st
@@ -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
@@ -0,0 +1,1 @@
1
Added:
Package { #name : 'MyFitnessTracker-Glorp' }