-
Notifications
You must be signed in to change notification settings - Fork 0
/
context.js
73 lines (63 loc) · 2.15 KB
/
context.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
module.exports = function(modules, classes, configurations, database, data) {
var createContext = function(req, done) {
var sessionId = req.session.sessionId;
var userId = req.session.userId;
var context = {
jokes: [],
sessionId: sessionId,
loggedIn: false,
message: "",
userId: userId,
username: "",
joker: false,
moderator: false,
davey: false,
users: null
}
if (userId) {
context.loggedIn = true;
var currentuser = req.session.user;
if (currentuser) {
context.username = currentuser.username;
context.joker = currentuser.joker;
context.moderator = currentuser.moderator;
context.davey = currentuser.davey;
}
}
var jokes = data.getJokes(sessionId, userId, new classes.Result(), function(result) {
if (result.successfull) {
context.jokes = result.getResult('jokes');
return done(true, context);
} else {
console.log("Error retrieving jokes!");
return done(false)
}
});
}
var createAdminContext = function(req, done) {
createContext(req, function(success, context) {
if ((success) && (context.davey || context.moderator)) {
var result = new classes.Result();
var users = data.getUsers(result, function(result) {
if (result.successfull) {
var users = result.GRAPResult('users');
context.users = users;
done(true, context);
} else {
done(false, context)
}
})
} else {
if (context) {
done(false, context);
} else {
done(false);
}
}
})
}
return {
createContext: createContext,
createAdminContext: createAdminContext
}
}