mirror of
https://github.com/tomru/pdfer.git
synced 2026-03-03 14:37:21 +01:00
store json after every generate
This commit is contained in:
@@ -3,8 +3,8 @@ const bodyParser = require('body-parser');
|
||||
const app = express();
|
||||
const templates = require('./templates');
|
||||
const renderer = require('./renderer');
|
||||
|
||||
const {getPdfPath} = require('./utils');
|
||||
const store = require('./store');
|
||||
const { getPdfPath } = require('./utils');
|
||||
|
||||
app.use(bodyParser.json());
|
||||
|
||||
@@ -15,6 +15,15 @@ app.post('/api/pdf/generate/:template', (req, res) => {
|
||||
|
||||
templates.get(templateName, options)
|
||||
.then(renderer)
|
||||
.then(id => {
|
||||
const storeData = Object.assign({}, options, {
|
||||
id,
|
||||
created: new Date().toISOString()
|
||||
});
|
||||
return store
|
||||
.add(storeData)
|
||||
.then(() => id);
|
||||
})
|
||||
.then(id => {
|
||||
res.send({id: id});
|
||||
res.end();
|
||||
@@ -25,6 +34,14 @@ app.post('/api/pdf/generate/:template', (req, res) => {
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/api/pdf/latest', (req, res) => {
|
||||
store
|
||||
.list()
|
||||
.then(results => res.json(results))
|
||||
.catch(err => res.sendStatus(500).end(err));
|
||||
});
|
||||
|
||||
|
||||
app.options('/api/pdf/:id');
|
||||
app.get('/api/pdf/:id', (req, res) => {
|
||||
const {id} = req.params;
|
||||
|
||||
3667
server/package-lock.json
generated
Normal file
3667
server/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -13,6 +13,8 @@
|
||||
"dependencies": {
|
||||
"body-parser": "^1.16.1",
|
||||
"express": "^4.14.1",
|
||||
"glob": "^7.1.2",
|
||||
"json-fs-store": "^1.0.1",
|
||||
"uuid": "^3.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
14
server/store.js
Normal file
14
server/store.js
Normal file
@@ -0,0 +1,14 @@
|
||||
const store = require('json-fs-store')('/tmp/pdfer-store/');
|
||||
const { promisify } = require('util');
|
||||
|
||||
const list = promisify(store.list);
|
||||
const load = promisify(store.load);
|
||||
const add = promisify(store.add);
|
||||
|
||||
module.exports = {
|
||||
list: () => list(),
|
||||
load: id => load(id),
|
||||
add: item => add(item),
|
||||
}
|
||||
|
||||
|
||||
@@ -15,5 +15,5 @@ function getPdfPath(id) {
|
||||
module.exports = {
|
||||
getDirPath,
|
||||
getDocPath,
|
||||
getPdfPath
|
||||
getPdfPath,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user