@pxp-nd/core 1.2.72 → 1.2.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/PxpApp.d.ts +54 -54
- package/dist/PxpApp.js +283 -305
- package/dist/ScriptManager.d.ts +1 -1
- package/dist/ScriptManager.js +130 -130
- package/dist/database/script.d.ts +16 -16
- package/dist/database/script.js +143 -143
- package/dist/db.datasource.d.ts +2 -2
- package/dist/db.datasource.js +86 -86
- package/dist/entities/Log.d.ts +32 -32
- package/dist/entities/Log.js +95 -95
- package/dist/entities/ScriptVersion.d.ts +19 -19
- package/dist/entities/ScriptVersion.js +43 -43
- package/dist/index.d.ts +11 -11
- package/dist/index.js +28 -28
- package/dist/interfaces.d.ts +49 -49
- package/dist/interfaces.js +3 -3
- package/dist/lib/pxp/Controller.d.ts +51 -51
- package/dist/lib/pxp/Controller.js +377 -377
- package/dist/lib/pxp/ControllerInterface.d.ts +18 -18
- package/dist/lib/pxp/ControllerInterface.js +2 -2
- package/dist/lib/pxp/Decorators.d.ts +23 -23
- package/dist/lib/pxp/Decorators.js +123 -123
- package/dist/lib/pxp/ListParamInterface.d.ts +23 -23
- package/dist/lib/pxp/ListParamInterface.js +2 -2
- package/dist/lib/pxp/PxpError.d.ts +24 -24
- package/dist/lib/pxp/PxpError.js +57 -57
- package/dist/lib/pxp/RouteDefinition.d.ts +26 -26
- package/dist/lib/pxp/RouteDefinition.js +26 -26
- package/dist/lib/pxp/index.d.ts +20 -20
- package/dist/lib/pxp/index.js +33 -33
- package/dist/lib/pxp/loadControllers.d.ts +4 -4
- package/dist/lib/pxp/loadControllers.js +89 -89
- package/dist/lib/pxp/middlewares/ParseParams.d.ts +4 -4
- package/dist/lib/pxp/middlewares/ParseParams.js +71 -71
- package/dist/lib/pxp/middlewares/isReportMiddleware.d.ts +2 -2
- package/dist/lib/pxp/middlewares/isReportMiddleware.js +13 -13
- package/dist/lib/pxp/utils/Security.d.ts +23 -23
- package/dist/lib/pxp/utils/Security.js +79 -77
- package/dist/lib/pxp/utils/crypto.d.ts +3 -3
- package/dist/lib/pxp/utils/crypto.js +15 -15
- package/dist/lib/reports/fonts/Roboto-Regular-normal.d.ts +2 -2
- package/dist/lib/reports/fonts/Roboto-Regular-normal.js +4 -4
- package/dist/lib/reports/generated.d.ts +4 -4
- package/dist/lib/reports/generated.js +200 -200
- package/dist/lib/reports/helper.d.ts +8 -8
- package/dist/lib/reports/helper.js +49 -49
- package/dist/lib/reports/pdf.d.ts +3 -3
- package/dist/lib/reports/pdf.js +119 -119
- package/dist/lib/reports/report-routes.d.ts +3 -3
- package/dist/lib/reports/report-routes.js +24 -24
- package/dist/lib/reports/xlsx.d.ts +1 -1
- package/dist/lib/reports/xlsx.js +65 -65
- package/dist/sockets/basic-sockets.d.ts +5 -5
- package/dist/sockets/basic-sockets.js +38 -38
- package/dist/sockets/entities/UserIo.d.ts +6 -6
- package/dist/sockets/entities/UserIo.js +30 -30
- package/dist/sockets/entities/index.d.ts +5 -5
- package/dist/sockets/entities/index.js +9 -9
- package/dist/sockets/index.d.ts +2 -2
- package/dist/sockets/index.js +19 -19
- package/dist/sockets/pxp-io-server.d.ts +6 -6
- package/dist/sockets/pxp-io-server.js +50 -50
- package/dist/swaggerOptions.d.ts +16 -16
- package/dist/swaggerOptions.js +20 -20
- package/package.json +65 -65
- package/yalc.lock +9 -9
package/dist/lib/reports/pdf.js
CHANGED
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.makePdf = exports.setRobotoFont = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const jspdf_1 = require("jspdf");
|
|
9
|
-
require("jspdf-autotable");
|
|
10
|
-
const moment_1 = __importDefault(require("moment"));
|
|
11
|
-
const typeorm_1 = require("typeorm");
|
|
12
|
-
const Roboto_Regular_normal_js_1 = __importDefault(require("./fonts/Roboto-Regular-normal.js"));
|
|
13
|
-
const helper_1 = require("./helper");
|
|
14
|
-
const buildHeader = (doc, title) => {
|
|
15
|
-
// doc.setTextColor(40);//optional
|
|
16
|
-
// doc.setFontStyle('normal');//optional
|
|
17
|
-
doc.setFontSize(16);
|
|
18
|
-
doc.text(title.toLocaleUpperCase(), 100, 10, 'center');
|
|
19
|
-
doc.line(12, 12, 200, 12); // horizontal line
|
|
20
|
-
};
|
|
21
|
-
const buildFooter = (doc, user) => {
|
|
22
|
-
doc.setFontSize(12);
|
|
23
|
-
doc.text('Usuario: ' + user.username, 10, 290);
|
|
24
|
-
doc.text(moment_1.default().format('LLL'), 150, 290);
|
|
25
|
-
};
|
|
26
|
-
const buildParams = (doc, filters) => {
|
|
27
|
-
doc.setFontSize(10);
|
|
28
|
-
let init = 20;
|
|
29
|
-
Object.keys(filters).forEach(key => {
|
|
30
|
-
const filter = filters[key];
|
|
31
|
-
doc.text(filter.label + ': ', 24, init);
|
|
32
|
-
doc.text(filter.value.toString(), 50, init);
|
|
33
|
-
init += 4;
|
|
34
|
-
});
|
|
35
|
-
};
|
|
36
|
-
const setRobotoFont = (doc) => {
|
|
37
|
-
doc.addFileToVFS('Roboto-Regular.ttf', Roboto_Regular_normal_js_1.default);
|
|
38
|
-
doc.addFont('Roboto-Regular.ttf', 'Roboto', 'normal');
|
|
39
|
-
doc.setFont('Roboto');
|
|
40
|
-
};
|
|
41
|
-
exports.setRobotoFont = setRobotoFont;
|
|
42
|
-
const totalRender = (columns = [], totals = {}) => {
|
|
43
|
-
return columns.map((column) => {
|
|
44
|
-
if (totals[column.dataKey]) {
|
|
45
|
-
return totals[column.dataKey];
|
|
46
|
-
}
|
|
47
|
-
return '';
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
const footStyles = {
|
|
51
|
-
fillColor: '#e8e8e8',
|
|
52
|
-
textColor: '#2a2a2b',
|
|
53
|
-
fontSize: 11,
|
|
54
|
-
};
|
|
55
|
-
const makePdf = async (req, res) => {
|
|
56
|
-
try {
|
|
57
|
-
let data, params = null;
|
|
58
|
-
let filters = {};
|
|
59
|
-
if (!req.reportData) {
|
|
60
|
-
// s-params
|
|
61
|
-
params = await helper_1.parseParams(req);
|
|
62
|
-
const Entity = await helper_1.getEntity(params.module, params.entity);
|
|
63
|
-
data = await typeorm_1.getManager().find(Entity);
|
|
64
|
-
// e-params
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
data = req.reportData.data;
|
|
68
|
-
params = Object.assign({}, req.report);
|
|
69
|
-
filters = req.reportData.filters || {};
|
|
70
|
-
}
|
|
71
|
-
const doc = new jspdf_1.jsPDF({ filters: ['ASCIIHexEncode'] });
|
|
72
|
-
const pdfPath = path_1.default.join(__dirname, params.filename + '.pdf');
|
|
73
|
-
const pageNumber = doc.internal.getNumberOfPages();
|
|
74
|
-
res.setHeader('Content-Disposition', 'inline; filename="' + params.filename + '.pdf" ');
|
|
75
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
76
|
-
res.setHeader('Content-Type', 'application/pdf');
|
|
77
|
-
// CONFIGURATION PDF
|
|
78
|
-
// Optional - set properties on the document
|
|
79
|
-
doc.setProperties({
|
|
80
|
-
title: params.filename,
|
|
81
|
-
subject: 'Generated Report',
|
|
82
|
-
author: 'Kplian',
|
|
83
|
-
keywords: 'generated, javascript, web 2.0',
|
|
84
|
-
creator: 'MEEE'
|
|
85
|
-
});
|
|
86
|
-
exports.setRobotoFont(doc);
|
|
87
|
-
doc.setFontSize(12);
|
|
88
|
-
buildHeader(doc, params.filename);
|
|
89
|
-
buildParams(doc, filters);
|
|
90
|
-
doc.autoTable({
|
|
91
|
-
columns: params.columns,
|
|
92
|
-
margin: { top: 20 + 4 * Object.keys(filters).length },
|
|
93
|
-
body: data,
|
|
94
|
-
foot: [totalRender(params.columns, req.reportData.totals)],
|
|
95
|
-
footStyles
|
|
96
|
-
});
|
|
97
|
-
/*** DETAIL REPORT START***/
|
|
98
|
-
const detail = req.reportDetailData;
|
|
99
|
-
if (detail) {
|
|
100
|
-
doc.autoTable({
|
|
101
|
-
columns: detail.columns,
|
|
102
|
-
margin: { top: 20 },
|
|
103
|
-
body: detail.data,
|
|
104
|
-
foot: [totalRender(detail.columns, req.reportDetailData.totals)],
|
|
105
|
-
footStyles
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
/*** DETAIL REPORT END ***/
|
|
109
|
-
doc.setPage(pageNumber);
|
|
110
|
-
buildFooter(doc, req.user);
|
|
111
|
-
res.end(doc.output());
|
|
112
|
-
// doc.save(pdfPath + '.pdf');
|
|
113
|
-
}
|
|
114
|
-
catch (err) {
|
|
115
|
-
console.log(err);
|
|
116
|
-
res.status(400).json({ message: 'An error occured in process' });
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
exports.makePdf = makePdf;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.makePdf = exports.setRobotoFont = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const jspdf_1 = require("jspdf");
|
|
9
|
+
require("jspdf-autotable");
|
|
10
|
+
const moment_1 = __importDefault(require("moment"));
|
|
11
|
+
const typeorm_1 = require("typeorm");
|
|
12
|
+
const Roboto_Regular_normal_js_1 = __importDefault(require("./fonts/Roboto-Regular-normal.js"));
|
|
13
|
+
const helper_1 = require("./helper");
|
|
14
|
+
const buildHeader = (doc, title) => {
|
|
15
|
+
// doc.setTextColor(40);//optional
|
|
16
|
+
// doc.setFontStyle('normal');//optional
|
|
17
|
+
doc.setFontSize(16);
|
|
18
|
+
doc.text(title.toLocaleUpperCase(), 100, 10, 'center');
|
|
19
|
+
doc.line(12, 12, 200, 12); // horizontal line
|
|
20
|
+
};
|
|
21
|
+
const buildFooter = (doc, user) => {
|
|
22
|
+
doc.setFontSize(12);
|
|
23
|
+
doc.text('Usuario: ' + user.username, 10, 290);
|
|
24
|
+
doc.text(moment_1.default().format('LLL'), 150, 290);
|
|
25
|
+
};
|
|
26
|
+
const buildParams = (doc, filters) => {
|
|
27
|
+
doc.setFontSize(10);
|
|
28
|
+
let init = 20;
|
|
29
|
+
Object.keys(filters).forEach(key => {
|
|
30
|
+
const filter = filters[key];
|
|
31
|
+
doc.text(filter.label + ': ', 24, init);
|
|
32
|
+
doc.text(filter.value.toString(), 50, init);
|
|
33
|
+
init += 4;
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const setRobotoFont = (doc) => {
|
|
37
|
+
doc.addFileToVFS('Roboto-Regular.ttf', Roboto_Regular_normal_js_1.default);
|
|
38
|
+
doc.addFont('Roboto-Regular.ttf', 'Roboto', 'normal');
|
|
39
|
+
doc.setFont('Roboto');
|
|
40
|
+
};
|
|
41
|
+
exports.setRobotoFont = setRobotoFont;
|
|
42
|
+
const totalRender = (columns = [], totals = {}) => {
|
|
43
|
+
return columns.map((column) => {
|
|
44
|
+
if (totals[column.dataKey]) {
|
|
45
|
+
return totals[column.dataKey];
|
|
46
|
+
}
|
|
47
|
+
return '';
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
const footStyles = {
|
|
51
|
+
fillColor: '#e8e8e8',
|
|
52
|
+
textColor: '#2a2a2b',
|
|
53
|
+
fontSize: 11,
|
|
54
|
+
};
|
|
55
|
+
const makePdf = async (req, res) => {
|
|
56
|
+
try {
|
|
57
|
+
let data, params = null;
|
|
58
|
+
let filters = {};
|
|
59
|
+
if (!req.reportData) {
|
|
60
|
+
// s-params
|
|
61
|
+
params = await helper_1.parseParams(req);
|
|
62
|
+
const Entity = await helper_1.getEntity(params.module, params.entity);
|
|
63
|
+
data = await typeorm_1.getManager().find(Entity);
|
|
64
|
+
// e-params
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
data = req.reportData.data;
|
|
68
|
+
params = Object.assign({}, req.report);
|
|
69
|
+
filters = req.reportData.filters || {};
|
|
70
|
+
}
|
|
71
|
+
const doc = new jspdf_1.jsPDF({ filters: ['ASCIIHexEncode'] });
|
|
72
|
+
const pdfPath = path_1.default.join(__dirname, params.filename + '.pdf');
|
|
73
|
+
const pageNumber = doc.internal.getNumberOfPages();
|
|
74
|
+
res.setHeader('Content-Disposition', 'inline; filename="' + params.filename + '.pdf" ');
|
|
75
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
76
|
+
res.setHeader('Content-Type', 'application/pdf');
|
|
77
|
+
// CONFIGURATION PDF
|
|
78
|
+
// Optional - set properties on the document
|
|
79
|
+
doc.setProperties({
|
|
80
|
+
title: params.filename,
|
|
81
|
+
subject: 'Generated Report',
|
|
82
|
+
author: 'Kplian',
|
|
83
|
+
keywords: 'generated, javascript, web 2.0',
|
|
84
|
+
creator: 'MEEE'
|
|
85
|
+
});
|
|
86
|
+
exports.setRobotoFont(doc);
|
|
87
|
+
doc.setFontSize(12);
|
|
88
|
+
buildHeader(doc, params.filename);
|
|
89
|
+
buildParams(doc, filters);
|
|
90
|
+
doc.autoTable({
|
|
91
|
+
columns: params.columns,
|
|
92
|
+
margin: { top: 20 + 4 * Object.keys(filters).length },
|
|
93
|
+
body: data,
|
|
94
|
+
foot: [totalRender(params.columns, req.reportData.totals)],
|
|
95
|
+
footStyles
|
|
96
|
+
});
|
|
97
|
+
/*** DETAIL REPORT START***/
|
|
98
|
+
const detail = req.reportDetailData;
|
|
99
|
+
if (detail) {
|
|
100
|
+
doc.autoTable({
|
|
101
|
+
columns: detail.columns,
|
|
102
|
+
margin: { top: 20 },
|
|
103
|
+
body: detail.data,
|
|
104
|
+
foot: [totalRender(detail.columns, req.reportDetailData.totals)],
|
|
105
|
+
footStyles
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/*** DETAIL REPORT END ***/
|
|
109
|
+
doc.setPage(pageNumber);
|
|
110
|
+
buildFooter(doc, req.user);
|
|
111
|
+
res.end(doc.output());
|
|
112
|
+
// doc.save(pdfPath + '.pdf');
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
console.log(err);
|
|
116
|
+
res.status(400).json({ message: 'An error occured in process' });
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
exports.makePdf = makePdf;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IConfigPxpApp } from '../../interfaces';
|
|
2
|
-
declare const getReportsRouter: (config: IConfigPxpApp, ReportEnity: any, ReportGroupEntitiy: any) => import("express-serve-static-core").Router;
|
|
3
|
-
export { getReportsRouter };
|
|
1
|
+
import { IConfigPxpApp } from '../../interfaces';
|
|
2
|
+
declare const getReportsRouter: (config: IConfigPxpApp, ReportEnity: any, ReportGroupEntitiy: any) => import("express-serve-static-core").Router;
|
|
3
|
+
export { getReportsRouter };
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getReportsRouter = void 0;
|
|
4
|
-
const express_1 = require("express");
|
|
5
|
-
const pdf_1 = require("./pdf");
|
|
6
|
-
// import { makeCsv } from './csv';
|
|
7
|
-
const xlsx_1 = require("./xlsx");
|
|
8
|
-
const generated_1 = require("./generated");
|
|
9
|
-
const getReportsRouter = (config, ReportEnity, ReportGroupEntitiy) => {
|
|
10
|
-
const reportsRouter = express_1.Router();
|
|
11
|
-
const prefix = config.apiPrefix;
|
|
12
|
-
const middlewares = config.middlewares || [];
|
|
13
|
-
reportsRouter.post(prefix + '/pdf', pdf_1.makePdf);
|
|
14
|
-
reportsRouter.get(prefix + '/pdf', pdf_1.makePdf);
|
|
15
|
-
// reportsRouter.get(prefix + '/csv', makeCsv);
|
|
16
|
-
reportsRouter.get(prefix + '/xlsx', xlsx_1.makeXlsx);
|
|
17
|
-
reportsRouter.get(prefix + '/reports/groups', middlewares, generated_1.listGroup(ReportGroupEntitiy));
|
|
18
|
-
reportsRouter.get(prefix + '/reports/:groupId', middlewares, generated_1.listReports(ReportEnity));
|
|
19
|
-
reportsRouter.get(prefix + '/reports/:id/data', middlewares, generated_1.getReport(ReportEnity));
|
|
20
|
-
reportsRouter.get(prefix + '/reports/:id/generate', middlewares, generated_1.generateReport(ReportEnity));
|
|
21
|
-
reportsRouter.get(prefix + '/reports/:id/generate/:type', middlewares, generated_1.generateReport(ReportEnity));
|
|
22
|
-
return reportsRouter;
|
|
23
|
-
};
|
|
24
|
-
exports.getReportsRouter = getReportsRouter;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getReportsRouter = void 0;
|
|
4
|
+
const express_1 = require("express");
|
|
5
|
+
const pdf_1 = require("./pdf");
|
|
6
|
+
// import { makeCsv } from './csv';
|
|
7
|
+
const xlsx_1 = require("./xlsx");
|
|
8
|
+
const generated_1 = require("./generated");
|
|
9
|
+
const getReportsRouter = (config, ReportEnity, ReportGroupEntitiy) => {
|
|
10
|
+
const reportsRouter = express_1.Router();
|
|
11
|
+
const prefix = config.apiPrefix;
|
|
12
|
+
const middlewares = config.middlewares || [];
|
|
13
|
+
reportsRouter.post(prefix + '/pdf', pdf_1.makePdf);
|
|
14
|
+
reportsRouter.get(prefix + '/pdf', pdf_1.makePdf);
|
|
15
|
+
// reportsRouter.get(prefix + '/csv', makeCsv);
|
|
16
|
+
reportsRouter.get(prefix + '/xlsx', xlsx_1.makeXlsx);
|
|
17
|
+
reportsRouter.get(prefix + '/reports/groups', middlewares, generated_1.listGroup(ReportGroupEntitiy));
|
|
18
|
+
reportsRouter.get(prefix + '/reports/:groupId', middlewares, generated_1.listReports(ReportEnity));
|
|
19
|
+
reportsRouter.get(prefix + '/reports/:id/data', middlewares, generated_1.getReport(ReportEnity));
|
|
20
|
+
reportsRouter.get(prefix + '/reports/:id/generate', middlewares, generated_1.generateReport(ReportEnity));
|
|
21
|
+
reportsRouter.get(prefix + '/reports/:id/generate/:type', middlewares, generated_1.generateReport(ReportEnity));
|
|
22
|
+
return reportsRouter;
|
|
23
|
+
};
|
|
24
|
+
exports.getReportsRouter = getReportsRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const makeXlsx: (req: any, res: any) => Promise<void>;
|
|
1
|
+
export declare const makeXlsx: (req: any, res: any) => Promise<void>;
|
package/dist/lib/reports/xlsx.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.makeXlsx = void 0;
|
|
7
|
-
const xlsx_1 = __importDefault(require("xlsx"));
|
|
8
|
-
const typeorm_1 = require("typeorm");
|
|
9
|
-
const moment_1 = __importDefault(require("moment"));
|
|
10
|
-
const helper_1 = require("./helper");
|
|
11
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
-
const generateTable = (data, columns) => {
|
|
13
|
-
const heads = lodash_1.default.map(columns, 'header');
|
|
14
|
-
const keys = lodash_1.default.map(columns, 'dataKey');
|
|
15
|
-
const table = [
|
|
16
|
-
heads,
|
|
17
|
-
];
|
|
18
|
-
data.forEach((item) => {
|
|
19
|
-
const aux = [];
|
|
20
|
-
keys.forEach(key => aux.push(item[key]));
|
|
21
|
-
table.push(aux);
|
|
22
|
-
});
|
|
23
|
-
return table;
|
|
24
|
-
};
|
|
25
|
-
const makeXlsx = async (req, res) => {
|
|
26
|
-
try {
|
|
27
|
-
let data, params;
|
|
28
|
-
if (!req.reportData) {
|
|
29
|
-
// s-params
|
|
30
|
-
params = await helper_1.parseParams(req);
|
|
31
|
-
const Entity = await helper_1.getEntity(params.module, params.entity);
|
|
32
|
-
data = await typeorm_1.getManager().find(Entity, {
|
|
33
|
-
// select: keys,
|
|
34
|
-
});
|
|
35
|
-
// e-params
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
data = req.reportData.data;
|
|
39
|
-
params = Object.assign({}, req.report);
|
|
40
|
-
}
|
|
41
|
-
const table = generateTable(data, params.columns);
|
|
42
|
-
const wb = xlsx_1.default.utils.book_new();
|
|
43
|
-
const ws = xlsx_1.default.utils.aoa_to_sheet(table);
|
|
44
|
-
xlsx_1.default.utils.book_append_sheet(wb, ws, 'Data');
|
|
45
|
-
/*** DETAIL REPORT START***/
|
|
46
|
-
const detail = req.reportDetailData;
|
|
47
|
-
if (detail) {
|
|
48
|
-
const tableDetail = generateTable(detail.data, detail.columns);
|
|
49
|
-
const wsd = xlsx_1.default.utils.aoa_to_sheet(tableDetail);
|
|
50
|
-
xlsx_1.default.utils.book_append_sheet(wb, wsd, 'Detail');
|
|
51
|
-
}
|
|
52
|
-
// write options
|
|
53
|
-
const wopts = { bookType: 'xlsx', bookSST: false, type: 'base64' };
|
|
54
|
-
const buffer = xlsx_1.default.write(wb, wopts);
|
|
55
|
-
res.setHeader('Content-Disposition', 'attachment; filename="' + params.filename + '_' + moment_1.default().format('DD-MM-YYYY_hh.mm.ss') + '.xlsx" ');
|
|
56
|
-
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
57
|
-
res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
58
|
-
res.end(new Buffer(buffer, 'base64'));
|
|
59
|
-
}
|
|
60
|
-
catch (err) {
|
|
61
|
-
console.log(err);
|
|
62
|
-
res.status(400).json({ message: 'An error occured in process' });
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
exports.makeXlsx = makeXlsx;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.makeXlsx = void 0;
|
|
7
|
+
const xlsx_1 = __importDefault(require("xlsx"));
|
|
8
|
+
const typeorm_1 = require("typeorm");
|
|
9
|
+
const moment_1 = __importDefault(require("moment"));
|
|
10
|
+
const helper_1 = require("./helper");
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
+
const generateTable = (data, columns) => {
|
|
13
|
+
const heads = lodash_1.default.map(columns, 'header');
|
|
14
|
+
const keys = lodash_1.default.map(columns, 'dataKey');
|
|
15
|
+
const table = [
|
|
16
|
+
heads,
|
|
17
|
+
];
|
|
18
|
+
data.forEach((item) => {
|
|
19
|
+
const aux = [];
|
|
20
|
+
keys.forEach(key => aux.push(item[key]));
|
|
21
|
+
table.push(aux);
|
|
22
|
+
});
|
|
23
|
+
return table;
|
|
24
|
+
};
|
|
25
|
+
const makeXlsx = async (req, res) => {
|
|
26
|
+
try {
|
|
27
|
+
let data, params;
|
|
28
|
+
if (!req.reportData) {
|
|
29
|
+
// s-params
|
|
30
|
+
params = await helper_1.parseParams(req);
|
|
31
|
+
const Entity = await helper_1.getEntity(params.module, params.entity);
|
|
32
|
+
data = await typeorm_1.getManager().find(Entity, {
|
|
33
|
+
// select: keys,
|
|
34
|
+
});
|
|
35
|
+
// e-params
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
data = req.reportData.data;
|
|
39
|
+
params = Object.assign({}, req.report);
|
|
40
|
+
}
|
|
41
|
+
const table = generateTable(data, params.columns);
|
|
42
|
+
const wb = xlsx_1.default.utils.book_new();
|
|
43
|
+
const ws = xlsx_1.default.utils.aoa_to_sheet(table);
|
|
44
|
+
xlsx_1.default.utils.book_append_sheet(wb, ws, 'Data');
|
|
45
|
+
/*** DETAIL REPORT START***/
|
|
46
|
+
const detail = req.reportDetailData;
|
|
47
|
+
if (detail) {
|
|
48
|
+
const tableDetail = generateTable(detail.data, detail.columns);
|
|
49
|
+
const wsd = xlsx_1.default.utils.aoa_to_sheet(tableDetail);
|
|
50
|
+
xlsx_1.default.utils.book_append_sheet(wb, wsd, 'Detail');
|
|
51
|
+
}
|
|
52
|
+
// write options
|
|
53
|
+
const wopts = { bookType: 'xlsx', bookSST: false, type: 'base64' };
|
|
54
|
+
const buffer = xlsx_1.default.write(wb, wopts);
|
|
55
|
+
res.setHeader('Content-Disposition', 'attachment; filename="' + params.filename + '_' + moment_1.default().format('DD-MM-YYYY_hh.mm.ss') + '.xlsx" ');
|
|
56
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
57
|
+
res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
58
|
+
res.end(new Buffer(buffer, 'base64'));
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
console.log(err);
|
|
62
|
+
res.status(400).json({ message: 'An error occured in process' });
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
exports.makeXlsx = makeXlsx;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Socket, Server } from 'socket.io';
|
|
2
|
-
export declare const usersConnected: any;
|
|
3
|
-
export declare const connectClient: (client: Socket, io: Server) => void;
|
|
4
|
-
export declare const disconnect: (client: Socket, io: Server) => void;
|
|
5
|
-
export declare const message: (client: Socket, io: Server) => void;
|
|
1
|
+
import { Socket, Server } from 'socket.io';
|
|
2
|
+
export declare const usersConnected: any;
|
|
3
|
+
export declare const connectClient: (client: Socket, io: Server) => void;
|
|
4
|
+
export declare const disconnect: (client: Socket, io: Server) => void;
|
|
5
|
+
export declare const message: (client: Socket, io: Server) => void;
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.message = exports.disconnect = exports.connectClient = exports.usersConnected = void 0;
|
|
7
|
-
const typeorm_1 = require("typeorm");
|
|
8
|
-
const UserIo_1 = __importDefault(require("./entities/UserIo"));
|
|
9
|
-
exports.usersConnected = [];
|
|
10
|
-
const connectClient = (client, io) => {
|
|
11
|
-
exports.usersConnected.push(client.id);
|
|
12
|
-
typeorm_1.getManager().save(UserIo_1.default, {
|
|
13
|
-
clientId: client.id,
|
|
14
|
-
userId: 1,
|
|
15
|
-
}).then(data => console.log(data)).catch(console.error);
|
|
16
|
-
};
|
|
17
|
-
exports.connectClient = connectClient;
|
|
18
|
-
const disconnect = (client, io) => {
|
|
19
|
-
client.on('disconnect', () => {
|
|
20
|
-
console.log('Cliente desconectado');
|
|
21
|
-
const clientIndex = exports.usersConnected.indexOf(client.id);
|
|
22
|
-
if (clientIndex > -1) {
|
|
23
|
-
exports.usersConnected.splice(clientIndex, 1);
|
|
24
|
-
}
|
|
25
|
-
typeorm_1.getManager().delete(UserIo_1.default, {
|
|
26
|
-
clientId: client.id,
|
|
27
|
-
}).then(data => console.log(data)).catch(console.error);
|
|
28
|
-
io.emit('active-users', exports.usersConnected.toString());
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
exports.disconnect = disconnect;
|
|
32
|
-
const message = (client, io) => {
|
|
33
|
-
client.on('message', (payload) => {
|
|
34
|
-
console.log('Message recived', payload.from, payload.message);
|
|
35
|
-
io.emit('new-message', payload);
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
exports.message = message;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.message = exports.disconnect = exports.connectClient = exports.usersConnected = void 0;
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const UserIo_1 = __importDefault(require("./entities/UserIo"));
|
|
9
|
+
exports.usersConnected = [];
|
|
10
|
+
const connectClient = (client, io) => {
|
|
11
|
+
exports.usersConnected.push(client.id);
|
|
12
|
+
typeorm_1.getManager().save(UserIo_1.default, {
|
|
13
|
+
clientId: client.id,
|
|
14
|
+
userId: 1,
|
|
15
|
+
}).then(data => console.log(data)).catch(console.error);
|
|
16
|
+
};
|
|
17
|
+
exports.connectClient = connectClient;
|
|
18
|
+
const disconnect = (client, io) => {
|
|
19
|
+
client.on('disconnect', () => {
|
|
20
|
+
console.log('Cliente desconectado');
|
|
21
|
+
const clientIndex = exports.usersConnected.indexOf(client.id);
|
|
22
|
+
if (clientIndex > -1) {
|
|
23
|
+
exports.usersConnected.splice(clientIndex, 1);
|
|
24
|
+
}
|
|
25
|
+
typeorm_1.getManager().delete(UserIo_1.default, {
|
|
26
|
+
clientId: client.id,
|
|
27
|
+
}).then(data => console.log(data)).catch(console.error);
|
|
28
|
+
io.emit('active-users', exports.usersConnected.toString());
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.disconnect = disconnect;
|
|
32
|
+
const message = (client, io) => {
|
|
33
|
+
client.on('message', (payload) => {
|
|
34
|
+
console.log('Message recived', payload.from, payload.message);
|
|
35
|
+
io.emit('new-message', payload);
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
exports.message = message;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseEntity } from "typeorm";
|
|
2
|
-
export default class UserIo extends BaseEntity {
|
|
3
|
-
userIoId: number;
|
|
4
|
-
clientId: string;
|
|
5
|
-
userId: number;
|
|
6
|
-
}
|
|
1
|
+
import { BaseEntity } from "typeorm";
|
|
2
|
+
export default class UserIo extends BaseEntity {
|
|
3
|
+
userIoId: number;
|
|
4
|
+
clientId: string;
|
|
5
|
+
userId: number;
|
|
6
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const typeorm_1 = require("typeorm");
|
|
13
|
-
let UserIo = class UserIo extends typeorm_1.BaseEntity {
|
|
14
|
-
};
|
|
15
|
-
__decorate([
|
|
16
|
-
typeorm_1.PrimaryGeneratedColumn({ name: 'user_io_id' }),
|
|
17
|
-
__metadata("design:type", Number)
|
|
18
|
-
], UserIo.prototype, "userIoId", void 0);
|
|
19
|
-
__decorate([
|
|
20
|
-
typeorm_1.Column({ name: 'client_id', type: 'varchar', length: 25 }),
|
|
21
|
-
__metadata("design:type", String)
|
|
22
|
-
], UserIo.prototype, "clientId", void 0);
|
|
23
|
-
__decorate([
|
|
24
|
-
typeorm_1.Column({ name: 'user_id', type: 'integer' }),
|
|
25
|
-
__metadata("design:type", Number)
|
|
26
|
-
], UserIo.prototype, "userId", void 0);
|
|
27
|
-
UserIo = __decorate([
|
|
28
|
-
typeorm_1.Entity({ name: 'io_user_io' })
|
|
29
|
-
], UserIo);
|
|
30
|
-
exports.default = UserIo;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const typeorm_1 = require("typeorm");
|
|
13
|
+
let UserIo = class UserIo extends typeorm_1.BaseEntity {
|
|
14
|
+
};
|
|
15
|
+
__decorate([
|
|
16
|
+
typeorm_1.PrimaryGeneratedColumn({ name: 'user_io_id' }),
|
|
17
|
+
__metadata("design:type", Number)
|
|
18
|
+
], UserIo.prototype, "userIoId", void 0);
|
|
19
|
+
__decorate([
|
|
20
|
+
typeorm_1.Column({ name: 'client_id', type: 'varchar', length: 25 }),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], UserIo.prototype, "clientId", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
typeorm_1.Column({ name: 'user_id', type: 'integer' }),
|
|
25
|
+
__metadata("design:type", Number)
|
|
26
|
+
], UserIo.prototype, "userId", void 0);
|
|
27
|
+
UserIo = __decorate([
|
|
28
|
+
typeorm_1.Entity({ name: 'io_user_io' })
|
|
29
|
+
], UserIo);
|
|
30
|
+
exports.default = UserIo;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import UserIo from './UserIo';
|
|
2
|
-
export { UserIo, };
|
|
3
|
-
export declare const entities: {
|
|
4
|
-
UserIo: typeof UserIo;
|
|
5
|
-
};
|
|
1
|
+
import UserIo from './UserIo';
|
|
2
|
+
export { UserIo, };
|
|
3
|
+
export declare const entities: {
|
|
4
|
+
UserIo: typeof UserIo;
|
|
5
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.entities = exports.UserIo = void 0;
|
|
7
|
-
const UserIo_1 = __importDefault(require("./UserIo"));
|
|
8
|
-
exports.UserIo = UserIo_1.default;
|
|
9
|
-
exports.entities = { UserIo: UserIo_1.default };
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.entities = exports.UserIo = void 0;
|
|
7
|
+
const UserIo_1 = __importDefault(require("./UserIo"));
|
|
8
|
+
exports.UserIo = UserIo_1.default;
|
|
9
|
+
exports.entities = { UserIo: UserIo_1.default };
|
package/dist/sockets/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as PxpSocketServer } from './pxp-io-server';
|
|
2
|
-
export * from './entities';
|
|
1
|
+
export { default as PxpSocketServer } from './pxp-io-server';
|
|
2
|
+
export * from './entities';
|