Add slides api endpoint
This commit is contained in:
parent
04646ddeed
commit
2d1e678aa6
36
bin/deck
36
bin/deck
@ -61,6 +61,42 @@ function serveIfExists(path) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
app.get('/slides', function showHandler(req, res) {
|
||||||
|
fs.readdir(pathToFile('data', 'slide'), function (err, files) {
|
||||||
|
files.sort();
|
||||||
|
var jsonFiles = _.filter(files, function (file) {
|
||||||
|
return /^\d+.json$/.test(file);
|
||||||
|
});
|
||||||
|
|
||||||
|
var getJsonFiles = _.map(jsonFiles, function (file) {
|
||||||
|
return function (cb) {
|
||||||
|
var serve = serveIfExists(pathToFile('data', 'slide', file));
|
||||||
|
serve(function (err, content) {
|
||||||
|
if (err) {
|
||||||
|
cb(err, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
var json = JSON.parse(content);
|
||||||
|
} catch (err) {
|
||||||
|
cb(err, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cb(null, json);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
async.parallel(getJsonFiles, function (err, slideContent) {
|
||||||
|
if (err) {
|
||||||
|
renderError(res, err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.send(slideContent);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
app.get(/slide\/(\d+)/, function showHandler(req, res, next) {
|
app.get(/slide\/(\d+)/, function showHandler(req, res, next) {
|
||||||
var slideId = req.params[0];
|
var slideId = req.params[0];
|
||||||
var slidePath = pathToFile('data', 'slide', slideId + '.json');
|
var slidePath = pathToFile('data', 'slide', slideId + '.json');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user