109 lines
3.3 KiB
JavaScript
109 lines
3.3 KiB
JavaScript
var express = require('express');
|
|
var router = new express.Router();
|
|
var template = require('../template.js');
|
|
var config = require('../config.js');
|
|
var pdf = require('html-pdf');
|
|
var path = require('path');
|
|
var auth = require('../auth.js');
|
|
|
|
// Auth middleware
|
|
var requestToken = function(request, response, next) {
|
|
auth.init(request, response, next);
|
|
};
|
|
|
|
// Sepa core
|
|
router.get('/sepa-core/:companyId/:clientId', requestToken, function(request, response, next) {
|
|
let params = {
|
|
clientId: request.params.clientId,
|
|
companyId: request.params.companyId
|
|
};
|
|
|
|
template.get('sepa-core', params, (error, result) => {
|
|
if (error)
|
|
return response.status(400).json({message: error.message});
|
|
|
|
pdf.create(result.body, config.pdf).toStream(function(error, stream) {
|
|
if (error)
|
|
throw Error(error);
|
|
|
|
response.setHeader('Content-Disposition', 'attachment; filename="sepa-core.pdf"');
|
|
response.setHeader('Content-type', 'application/pdf');
|
|
stream.pipe(response);
|
|
});
|
|
});
|
|
});
|
|
|
|
// Sepa core html preview
|
|
router.get('/sepa-core/:companyId/:clientId/preview', requestToken, function(request, response, next) {
|
|
let params = {
|
|
clientId: request.params.clientId,
|
|
companyId: request.params.companyId,
|
|
isPreview: true
|
|
};
|
|
|
|
template.get('sepa-core', params, (error, result) => {
|
|
if (error)
|
|
return response.status(400).json({message: error.message});
|
|
|
|
response.send(result.body);
|
|
});
|
|
});
|
|
|
|
// Debtor letter
|
|
router.get('/letter-debtor/:companyId/:clientId', requestToken, function(request, response, next) {
|
|
let params = {
|
|
clientId: request.params.clientId,
|
|
companyId: request.params.companyId
|
|
};
|
|
|
|
template.get('letter-debtor', params, (error, result) => {
|
|
if (error)
|
|
return response.status(400).json({message: error.message});
|
|
|
|
pdf.create(result.body, config.pdf).toStream(function(error, stream) {
|
|
if (error)
|
|
throw Error(error);
|
|
|
|
response.setHeader('Content-Disposition', 'attachment; filename="extracto.pdf"');
|
|
response.setHeader('Content-type', 'application/pdf');
|
|
stream.pipe(response);
|
|
});
|
|
});
|
|
});
|
|
|
|
// Debtor letter html preview
|
|
router.get('/letter-debtor/:companyId/:clientId/preview', requestToken, function(request, response, next) {
|
|
let params = {
|
|
clientId: request.params.clientId,
|
|
companyId: request.params.companyId,
|
|
isPreview: true
|
|
};
|
|
|
|
template.get('letter-debtor', params, (error, result) => {
|
|
if (error)
|
|
return response.status(400).json({message: error.message});
|
|
|
|
response.send(result.body);
|
|
});
|
|
});
|
|
|
|
|
|
module.exports = router;
|
|
|
|
|
|
// store pdf
|
|
/* router.post('/sepa-core/:clientId', function(request, response, next) {
|
|
template.get('sepa-core', {recipient: request.params.clientId}, (error, result) => {
|
|
if (error)
|
|
return response.status(400).json({message: error.message});
|
|
|
|
pdf.create(result.body).toFile('./tmp/test.pdf', function(error, result) {
|
|
if (error)
|
|
return response.status(400).json({message: error});
|
|
|
|
console.log(result);
|
|
return response.json();
|
|
});
|
|
});
|
|
});
|
|
*/ |