[Pharo] Personal fitness tracker web app.
MFT Session.
src/MyFitnessTracker/MFTSession.class.st
@@ -2,7 +2,79 @@
2
2
#name : #MFTSession,
3
3
#superclass : #WASession,
4
4
#instVars : [
5
Removed:
'user'
5
Added:
'user',
6
Added:
'dbConnection'
6
7
],
7
Removed:
#category : #'MyFitnessTracker-Session'
8
Added:
#category : #MyFitnessTracker
8
9
}
10
Added:
11
Added:
{ #category : #'as yet unclassified' }
12
Added:
MFTSession >> allProspects [
13
Added:
14
Added:
^ (self session dbConnection execute: 'SELECT * FROM prospects') rows
15
Added:
collect: #email
16
Added:
]
17
Added:
18
Added:
{ #category : #'as yet unclassified' }
19
Added:
MFTSession >> attemptLoginWithEmail: anEmail password: aPassword [
20
Added:
21
Added:
| targetUser |
22
Added:
targetUser := self findUserByEmail: anEmail.
23
Added:
targetUser ifNotNil: [
24
Added:
targetUser passwordHash = aPassword ifTrue: [ ^ self user: user ] ]
25
Added:
]
26
Added:
27
Added:
{ #category : #accessing }
28
Added:
MFTSession >> dbConnection [
29
Added:
30
Added:
^ dbConnection
31
Added:
]
32
Added:
33
Added:
{ #category : #accessing }
34
Added:
MFTSession >> dbConnection: anObject [
35
Added:
36
Added:
dbConnection := anObject
37
Added:
]
38
Added:
39
Added:
{ #category : #'as yet unclassified' }
40
Added:
MFTSession >> findUserByEmail: anEmail [
41
Added:
42
Added:
^ true
43
Added:
]
44
Added:
45
Added:
{ #category : #initialization }
46
Added:
MFTSession >> initialize [
47
Added:
48
Added:
super initialize.
49
Added:
user := nil.
50
Added:
dbConnection := SQLite3Connection on:
51
Added:
(Smalltalk imageDirectory / 'mft.db') fullName.
52
Added:
dbConnection open
53
Added:
"TODO: Deal with database connection errors...
54
Added:
dbConnection isOpen ifFalse: [ ]"
55
Added:
]
56
Added:
57
Added:
{ #category : #login }
58
Added:
MFTSession >> logout [
59
Added:
60
Added:
user := nil
61
Added:
]
62
Added:
63
Added:
{ #category : #'parent/child' }
64
Added:
MFTSession >> unregistered [
65
Added:
66
Added:
dbConnection close.
67
Added:
super unregistered
68
Added:
]
69
Added:
70
Added:
{ #category : #accessing }
71
Added:
MFTSession >> user [
72
Added:
73
Added:
^ user
74
Added:
]
75
Added:
76
Added:
{ #category : #accessing }
77
Added:
MFTSession >> user: anObject [
78
Added:
79
Added:
user := anObject
80
Added:
]