MFTDescriptorSystem draft.

Commit
9d1e39f047c03b5c90eb95b8faed6837e84c555b
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
src/MyFitnessTracker/MFTDescriptorSystem.class.st
index 00000000..0b0d8817 000000..100644
@@ -0,0 +1,58 @@
1 Added: Class {
2 Added: #name : #MFTDescriptorSystem,
3 Added: #superclass : #DescriptorSystem,
4 Added: #category : #'MyFitnessTracker-Model'
5 Added: }
6 Added:
7 Added: { #category : #accessing }
8 Added: MFTDescriptorSystem >> allTableNames [
9 Added: "Return a list of all the table names that this system uses."
10 Added:
11 Added: ^ #( 'Users' )
12 Added: ]
13 Added:
14 Added: { #category : #'class membership' }
15 Added: MFTDescriptorSystem >> classModelForUser: aClassModel [
16 Added:
17 Added: aClassModel newAttributeNamed: #id.
18 Added: aClassModel newAttributeNamed: #username.
19 Added: aClassModel newAttributeNamed: #passwordHash.
20 Added: aClassModel newAttributeNamed: #dateOfBirth.
21 Added: aClassModel newAttributeNamed: #realFirstName.
22 Added: aClassModel newAttributeNamed: #realLastName
23 Added: ]
24 Added:
25 Added: { #category : #'as yet unclassified' }
26 Added: MFTDescriptorSystem >> descriptorForUser: aDescriptor [
27 Added:
28 Added: | table |
29 Added: table := self tableNamed: 'User'.
30 Added: aDescriptor table: table.
31 Added: aDescriptor directMappingFor: #id.
32 Added: (aDescriptor newMapping: DirectMapping)
33 Added: from: #username
34 Added: to: (table fieldNamed: 'username').
35 Added: (aDescriptor newMapping: DirectMapping)
36 Added: from: #passwordHash
37 Added: to: (table fieldNamed: 'passwordHash').
38 Added: (aDescriptor newMapping: DirectMapping)
39 Added: from: #firstName
40 Added: to: (table fieldNamed: 'firstName').
41 Added: (aDescriptor newMapping: DirectMapping)
42 Added: from: #lastName
43 Added: to: (table fieldNamed: 'lastName').
44 Added: (aDescriptor newMapping: DirectMapping)
45 Added: from: #dateOfBirth
46 Added: to: (table fieldNamed: 'dateOfBirth')
47 Added: ]
48 Added:
49 Added: { #category : #tables }
50 Added: MFTDescriptorSystem >> tableForUser: aTable [
51 Added:
52 Added: (aTable createFieldNamed: 'id' type: platform serial) bePrimaryKey.
53 Added: aTable createFieldNamed: 'username' type: (platform varChar: 20).
54 Added: aTable createFieldNamed: 'passwordHash' type: (platform varChar: 100).
55 Added: aTable createFieldNamed: 'realFirstName' type: (platform varChar: 20).
56 Added: aTable createFieldNamed: 'realLastName' type: (platform varChar: 20).
57 Added: aTable createFieldNamed: 'dateOfBirth' type: platform date
58 Added: ]