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.
@@ -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 is missing`;
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 (!nameParts.length)
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 extenions");
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");
@@ -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
- if(!this.dbo[refTable]) throw `Referenced table (${refTable}) from fileTable.referencedTables prostgles init config is missing`;
435
- const cols = await (this.dbo[refTable] as unknown as TableHandler).getColumns();
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(!nameParts.length) return undefined;
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 extenions")
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");
@@ -1 +1 @@
1
- {"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
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
- if (typeof this.opts.io.close === "function") {
422
- this.opts.io.close();
423
- console.log("this.io.close");
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
- if (typeof this.opts.io.close === "function") {
567
- this.opts.io.close();
568
- console.log("this.io.close")
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.192",
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.162",
32
+ "prostgles-types": "^1.5.163",
33
33
  "sharp": "^0.30.7"
34
34
  },
35
35
  "devDependencies": {
@@ -1 +1 @@
1
- 3122
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
- const _http = require("http");
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.191",
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.162",
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.162",
1374
+ "prostgles-types": "^1.5.163",
1375
1375
  "sharp": "^0.30.7",
1376
1376
  "typescript": "^4.7.4"
1377
1377
  }