prostgles-server 2.0.192 → 2.0.195
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/DboBuilder/insert.d.ts.map +1 -1
- package/dist/DboBuilder/insert.js +12 -2
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder.d.ts +1 -2
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +1 -2
- package/dist/DboBuilder.js.map +1 -1
- package/dist/FileManager.d.ts +1 -1
- package/dist/FileManager.d.ts.map +1 -1
- package/dist/FileManager.js +4 -60
- package/dist/FileManager.js.map +1 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +12 -3
- package/dist/Prostgles.js.map +1 -1
- package/lib/DboBuilder/insert.d.ts.map +1 -1
- package/lib/DboBuilder/insert.js +12 -2
- package/lib/DboBuilder/insert.ts +14 -4
- package/lib/DboBuilder.d.ts +1 -2
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +1 -2
- package/lib/DboBuilder.ts +3 -15
- package/lib/FileManager.d.ts +1 -1
- package/lib/FileManager.d.ts.map +1 -1
- package/lib/FileManager.js +4 -60
- package/lib/FileManager.ts +8 -75
- package/lib/Prostgles.d.ts.map +1 -1
- package/lib/Prostgles.js +12 -3
- package/lib/Prostgles.ts +13 -3
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/manual_test/index.ts +1 -1
- package/tests/server/package-lock.json +3 -3
- package/lib/fileType/core.js +0 -1527
- package/lib/fileType/supported.js +0 -278
package/lib/FileManager.js
CHANGED
|
@@ -136,7 +136,7 @@ class FileManager {
|
|
|
136
136
|
*/
|
|
137
137
|
await Promise.all((0, prostgles_types_1.getKeys)(referencedTables).map(async (refTable) => {
|
|
138
138
|
if (!this.dbo[refTable])
|
|
139
|
-
throw `Referenced table (${refTable}) from fileTable.referencedTables prostgles init config
|
|
139
|
+
throw `Referenced table (${refTable}) from fileTable.referencedTables prostgles init config does not exist`;
|
|
140
140
|
const cols = await this.dbo[refTable].getColumns();
|
|
141
141
|
const tableConfig = referencedTables[refTable];
|
|
142
142
|
if (typeof tableConfig !== "string") {
|
|
@@ -350,62 +350,6 @@ class FileManager {
|
|
|
350
350
|
}
|
|
351
351
|
return mime;
|
|
352
352
|
}
|
|
353
|
-
// private async getMIME(
|
|
354
|
-
// file: Buffer | string,
|
|
355
|
-
// fileName: string,
|
|
356
|
-
// allowedExtensions?: Array<ALLOWED_EXTENSION>,
|
|
357
|
-
// dissallowedExtensions?: Array<ALLOWED_EXTENSION>,
|
|
358
|
-
// onlyFromName = true
|
|
359
|
-
// ): Promise<{
|
|
360
|
-
// mime: string;
|
|
361
|
-
// ext: string | ALLOWED_EXTENSION;
|
|
362
|
-
// fileName: string;
|
|
363
|
-
// }> {
|
|
364
|
-
// const nameParts = fileName.split(".");
|
|
365
|
-
// const nameExt = nameParts[nameParts.length - 1].toLowerCase(),
|
|
366
|
-
// mime = getKeys(CONTENT_TYPE_TO_EXT).find(k => (CONTENT_TYPE_TO_EXT[k] as readonly string[]).includes(nameExt));
|
|
367
|
-
// let type = {
|
|
368
|
-
// fileName,
|
|
369
|
-
// mime,
|
|
370
|
-
// ext: nameExt,
|
|
371
|
-
// }
|
|
372
|
-
// if(onlyFromName && !mime) throw `Invalid file extension: content_type could not be found for extension(${nameExt})`;
|
|
373
|
-
// if(!mime){
|
|
374
|
-
// /* Set correct/missing extension */
|
|
375
|
-
// if(["xml", "txt", "csv", "tsv"].includes(nameExt)){
|
|
376
|
-
// type = { ...type, mime: ("text/" + nameExt) as any, ext: nameExt };
|
|
377
|
-
// } else if(["svg"].includes(nameExt)){
|
|
378
|
-
// type = { ...type, mime: "image/svg+xml", ext: nameExt };
|
|
379
|
-
// } else {
|
|
380
|
-
// const res = await getFileTypeFromBuffer(file);
|
|
381
|
-
// type = {
|
|
382
|
-
// ...(res as any),
|
|
383
|
-
// fileName,
|
|
384
|
-
// }
|
|
385
|
-
// }
|
|
386
|
-
// }
|
|
387
|
-
// if(
|
|
388
|
-
// allowedExtensions &&
|
|
389
|
-
// !allowedExtensions.map(v => v.toLowerCase())?.includes(type.ext)
|
|
390
|
-
// ){
|
|
391
|
-
// throw fileName + " -> File type ( " + type.ext + " ) not allowed. Expecting one of: " + allowedExtensions.map(v => v.toLowerCase()).join(", ");
|
|
392
|
-
// } else if(
|
|
393
|
-
// dissallowedExtensions &&
|
|
394
|
-
// dissallowedExtensions.map(v => v.toLowerCase())?.includes(type.ext)
|
|
395
|
-
// ){
|
|
396
|
-
// throw fileName + " -> File type ( " + type.ext + " ) not allowed";
|
|
397
|
-
// }
|
|
398
|
-
// if(!onlyFromName){
|
|
399
|
-
// let { ext } = type;
|
|
400
|
-
// if(nameExt !== ext) fileName = nameParts.slice(0, -1).join('') + "." + ext;
|
|
401
|
-
// }
|
|
402
|
-
// const res = {
|
|
403
|
-
// ...type,
|
|
404
|
-
// fileName
|
|
405
|
-
// }
|
|
406
|
-
// if(!res.mime) throw "Could not find mime"
|
|
407
|
-
// return res as any;
|
|
408
|
-
// }
|
|
409
353
|
// async getUploadURL(fileName: string): Promise<string> {
|
|
410
354
|
// const thisHour = new Date();
|
|
411
355
|
// thisHour.setMilliseconds(0);
|
|
@@ -491,7 +435,7 @@ class FileManager {
|
|
|
491
435
|
exports.default = FileManager;
|
|
492
436
|
const getFileTypeFromFilename = (fileName) => {
|
|
493
437
|
const nameParts = fileName.split(".");
|
|
494
|
-
if (
|
|
438
|
+
if (nameParts.length < 2)
|
|
495
439
|
return undefined;
|
|
496
440
|
const nameExt = nameParts[nameParts.length - 1].toLowerCase(), mime = (0, prostgles_types_1.getKeys)(prostgles_types_1.CONTENT_TYPE_TO_EXT).find(k => prostgles_types_1.CONTENT_TYPE_TO_EXT[k].includes(nameExt));
|
|
497
441
|
if (!mime)
|
|
@@ -508,12 +452,12 @@ const getFileType = async (file, fileName) => {
|
|
|
508
452
|
const { fileTypeFromBuffer } = await eval('import("file-type")');
|
|
509
453
|
const fileNameMime = (0, exports.getFileTypeFromFilename)(fileName);
|
|
510
454
|
if (!fileNameMime?.ext)
|
|
511
|
-
throw new Error("File name must contain
|
|
455
|
+
throw new Error("File name must contain extenion");
|
|
512
456
|
const res = await fileTypeFromBuffer(typeof file === "string" ? Buffer.from(file, 'utf8') : file);
|
|
513
457
|
if (!res) {
|
|
514
458
|
/* Set correct/missing extension */
|
|
515
459
|
const nameExt = fileNameMime?.ext;
|
|
516
|
-
if (["xml", "txt", "csv", "tsv", "svg"].includes(nameExt)) {
|
|
460
|
+
if (["xml", "txt", "csv", "tsv", "svg"].includes(nameExt) && fileNameMime.mime) {
|
|
517
461
|
return fileNameMime;
|
|
518
462
|
}
|
|
519
463
|
throw new Error("Could not get the file type from file buffer");
|
package/lib/FileManager.ts
CHANGED
|
@@ -158,74 +158,6 @@ export default class FileManager {
|
|
|
158
158
|
return mime;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
// private async getMIME(
|
|
162
|
-
// file: Buffer | string,
|
|
163
|
-
// fileName: string,
|
|
164
|
-
// allowedExtensions?: Array<ALLOWED_EXTENSION>,
|
|
165
|
-
// dissallowedExtensions?: Array<ALLOWED_EXTENSION>,
|
|
166
|
-
// onlyFromName = true
|
|
167
|
-
// ): Promise<{
|
|
168
|
-
// mime: string;
|
|
169
|
-
// ext: string | ALLOWED_EXTENSION;
|
|
170
|
-
// fileName: string;
|
|
171
|
-
// }> {
|
|
172
|
-
|
|
173
|
-
// const nameParts = fileName.split(".");
|
|
174
|
-
|
|
175
|
-
// const nameExt = nameParts[nameParts.length - 1].toLowerCase(),
|
|
176
|
-
// mime = getKeys(CONTENT_TYPE_TO_EXT).find(k => (CONTENT_TYPE_TO_EXT[k] as readonly string[]).includes(nameExt));
|
|
177
|
-
|
|
178
|
-
// let type = {
|
|
179
|
-
// fileName,
|
|
180
|
-
// mime,
|
|
181
|
-
// ext: nameExt,
|
|
182
|
-
// }
|
|
183
|
-
|
|
184
|
-
// if(onlyFromName && !mime) throw `Invalid file extension: content_type could not be found for extension(${nameExt})`;
|
|
185
|
-
|
|
186
|
-
// if(!mime){
|
|
187
|
-
// /* Set correct/missing extension */
|
|
188
|
-
// if(["xml", "txt", "csv", "tsv"].includes(nameExt)){
|
|
189
|
-
// type = { ...type, mime: ("text/" + nameExt) as any, ext: nameExt };
|
|
190
|
-
// } else if(["svg"].includes(nameExt)){
|
|
191
|
-
// type = { ...type, mime: "image/svg+xml", ext: nameExt };
|
|
192
|
-
// } else {
|
|
193
|
-
// const res = await getFileTypeFromBuffer(file);
|
|
194
|
-
|
|
195
|
-
// type = {
|
|
196
|
-
// ...(res as any),
|
|
197
|
-
// fileName,
|
|
198
|
-
// }
|
|
199
|
-
// }
|
|
200
|
-
// }
|
|
201
|
-
|
|
202
|
-
// if(
|
|
203
|
-
// allowedExtensions &&
|
|
204
|
-
// !allowedExtensions.map(v => v.toLowerCase())?.includes(type.ext)
|
|
205
|
-
// ){
|
|
206
|
-
// throw fileName + " -> File type ( " + type.ext + " ) not allowed. Expecting one of: " + allowedExtensions.map(v => v.toLowerCase()).join(", ");
|
|
207
|
-
|
|
208
|
-
// } else if(
|
|
209
|
-
// dissallowedExtensions &&
|
|
210
|
-
// dissallowedExtensions.map(v => v.toLowerCase())?.includes(type.ext)
|
|
211
|
-
// ){
|
|
212
|
-
// throw fileName + " -> File type ( " + type.ext + " ) not allowed";
|
|
213
|
-
|
|
214
|
-
// }
|
|
215
|
-
|
|
216
|
-
// if(!onlyFromName){
|
|
217
|
-
// let { ext } = type;
|
|
218
|
-
// if(nameExt !== ext) fileName = nameParts.slice(0, -1).join('') + "." + ext;
|
|
219
|
-
// }
|
|
220
|
-
|
|
221
|
-
// const res = {
|
|
222
|
-
// ...type,
|
|
223
|
-
// fileName
|
|
224
|
-
// }
|
|
225
|
-
// if(!res.mime) throw "Could not find mime"
|
|
226
|
-
// return res as any;
|
|
227
|
-
// }
|
|
228
|
-
|
|
229
161
|
// async getUploadURL(fileName: string): Promise<string> {
|
|
230
162
|
// const thisHour = new Date();
|
|
231
163
|
// thisHour.setMilliseconds(0);
|
|
@@ -431,8 +363,9 @@ export default class FileManager {
|
|
|
431
363
|
* 2. Create media lookup tables
|
|
432
364
|
*/
|
|
433
365
|
await Promise.all(getKeys(referencedTables).map(async refTable => {
|
|
434
|
-
|
|
435
|
-
|
|
366
|
+
|
|
367
|
+
if(!this.dbo[refTable]) throw `Referenced table (${refTable}) from fileTable.referencedTables prostgles init config does not exist`;
|
|
368
|
+
const cols = await (this.dbo[refTable] as TableHandler).getColumns();
|
|
436
369
|
|
|
437
370
|
const tableConfig = referencedTables[refTable];
|
|
438
371
|
if(typeof tableConfig !== "string"){
|
|
@@ -601,11 +534,11 @@ export default class FileManager {
|
|
|
601
534
|
}
|
|
602
535
|
}
|
|
603
536
|
|
|
604
|
-
export const getFileTypeFromFilename = (fileName: string): { mime: ALLOWED_CONTENT_TYPE; ext: ALLOWED_EXTENSION } | undefined => {
|
|
537
|
+
export const getFileTypeFromFilename = (fileName: string): { mime: ALLOWED_CONTENT_TYPE; ext: ALLOWED_EXTENSION | string } | undefined => {
|
|
605
538
|
|
|
606
539
|
const nameParts = fileName.split(".");
|
|
607
540
|
|
|
608
|
-
if(
|
|
541
|
+
if(nameParts.length < 2) return undefined;
|
|
609
542
|
|
|
610
543
|
const nameExt = nameParts[nameParts.length - 1].toLowerCase(),
|
|
611
544
|
mime = getKeys(CONTENT_TYPE_TO_EXT).find(k => (CONTENT_TYPE_TO_EXT[k] as readonly string[]).includes(nameExt));
|
|
@@ -626,15 +559,15 @@ export const getFileType = async (file: Buffer | string, fileName: string): Prom
|
|
|
626
559
|
const { fileTypeFromBuffer } = await (eval('import("file-type")') as Promise<typeof import('file-type')>);
|
|
627
560
|
|
|
628
561
|
const fileNameMime = getFileTypeFromFilename(fileName);
|
|
629
|
-
if(!fileNameMime?.ext) throw new Error("File name must contain
|
|
562
|
+
if(!fileNameMime?.ext) throw new Error("File name must contain extenion")
|
|
630
563
|
const res = await fileTypeFromBuffer(typeof file === "string"? Buffer.from(file, 'utf8') : file);
|
|
631
564
|
|
|
632
565
|
if(!res) {
|
|
633
566
|
|
|
634
567
|
/* Set correct/missing extension */
|
|
635
568
|
const nameExt = fileNameMime?.ext;
|
|
636
|
-
if(["xml", "txt", "csv", "tsv", "svg"].includes(nameExt)){
|
|
637
|
-
return fileNameMime
|
|
569
|
+
if(["xml", "txt", "csv", "tsv", "svg"].includes(nameExt) && fileNameMime.mime){
|
|
570
|
+
return fileNameMime as any;
|
|
638
571
|
}
|
|
639
572
|
|
|
640
573
|
throw new Error("Could not get the file type from file buffer");
|
package/lib/Prostgles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,QAAQ,iCAAiC,CAAC,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIjF,OAAO,WAAW,EAAE,EAAc,IAAI,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,eAAe,EAA2C,YAAY,EAAE,MAAM,cAAc,CAAC;AAElH,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,oBAAY,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAElD,OAAO,EAA8C,SAAS,EAAkD,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC1J,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,oBAAY,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACrD,aAAK,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAClE,aAAK,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AACrC,eAAO,MAAM,aAAa,sEAAuE,CAAC;AAgDlG,eAAO,MAAM,UAAU,2DAA4D,CAAC;AACpF,oBAAY,IAAI,GAAG;IACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,EAAE,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAChC,IAAI,EAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AACF,oBAAY,KAAK,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC;AAIxC,aAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,WAAW,CAAC,CAAC,IAAI;KAC1B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAYF,aAAK,UAAU,GAAG;IAChB,GAAG,EAAE,CACH,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,CACF,GAAG,EAAE;QACH,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzB,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KACzB,EACD,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC;QACvC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,GAAG,CAAC;QAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YACxB,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,GAAG,CAAC;SACpC,CAAA;KACF,KACE,GAAG,KACL,GAAG,CAAA;CACT,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,eAAe,GAAG;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAO1B,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE;QACjB,CAAC,SAAS,EAAE,MAAM,GACd,KAAK,GAAG,MAAM;QAEhB;;aAEK;QAGL;;;aAGK;WACH;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;SAAE,CAAA;KAC3E,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAC;AAEF,oBAAY,oBAAoB,CAAC,CAAC,GAAG,IAAI,IAAI;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACnC,aAAa,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;IAC5E,kBAAkB,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;IAC/E,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC;IAEhB;;;OAGG;IACD,aAAa;IAEf;;;OAGG;OACD,mBAAmB;IAErB;;OAEG;OACD;QAAE,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAElC,WAAW,CAAC;IAEZ;;OAEG;IACD,OAAO;IAET;;;OAGG;OACD,eAAe;IAEjB;;OAEG;OACD,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,CAAA;IAEvD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAA;AAUD,oBAAY,OAAO,GAAG;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;CACR,CAAA;AAUD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,qBAAa,SAAS;IAEpB,IAAI,EAAE,oBAAoB,CAWxB;IAQF,EAAE,CAAC,EAAE,EAAE,CAAC;IACR,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,IAAI,UAAU,IAAI,UAAU,CAG3B;IACD,IAAI,UAAU,CAAC,CAAC,EAAE,UAAU,EAE3B;IACD,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,QAAQ;;;;;MAAoB;IAC5B,OAAO,CAAC,MAAM,CAAS;IAEvB,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,OAAO,CAAC,SAAS,EAAE,MAAM;gBAIb,MAAM,EAAE,oBAAoB;IA+BxC,SAAS,UAAS;IAEZ,cAAc,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA+B9D,OAAO;IAIP,aAAa;;;;IAMb,OAAO,CAAC,WAAW;IASnB,aAAa,CAAC,KAAK,UAAQ;IAmB3B,UAAU,iCAUT;IAED,WAAW,UAAS;IACpB,0BAA0B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,GAAG,OAAO,CAAC;QAChE,EAAE,EAAE,aAAa,CAAC;QAClB,GAAG,EAAE,EAAE,CAAC;QACR,GAAG,EAAE,GAAG,CAAC;QACT,EAAE,CAAC,EAAE,GAAG,CAAC;QACT,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;KACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
|
package/lib/Prostgles.js
CHANGED
|
@@ -418,10 +418,19 @@ class Prostgles {
|
|
|
418
418
|
this.opts.io.on("connection", () => {
|
|
419
419
|
console.log("Socket connected to destroyed instance");
|
|
420
420
|
});
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
421
|
+
/** Try to close IO without stopping http server */
|
|
422
|
+
if (this.opts.io.sockets.constructor.name === "Namespace") {
|
|
423
|
+
for (const socket of this.opts.io.sockets.sockets.values()) {
|
|
424
|
+
socket._onclose("server shutting down");
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
if (this.opts.io.engine.constructor.name === 'Server') {
|
|
428
|
+
this.opts.io.engine.close();
|
|
424
429
|
}
|
|
430
|
+
// if (typeof this.opts.io.close === "function") {
|
|
431
|
+
// this.opts.io.close();
|
|
432
|
+
// console.log("this.io.close")
|
|
433
|
+
// }
|
|
425
434
|
}
|
|
426
435
|
this.dboBuilder?.destroy();
|
|
427
436
|
this.dbo = undefined;
|
package/lib/Prostgles.ts
CHANGED
|
@@ -563,10 +563,20 @@ export class Prostgles {
|
|
|
563
563
|
this.opts.io.on("connection", () => {
|
|
564
564
|
console.log("Socket connected to destroyed instance")
|
|
565
565
|
});
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
566
|
+
|
|
567
|
+
/** Try to close IO without stopping http server */
|
|
568
|
+
if(this.opts.io.sockets.constructor.name === "Namespace"){
|
|
569
|
+
for (const socket of this.opts.io.sockets.sockets.values()) {
|
|
570
|
+
socket._onclose("server shutting down");
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
if(this.opts.io.engine.constructor.name === 'Server'){
|
|
574
|
+
this.opts.io.engine.close();
|
|
569
575
|
}
|
|
576
|
+
// if (typeof this.opts.io.close === "function") {
|
|
577
|
+
// this.opts.io.close();
|
|
578
|
+
// console.log("this.io.close")
|
|
579
|
+
// }
|
|
570
580
|
}
|
|
571
581
|
|
|
572
582
|
this.dboBuilder?.destroy();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prostgles-server",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.195",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"bluebird": "^3.7.2",
|
|
30
30
|
"file-type": "^17.1.2",
|
|
31
31
|
"pg-promise": "^10.11.1",
|
|
32
|
-
"prostgles-types": "^1.5.
|
|
32
|
+
"prostgles-types": "^1.5.163",
|
|
33
33
|
"sharp": "^0.30.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
58079
|
|
@@ -11,7 +11,7 @@ process.on('unhandledRejection', (reason, p) => {
|
|
|
11
11
|
const app = express();
|
|
12
12
|
app.use(express.json());
|
|
13
13
|
app.use(express.urlencoded({ extended: true }));
|
|
14
|
-
|
|
14
|
+
import _http from "http";
|
|
15
15
|
const http = _http.createServer(app);
|
|
16
16
|
const io = require("socket.io")(http, {
|
|
17
17
|
path: "/s"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"../..": {
|
|
23
23
|
"name": "prostgles-server",
|
|
24
|
-
"version": "2.0.
|
|
24
|
+
"version": "2.0.194",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@aws-sdk/client-s3": "^3.95.0",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"bluebird": "^3.7.2",
|
|
30
30
|
"file-type": "^17.1.2",
|
|
31
31
|
"pg-promise": "^10.11.1",
|
|
32
|
-
"prostgles-types": "^1.5.
|
|
32
|
+
"prostgles-types": "^1.5.163",
|
|
33
33
|
"sharp": "^0.30.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
@@ -1371,7 +1371,7 @@
|
|
|
1371
1371
|
"bluebird": "^3.7.2",
|
|
1372
1372
|
"file-type": "^17.1.2",
|
|
1373
1373
|
"pg-promise": "^10.11.1",
|
|
1374
|
-
"prostgles-types": "^1.5.
|
|
1374
|
+
"prostgles-types": "^1.5.163",
|
|
1375
1375
|
"sharp": "^0.30.7",
|
|
1376
1376
|
"typescript": "^4.7.4"
|
|
1377
1377
|
}
|