@vereign/core 1.0.0 → 1.1.0
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 +2 -1
- package/dist/index.js +47 -11
- package/dist/index.mjs +48 -11
- package/package.json +6 -2
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -26,6 +26,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var __async = (__this, __arguments, generator) => {
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
var fulfilled = (value) => {
|
|
32
|
+
try {
|
|
33
|
+
step(generator.next(value));
|
|
34
|
+
} catch (e) {
|
|
35
|
+
reject(e);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var rejected = (value) => {
|
|
39
|
+
try {
|
|
40
|
+
step(generator.throw(value));
|
|
41
|
+
} catch (e) {
|
|
42
|
+
reject(e);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
46
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
47
|
+
});
|
|
48
|
+
};
|
|
29
49
|
|
|
30
50
|
// src/index.ts
|
|
31
51
|
var index_exports = {};
|
|
@@ -43,7 +63,7 @@ var HealthController = class {
|
|
|
43
63
|
constructor(logger, appVersion) {
|
|
44
64
|
this.check = (_, res) => {
|
|
45
65
|
this.logger.info("Health check endpoint called");
|
|
46
|
-
res.
|
|
66
|
+
res.json({ status: "ok", appVersion: this.appVersion });
|
|
47
67
|
};
|
|
48
68
|
this.logger = logger;
|
|
49
69
|
this.appVersion = appVersion;
|
|
@@ -64,15 +84,28 @@ var HealthRouter = class {
|
|
|
64
84
|
var import_express2 = __toESM(require("express"));
|
|
65
85
|
|
|
66
86
|
// src/chmed16/controller.ts
|
|
87
|
+
var import_chmed_parser = require("@vereign/chmed-parser");
|
|
88
|
+
var import_pdf_generator = require("@vereign/pdf-generator");
|
|
67
89
|
var CHMED16AController = class {
|
|
68
90
|
constructor(logger) {
|
|
69
|
-
this.process = (req, res) => {
|
|
70
|
-
const { chmed } = req.body;
|
|
71
|
-
const
|
|
72
|
-
this.logger.info(`Processing
|
|
73
|
-
|
|
74
|
-
|
|
91
|
+
this.process = (req, res) => __async(this, null, function* () {
|
|
92
|
+
const { chmed, lang } = req.body;
|
|
93
|
+
const start = Date.now();
|
|
94
|
+
this.logger.info(`Processing started`);
|
|
95
|
+
const parseStart = Date.now();
|
|
96
|
+
const json = yield this.parser.parse(chmed, lang, this.sds);
|
|
97
|
+
this.logger.info(`Parsing took ${Date.now() - parseStart} ms`);
|
|
98
|
+
res.setHeader("Content-Type", "application/pdf");
|
|
99
|
+
res.setHeader("Content-Disposition", 'inline; filename="chmed16a.pdf"');
|
|
100
|
+
const pdfStart = Date.now();
|
|
101
|
+
const pdf = new import_pdf_generator.PDFLib(this.logger);
|
|
102
|
+
pdf.generate(json, res);
|
|
103
|
+
this.logger.info(`PDF generation took ${Date.now() - pdfStart} ms`);
|
|
104
|
+
this.logger.info(`Total request time: ${Date.now() - start} ms`);
|
|
105
|
+
});
|
|
75
106
|
this.logger = logger;
|
|
107
|
+
this.sds = new import_chmed_parser.SDS("https://sds-test.hin.ch", logger);
|
|
108
|
+
this.parser = new import_chmed_parser.CHMEDParser(logger);
|
|
76
109
|
}
|
|
77
110
|
};
|
|
78
111
|
|
|
@@ -131,10 +164,13 @@ var App = class {
|
|
|
131
164
|
this.app.use("/v1", CHMED16ARouter.getRouter(this.logger));
|
|
132
165
|
}
|
|
133
166
|
initializeErrorHandling() {
|
|
134
|
-
this.app.use(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
167
|
+
this.app.use(
|
|
168
|
+
//eslint-disable-next-line
|
|
169
|
+
(err, req, res, next) => {
|
|
170
|
+
this.logger.error(err.stack);
|
|
171
|
+
res.status(500).json({ error: "Internal Server Error" });
|
|
172
|
+
}
|
|
173
|
+
);
|
|
138
174
|
}
|
|
139
175
|
listen(port) {
|
|
140
176
|
this.app.listen(port, () => {
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
|
|
1
22
|
// src/index.ts
|
|
2
23
|
import express3 from "express";
|
|
3
24
|
|
|
@@ -9,7 +30,7 @@ var HealthController = class {
|
|
|
9
30
|
constructor(logger, appVersion) {
|
|
10
31
|
this.check = (_, res) => {
|
|
11
32
|
this.logger.info("Health check endpoint called");
|
|
12
|
-
res.
|
|
33
|
+
res.json({ status: "ok", appVersion: this.appVersion });
|
|
13
34
|
};
|
|
14
35
|
this.logger = logger;
|
|
15
36
|
this.appVersion = appVersion;
|
|
@@ -30,15 +51,28 @@ var HealthRouter = class {
|
|
|
30
51
|
import express2 from "express";
|
|
31
52
|
|
|
32
53
|
// src/chmed16/controller.ts
|
|
54
|
+
import { CHMEDParser, SDS } from "@vereign/chmed-parser";
|
|
55
|
+
import { PDFLib } from "@vereign/pdf-generator";
|
|
33
56
|
var CHMED16AController = class {
|
|
34
57
|
constructor(logger) {
|
|
35
|
-
this.process = (req, res) => {
|
|
36
|
-
const { chmed } = req.body;
|
|
37
|
-
const
|
|
38
|
-
this.logger.info(`Processing
|
|
39
|
-
|
|
40
|
-
|
|
58
|
+
this.process = (req, res) => __async(this, null, function* () {
|
|
59
|
+
const { chmed, lang } = req.body;
|
|
60
|
+
const start = Date.now();
|
|
61
|
+
this.logger.info(`Processing started`);
|
|
62
|
+
const parseStart = Date.now();
|
|
63
|
+
const json = yield this.parser.parse(chmed, lang, this.sds);
|
|
64
|
+
this.logger.info(`Parsing took ${Date.now() - parseStart} ms`);
|
|
65
|
+
res.setHeader("Content-Type", "application/pdf");
|
|
66
|
+
res.setHeader("Content-Disposition", 'inline; filename="chmed16a.pdf"');
|
|
67
|
+
const pdfStart = Date.now();
|
|
68
|
+
const pdf = new PDFLib(this.logger);
|
|
69
|
+
pdf.generate(json, res);
|
|
70
|
+
this.logger.info(`PDF generation took ${Date.now() - pdfStart} ms`);
|
|
71
|
+
this.logger.info(`Total request time: ${Date.now() - start} ms`);
|
|
72
|
+
});
|
|
41
73
|
this.logger = logger;
|
|
74
|
+
this.sds = new SDS("https://sds-test.hin.ch", logger);
|
|
75
|
+
this.parser = new CHMEDParser(logger);
|
|
42
76
|
}
|
|
43
77
|
};
|
|
44
78
|
|
|
@@ -97,10 +131,13 @@ var App = class {
|
|
|
97
131
|
this.app.use("/v1", CHMED16ARouter.getRouter(this.logger));
|
|
98
132
|
}
|
|
99
133
|
initializeErrorHandling() {
|
|
100
|
-
this.app.use(
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
134
|
+
this.app.use(
|
|
135
|
+
//eslint-disable-next-line
|
|
136
|
+
(err, req, res, next) => {
|
|
137
|
+
this.logger.error(err.stack);
|
|
138
|
+
res.status(500).json({ error: "Internal Server Error" });
|
|
139
|
+
}
|
|
140
|
+
);
|
|
104
141
|
}
|
|
105
142
|
listen(port) {
|
|
106
143
|
this.app.listen(port, () => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vereign/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "core api library for e prescription project",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
"lint": "pnpm eslint",
|
|
26
26
|
"test": "vitest run --coverage",
|
|
27
27
|
"test:watch": "vitest --coverage",
|
|
28
|
-
"semantic-release": "semantic-release"
|
|
28
|
+
"semantic-release": "semantic-release",
|
|
29
|
+
"dev": "ts-node-dev ./src/dev-server.ts"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
32
|
"@commitlint/cli": "^19.8.1",
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
"prettier": "^3.6.2",
|
|
51
52
|
"semantic-release": "^24.2.7",
|
|
52
53
|
"supertest": "^7.1.4",
|
|
54
|
+
"ts-node-dev": "^2.0.0",
|
|
53
55
|
"tsup": "^8.5.0",
|
|
54
56
|
"typescript": "^5.8.3",
|
|
55
57
|
"typescript-eslint": "^8.37.0",
|
|
@@ -57,6 +59,8 @@
|
|
|
57
59
|
"zod-to-openapi": "^0.2.1"
|
|
58
60
|
},
|
|
59
61
|
"dependencies": {
|
|
62
|
+
"@vereign/chmed-parser": "^1.4.1",
|
|
63
|
+
"@vereign/pdf-generator": "^1.1.7",
|
|
60
64
|
"express": "^5.1.0",
|
|
61
65
|
"pdfkit": "^0.17.1",
|
|
62
66
|
"winston": "^3.17.0",
|