8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
1
2
3
|
angular.module('SessionsServ', []).service('SessionService', ['$http',
function ($http) {
a = {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
4
|
cur: false,
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
5
6
7
8
9
10
11
12
13
14
15
|
status: 0,
changeHandlers: [],
onChange: function (fun) {
this.changeHandlers.push(fun)
},
triggerChange: function () {
for (fun in this.changeHandlers) {
this.changeHandlers[fun]()
}
},
updateSessionInfos: function (data) {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
16
|
console.log("Connection:", data)
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
17
|
if (typeof data === 'object') {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
18
|
this.cur = data
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
19
|
} else {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
20
|
this.cur = false
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
21
22
23
24
|
}
this.triggerChange()
},
get: function (cb) { // Fetch infos if needed
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
if (status == 0) {
this.status = 1 // Fetching
_this = this
// TODO Verify if cookies to prevent uneeded request
$http.get('/api/session').success(function (body) {
_this.updateSessionInfos(body)
if (cb) {
if (this.logged) {
cb(null)
} else {
cb(body)
}
}
})
} else {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
40
|
console.warn("Unnecessary get() call")
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
41
42
43
|
}
},
connect: function (login, pass, cb) {
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
_this = this
$http.post('/api/session', {
login: login,
pass: pass
}).success(function (body) {
_this.updateSessionInfos(body)
if (cb) {
if (this.logged) {
cb(null)
} else {
cb(body)
}
}
})
},
disconnect: function () {
|
69695d81
Geoffrey PREUD'HOMME
Serveur: Vérifica...
|
60
|
this.updateSessionInfos(false)
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
61
|
$http.delete('/api/session')
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
62
|
}
|
9a023783
Geoffrey PREUD'HOMME
[WIP] Session mis...
|
63
|
}
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
64
65
|
a.get()
return a
|
9a023783
Geoffrey PREUD'HOMME
[WIP] Session mis...
|
66
|
}
|
8bb442a5
Geoffrey PREUD'HOMME
Possibilité de se...
|
67
|
])
|