@stamhoofd/models 2.75.0 → 2.75.1
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/dist/src/helpers/Handlebars.d.ts.map +1 -1
- package/dist/src/helpers/Handlebars.js +51 -10
- package/dist/src/helpers/Handlebars.js.map +1 -1
- package/dist/src/models/Document.d.ts.map +1 -1
- package/dist/src/models/Document.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers/Handlebars.ts +64 -10
- package/src/models/Document.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handlebars.d.ts","sourceRoot":"","sources":["../../../src/helpers/Handlebars.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Handlebars.d.ts","sourceRoot":"","sources":["../../../src/helpers/Handlebars.ts"],"names":[],"mappings":"AAqQA,wBAAsB,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAavF"}
|
|
@@ -2,12 +2,46 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.render = render;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const node_1 = tslib_1.__importDefault(require("@bwip-js/node"));
|
|
5
6
|
const simple_encoding_1 = require("@simonbackx/simple-encoding");
|
|
6
7
|
const structures_1 = require("@stamhoofd/structures");
|
|
7
8
|
const utility_1 = require("@stamhoofd/utility");
|
|
8
9
|
const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
|
|
9
10
|
const luxon_1 = require("luxon");
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Support for async helpers
|
|
13
|
+
* Uses the same method as express-hbs
|
|
14
|
+
* https://github.com/TryGhost/express-hbs
|
|
15
|
+
*/
|
|
16
|
+
class AsyncResolver {
|
|
17
|
+
cacheIds = new Map();
|
|
18
|
+
static ID_PREFIX = '__aSyNcId__';
|
|
19
|
+
static ID_ESCAPED_STRING = '<_'; // Detect whether the is is escaped or not
|
|
20
|
+
counter = 0;
|
|
21
|
+
static registerAsyncHelper(handlebars, name, handler) {
|
|
22
|
+
handlebars.registerHelper(name, function (...args) {
|
|
23
|
+
const resolver = this.asyncResolver;
|
|
24
|
+
if (!resolver) {
|
|
25
|
+
throw new Error('Async helper called without resolver');
|
|
26
|
+
}
|
|
27
|
+
// Return an id instead
|
|
28
|
+
resolver.counter += 1;
|
|
29
|
+
const id = AsyncResolver.ID_PREFIX + AsyncResolver.ID_ESCAPED_STRING + Math.random().toString(36).substring(2) + Math.random().toString(36).substring(2) + '_' + resolver.counter;
|
|
30
|
+
resolver.cacheIds.set(id, handler(...args));
|
|
31
|
+
return id;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async replace(compiledTemplate) {
|
|
35
|
+
for (const [id, promise] of this.cacheIds.entries()) {
|
|
36
|
+
const value = await promise;
|
|
37
|
+
// Replace unescaped ids with the unescaped value
|
|
38
|
+
compiledTemplate = compiledTemplate.replace(id, value);
|
|
39
|
+
// Replace escaped ids with the escaped value
|
|
40
|
+
compiledTemplate = compiledTemplate.replace(handlebars_1.default.Utils.escapeExpression(id), handlebars_1.default.Utils.escapeExpression(value));
|
|
41
|
+
}
|
|
42
|
+
return compiledTemplate;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
11
45
|
handlebars_1.default.registerHelper('eq', (a, b) => a == b);
|
|
12
46
|
handlebars_1.default.registerHelper('neq', (a, b) => a !== b);
|
|
13
47
|
handlebars_1.default.registerHelper('formatPrice', a => typeof a === 'number' ? utility_1.Formatter.price(a) : a);
|
|
@@ -71,7 +105,7 @@ handlebars_1.default.registerHelper('div', (a, b, options) => {
|
|
|
71
105
|
if (typeof a !== 'number' || typeof b !== 'number') {
|
|
72
106
|
return 0;
|
|
73
107
|
}
|
|
74
|
-
if (b
|
|
108
|
+
if (b === 0) {
|
|
75
109
|
return 0;
|
|
76
110
|
}
|
|
77
111
|
if (options.hash.round) {
|
|
@@ -90,7 +124,7 @@ function getNumberValue(obj, keys) {
|
|
|
90
124
|
if (typeof obj !== 'object' || obj === null) {
|
|
91
125
|
return 0;
|
|
92
126
|
}
|
|
93
|
-
if (keys.length
|
|
127
|
+
if (keys.length === 0) {
|
|
94
128
|
return 0;
|
|
95
129
|
}
|
|
96
130
|
const key = keys[0];
|
|
@@ -113,7 +147,7 @@ handlebars_1.default.registerHelper('mul', (a, b) => {
|
|
|
113
147
|
}
|
|
114
148
|
return a * b;
|
|
115
149
|
});
|
|
116
|
-
handlebars_1.default
|
|
150
|
+
AsyncResolver.registerAsyncHelper(handlebars_1.default, 'src', async (a, options) => {
|
|
117
151
|
const width = options.hash.width || undefined;
|
|
118
152
|
const height = options.hash.height || undefined;
|
|
119
153
|
if (width !== undefined && typeof width !== 'number') {
|
|
@@ -127,6 +161,11 @@ handlebars_1.default.registerHelper('src', (a, options) => {
|
|
|
127
161
|
try {
|
|
128
162
|
const image = structures_1.Image.decode(new simple_encoding_1.ObjectData(a, { version: 0 }));
|
|
129
163
|
const resolution = image.getResolutionForSize(width, height);
|
|
164
|
+
// Private files cannot be used unless we have a signed url
|
|
165
|
+
const fileWithSignedUrl = await resolution.file.withSignedUrl();
|
|
166
|
+
if (fileWithSignedUrl) {
|
|
167
|
+
return fileWithSignedUrl.getPublicPath();
|
|
168
|
+
}
|
|
130
169
|
return resolution.file.getPublicPath();
|
|
131
170
|
}
|
|
132
171
|
catch (e) {
|
|
@@ -139,11 +178,11 @@ handlebars_1.default.registerHelper('src-width', (a, options) => {
|
|
|
139
178
|
const height = options.hash.height || undefined;
|
|
140
179
|
if (width !== undefined && typeof width !== 'number') {
|
|
141
180
|
console.error('src-width helper: width is not a number');
|
|
142
|
-
return
|
|
181
|
+
return 0;
|
|
143
182
|
}
|
|
144
183
|
if (height !== undefined && typeof height !== 'number') {
|
|
145
184
|
console.error('src-width helper: height is not a number');
|
|
146
|
-
return
|
|
185
|
+
return 0;
|
|
147
186
|
}
|
|
148
187
|
try {
|
|
149
188
|
const image = structures_1.Image.decode(new simple_encoding_1.ObjectData(a, { version: 0 }));
|
|
@@ -160,11 +199,11 @@ handlebars_1.default.registerHelper('src-height', (a, options) => {
|
|
|
160
199
|
const height = options.hash.height || undefined;
|
|
161
200
|
if (width !== undefined && typeof width !== 'number') {
|
|
162
201
|
console.error('src-height helper: width is not a number');
|
|
163
|
-
return
|
|
202
|
+
return 0;
|
|
164
203
|
}
|
|
165
204
|
if (height !== undefined && typeof height !== 'number') {
|
|
166
205
|
console.error('src-height helper: height is not a number');
|
|
167
|
-
return
|
|
206
|
+
return 0;
|
|
168
207
|
}
|
|
169
208
|
try {
|
|
170
209
|
const image = structures_1.Image.decode(new simple_encoding_1.ObjectData(a, { version: 0 }));
|
|
@@ -191,9 +230,11 @@ handlebars_1.default.registerHelper('datamatrix', (a) => {
|
|
|
191
230
|
// Rander handlebars template
|
|
192
231
|
async function render(htmlTemplate, context) {
|
|
193
232
|
try {
|
|
233
|
+
const resolver = new AsyncResolver();
|
|
194
234
|
const template = handlebars_1.default.compile(htmlTemplate);
|
|
195
|
-
const renderedHtml = template(context);
|
|
196
|
-
|
|
235
|
+
const renderedHtml = template({ ...context, asyncResolver: resolver });
|
|
236
|
+
const html = await resolver.replace(renderedHtml);
|
|
237
|
+
return html;
|
|
197
238
|
}
|
|
198
239
|
catch (e) {
|
|
199
240
|
console.error('Failed to render document html', e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handlebars.js","sourceRoot":"","sources":["../../../src/helpers/Handlebars.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Handlebars.js","sourceRoot":"","sources":["../../../src/helpers/Handlebars.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,IAAI,cAAc,EAA0D,MAAM,uBAAuB,CAAC;AAIzJ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,QAAS,SAAQ,cAAc;IACxC,MAAM,CAAC,KAAK,SAAe;IAK3B,EAAE,EAAG,MAAM,CAAC;IAGZ,cAAc,EAAE,MAAM,CAAC;IAGvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IAEH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,MAAM,iBAAwB;IAE9B;;OAEG;IAEH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B;;OAEG;IAEH,IAAI,eAA2B;IAG/B,SAAS,EAAE,IAAI,CAAc;IAU7B,SAAS,EAAE,IAAI,CAAC;IAEhB,YAAY;IAIZ,YAAY,CAAC,YAAY,EAAE,YAAY;IA6CjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;WA2BpB,eAAe,CAAC,QAAQ,EAAE,MAAM;WAiBhC,qBAAqB,CAAC,YAAY,EAAE,sBAAsB;WAgB1D,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE;WAapD,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM;WAwBxE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAsB7D,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAW3D,0BAA0B;CAW3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":";;;;AAAA,iEAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../src/models/Document.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/models",
|
|
3
|
-
"version": "2.75.
|
|
3
|
+
"version": "2.75.1",
|
|
4
4
|
"main": "./dist/src/index.js",
|
|
5
5
|
"types": "./dist/src/index.d.ts",
|
|
6
6
|
"license": "UNLICENCED",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "4c6a7f14c62e4832885325d02c5aaeeccf27568b"
|
|
33
33
|
}
|
|
@@ -1,9 +1,52 @@
|
|
|
1
|
+
import bwipjs from '@bwip-js/node';
|
|
1
2
|
import { ObjectData } from '@simonbackx/simple-encoding';
|
|
2
3
|
import { Image } from '@stamhoofd/structures';
|
|
3
4
|
import { Formatter } from '@stamhoofd/utility';
|
|
4
5
|
import Handlebars from 'handlebars';
|
|
5
6
|
import { Interval } from 'luxon';
|
|
6
|
-
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Support for async helpers
|
|
10
|
+
* Uses the same method as express-hbs
|
|
11
|
+
* https://github.com/TryGhost/express-hbs
|
|
12
|
+
*/
|
|
13
|
+
class AsyncResolver {
|
|
14
|
+
cacheIds: Map<string, Promise<string>> = new Map();
|
|
15
|
+
|
|
16
|
+
static ID_PREFIX = '__aSyNcId__';
|
|
17
|
+
static ID_ESCAPED_STRING = '<_'; // Detect whether the is is escaped or not
|
|
18
|
+
counter = 0;
|
|
19
|
+
|
|
20
|
+
static registerAsyncHelper(handlebars: typeof Handlebars, name: string, handler: (...args) => Promise<string>) {
|
|
21
|
+
handlebars.registerHelper(name, function (...args) {
|
|
22
|
+
const resolver = this.asyncResolver;
|
|
23
|
+
if (!resolver) {
|
|
24
|
+
throw new Error('Async helper called without resolver');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// Return an id instead
|
|
28
|
+
resolver.counter += 1;
|
|
29
|
+
const id = AsyncResolver.ID_PREFIX + AsyncResolver.ID_ESCAPED_STRING + Math.random().toString(36).substring(2) + Math.random().toString(36).substring(2) + '_' + resolver.counter;
|
|
30
|
+
resolver.cacheIds.set(id, handler(...args));
|
|
31
|
+
|
|
32
|
+
return id;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async replace(compiledTemplate: string) {
|
|
37
|
+
for (const [id, promise] of this.cacheIds.entries()) {
|
|
38
|
+
const value = await promise;
|
|
39
|
+
|
|
40
|
+
// Replace unescaped ids with the unescaped value
|
|
41
|
+
compiledTemplate = compiledTemplate.replace(id, value);
|
|
42
|
+
|
|
43
|
+
// Replace escaped ids with the escaped value
|
|
44
|
+
compiledTemplate = compiledTemplate.replace(Handlebars.Utils.escapeExpression(id), Handlebars.Utils.escapeExpression(value));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return compiledTemplate;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
7
50
|
|
|
8
51
|
Handlebars.registerHelper('eq', (a, b) => a == b);
|
|
9
52
|
Handlebars.registerHelper('neq', (a, b) => a !== b);
|
|
@@ -70,11 +113,12 @@ Handlebars.registerHelper('days', (a, b) => {
|
|
|
70
113
|
}
|
|
71
114
|
return days + 1;
|
|
72
115
|
});
|
|
116
|
+
|
|
73
117
|
Handlebars.registerHelper('div', (a, b, options) => {
|
|
74
118
|
if (typeof a !== 'number' || typeof b !== 'number') {
|
|
75
119
|
return 0;
|
|
76
120
|
}
|
|
77
|
-
if (b
|
|
121
|
+
if (b === 0) {
|
|
78
122
|
return 0;
|
|
79
123
|
}
|
|
80
124
|
if (options.hash.round) {
|
|
@@ -95,7 +139,7 @@ function getNumberValue(obj: any, keys: string[]): number {
|
|
|
95
139
|
if (typeof obj !== 'object' || obj === null) {
|
|
96
140
|
return 0;
|
|
97
141
|
}
|
|
98
|
-
if (keys.length
|
|
142
|
+
if (keys.length === 0) {
|
|
99
143
|
return 0;
|
|
100
144
|
}
|
|
101
145
|
const key = keys[0];
|
|
@@ -120,7 +164,7 @@ Handlebars.registerHelper('mul', (a, b) => {
|
|
|
120
164
|
return a * b;
|
|
121
165
|
});
|
|
122
166
|
|
|
123
|
-
|
|
167
|
+
AsyncResolver.registerAsyncHelper(Handlebars, 'src', async (a, options) => {
|
|
124
168
|
const width = options.hash.width || undefined;
|
|
125
169
|
const height = options.hash.height || undefined;
|
|
126
170
|
|
|
@@ -137,6 +181,13 @@ Handlebars.registerHelper('src', (a, options) => {
|
|
|
137
181
|
try {
|
|
138
182
|
const image = Image.decode(new ObjectData(a, { version: 0 }));
|
|
139
183
|
const resolution = image.getResolutionForSize(width as number | undefined, height as number | undefined);
|
|
184
|
+
|
|
185
|
+
// Private files cannot be used unless we have a signed url
|
|
186
|
+
const fileWithSignedUrl = await resolution.file.withSignedUrl();
|
|
187
|
+
if (fileWithSignedUrl) {
|
|
188
|
+
return fileWithSignedUrl.getPublicPath();
|
|
189
|
+
}
|
|
190
|
+
|
|
140
191
|
return resolution.file.getPublicPath();
|
|
141
192
|
}
|
|
142
193
|
catch (e) {
|
|
@@ -150,12 +201,12 @@ Handlebars.registerHelper('src-width', (a, options) => {
|
|
|
150
201
|
|
|
151
202
|
if (width !== undefined && typeof width !== 'number') {
|
|
152
203
|
console.error('src-width helper: width is not a number');
|
|
153
|
-
return
|
|
204
|
+
return 0;
|
|
154
205
|
}
|
|
155
206
|
|
|
156
207
|
if (height !== undefined && typeof height !== 'number') {
|
|
157
208
|
console.error('src-width helper: height is not a number');
|
|
158
|
-
return
|
|
209
|
+
return 0;
|
|
159
210
|
}
|
|
160
211
|
|
|
161
212
|
try {
|
|
@@ -174,12 +225,12 @@ Handlebars.registerHelper('src-height', (a, options) => {
|
|
|
174
225
|
|
|
175
226
|
if (width !== undefined && typeof width !== 'number') {
|
|
176
227
|
console.error('src-height helper: width is not a number');
|
|
177
|
-
return
|
|
228
|
+
return 0;
|
|
178
229
|
}
|
|
179
230
|
|
|
180
231
|
if (height !== undefined && typeof height !== 'number') {
|
|
181
232
|
console.error('src-height helper: height is not a number');
|
|
182
|
-
return
|
|
233
|
+
return 0;
|
|
183
234
|
}
|
|
184
235
|
|
|
185
236
|
try {
|
|
@@ -210,9 +261,12 @@ Handlebars.registerHelper('datamatrix', (a) => {
|
|
|
210
261
|
// Rander handlebars template
|
|
211
262
|
export async function render(htmlTemplate: string, context: any): Promise<string | null> {
|
|
212
263
|
try {
|
|
264
|
+
const resolver = new AsyncResolver();
|
|
265
|
+
|
|
213
266
|
const template = Handlebars.compile(htmlTemplate);
|
|
214
|
-
const renderedHtml = template(context);
|
|
215
|
-
|
|
267
|
+
const renderedHtml = template({ ...context, asyncResolver: resolver });
|
|
268
|
+
const html = await resolver.replace(renderedHtml);
|
|
269
|
+
return html;
|
|
216
270
|
}
|
|
217
271
|
catch (e) {
|
|
218
272
|
console.error('Failed to render document html', e);
|
package/src/models/Document.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { column } from '@simonbackx/simple-database';
|
|
2
|
-
import { DocumentData, DocumentStatus, Document as DocumentStruct, Platform, Version } from '@stamhoofd/structures';
|
|
2
|
+
import { DocumentData, DocumentStatus, Document as DocumentStruct, Platform, RecordFileAnswer, RecordImageAnswer, Version } from '@stamhoofd/structures';
|
|
3
3
|
import { Formatter } from '@stamhoofd/utility';
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
5
|
|