This repository was archived by the owner on Aug 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathapp.js
More file actions
104 lines (95 loc) · 3.05 KB
/
app.js
File metadata and controls
104 lines (95 loc) · 3.05 KB
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
'use strict';
const express = require('express'),
config = require('./config.json'),
api = require('./index.js'),
app = express(),
sessions = {};
app.get('/', function (req, res) {
res.send({status: 'OK'})
});
app.get('/login', (req, res) => {
api.login({
usercode: req.query.usercode,
password: req.query.password,
custcode: req.query.custcode,
pin: req.query.pin
}).then(session => {
sessions[session.sessionId] = session;
res.send({status: 'OK', sessionId: session.sessionId})
}, error => {
res.send({status: 'error', error: error.message})
});
});
app.get('/:sessionId/', (req, res) => {
var session = sessions[req.params.sessionId];
if (session) {
session.profile().then(result => {
res.send({status: 'OK', profile: result})
}, error => {
res.send({status: 'error', error: error.message})
}
)
} else {
res.send({status: 'error', error: 'Unregistered session ID'})
}
});
app.get('/:sessionId/grades', (req, res) => {
var session = sessions[req.params.sessionId];
if (session) {
session.grades().then(result => {
res.send({status: 'OK', grades: result})
}, error => {
res.send({status: 'error', error: error.message})
})
} else {
res.send({status: 'error', error: 'Unregistered session ID'})
}
});
app.get('/:sessionId/agenda', (req, res) => {
var session = sessions[req.params.sessionId];
if (session) {
session.agenda(req.query.start, req.query.end).then(result => {
res.send({status: 'OK', agenda: result})
}, error => {
res.send({status: 'error', error: error.message})
})
} else {
res.send({status: 'error', error: 'Unregistered session ID'})
}
});
app.get('/:sessionId/files', (req, res) => {
var session = sessions[req.params.sessionId];
if (session) {
session.files().then(result => {
res.send({status: 'OK', files: result})
}, error => {
res.send({status: 'error', error: error.message})
})
} else {
res.send({status: 'error', error: 'Unregistered session ID'})
}
});
app.get('/:sessionId/notes', (req, res) => {
var session = sessions[req.params.sessionId];
if (session) {
session.notes().then(result => {
res.send({status: 'OK', notes: result})
}, error => {
res.send({status: 'error', error: error.message})
})
} else {
res.send({status: 'error', error: 'Unregistered session ID'})
}
});
app.get('/:sessionId/logout', (req, res) => {
var session = sessions[req.params.sessionId];
if (session) {
delete sessions[req.params.sessionId];
} else {
res.send({status: 'error', error: 'Unregistered session ID'})
}
});
var server = app.listen(process.env.PORT || config.port || 8080, () => {
var port = server.address().port;
console.log(`Classeviva API listening on port ${port}`);
});