-
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathdefault.js
36 lines (29 loc) · 988 Bytes
/
default.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
const Fs = require('fs');
exports.install = function() {
ROUTE('+GET /*', 'index');
ROUTE('-GET /*', 'login');
ROUTE('GET /offline/');
ROUTE('GET /pause/');
ROUTE('+GET /dbviewer/', 'dbviewer');
ROUTE('+GET /docs/{id}/', docs);
// File routes
ROUTE('FILE /manifest.json', manifest);
};
function manifest(req, res) {
res.content(200, '{"name":"{0}","short_name":"{0}","icons":[{"src":"/img/icon.png","sizes":"500x500","type":"image/png"}],"start_url":"/","display":"standalone"}'.format(CONF.name), U.getContentType('json'));
}
function docs(id) {
var self = this;
var project = MAIN.projects.findItem('id', id);
if (project == null) {
self.throw404();
return;
}
NOSQL(id + '_parts').find().callback(function(err, response) {
var docs = JSON.stringify(response);
Fs.readFile(PATH.public('docs.html'), function(err, data) {
data = data.toString('utf8').replace(/NAME/g, project.name).replace(/DATA/, docs);
self.content(data, 'text/html');
});
});
}