UIAngular/Server/src/routes/api/api.js

53 lines
1.5 KiB
JavaScript

var express = require('express');
var router = express.Router();
const { execFile } = require('child_process');
const fs = require('fs');
// /action/a means that it needs an authenticated user
router.use("/users/a", require("./require-auth"));
router.use("/sermons/a", require("./require-auth"));
router.use("/events/a", require("./require-auth"));
// routes
router.use("/", require("./main"));
router.use("/users", require("./users"));
router.use("/sermons", require("./sermons"));
router.use("/events", require("./events"));
router.use("/login", require("./login"));
router.use("/email", require("./email"));
router.use('/share',require('./share'));
router.get('/cim/:month/:day',function(req,res){
var dir = __dirname.replace('/routes/api','');
console.log(dir);
var file = dir + '/calendar_image_maker/generated_images/' + req.params.month + '_' + req.params.day + '.png';
if (fs.existsSync(file)){
console.log("already exists");
res.sendFile(file);
return;
}
console.log(process.platform);
if (process.platform != 'win32'){
child = execFile(dir + '/calendar_image_maker/bin/phantomjs', [dir + '/calendar_image_maker/script.js', req.params.month, req.params.day], (error, stdout, stderr) => {
console.log("MAKE");
if (error) {
throw error;
}
if (fs.existsSync(file)){
res.sendFile(file);
return;
} else {
res.error("Error");
}
});
} else {
res.send("WIN");
}
});
module.exports = router;