prostgles-server 2.0.272 → 2.0.273

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Prostgles.js","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Prostgles.js","sourceRoot":"","sources":["../lib/Prostgles.ts"],"names":[],"mappings":"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"}
@@ -112,9 +112,16 @@ export default class AuthHandler {
112
112
  dbo: DBHandlerServer;
113
113
  db: DB;
114
114
  sidKeyName?: string;
115
- returnURL?: string;
116
- loginRoute?: string;
117
- logoutGetPath?: string;
115
+ routes: {
116
+ login?: string;
117
+ returnURL?: string;
118
+ logoutGetPath?: string;
119
+ magicLinks?: {
120
+ route: string;
121
+ expressRoute: string;
122
+ };
123
+ readonly catchAll: '*';
124
+ };
118
125
  constructor(prostgles: Prostgles);
119
126
  validateSid: (sid: string | undefined) => string;
120
127
  matchesRoute: (route: string | undefined, clientFullRoute: string) => boolean;
@@ -122,6 +129,7 @@ export default class AuthHandler {
122
129
  private setCookieAndGoToReturnURLIFSet;
123
130
  getUser: (clientReq: AuthClientRequest) => Promise<AnyObject | undefined>;
124
131
  init(): Promise<void>;
132
+ destroy: () => void;
125
133
  throttledFunc: <T>(func: () => Promise<T>, throttle?: number) => Promise<T>;
126
134
  loginThrottled: (params: AnyObject) => Promise<BasicSession>;
127
135
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["AuthHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["AuthHandler.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const prostgles_types_1 = require("prostgles-types");
4
+ const FileManager_1 = require("./FileManager");
4
5
  class AuthHandler {
5
6
  constructor(prostgles) {
7
+ this.routes = {
8
+ catchAll: "*"
9
+ };
6
10
  this.validateSid = (sid) => {
7
11
  if (!sid)
8
12
  return undefined;
@@ -18,10 +22,10 @@ class AuthHandler {
18
22
  const pubRoutes = [
19
23
  ...this.opts?.expressConfig?.publicRoutes || [],
20
24
  ];
21
- if (this.loginRoute)
22
- pubRoutes.push(this.loginRoute);
23
- if (this.logoutGetPath)
24
- pubRoutes.push(this.logoutGetPath);
25
+ if (this.routes?.login)
26
+ pubRoutes.push(this.routes?.login);
27
+ if (this.routes?.logoutGetPath)
28
+ pubRoutes.push(this.routes?.logoutGetPath);
25
29
  return Boolean(!pubRoutes.find(publicRoute => {
26
30
  return this.matchesRoute(publicRoute, pathname); // publicRoute === pathname || pathname.startsWith(publicRoute) && ["/", "?", "#"].includes(pathname.slice(-1));
27
31
  }));
@@ -41,10 +45,10 @@ class AuthHandler {
41
45
  };
42
46
  const cookieOpts = { ...options, secure: true, sameSite: "strict", ...(this.opts?.expressConfig?.cookieOptions || {}) };
43
47
  const cookieData = sid;
44
- if (!this.sidKeyName || !this.returnURL)
48
+ if (!this.sidKeyName || !this.routes?.returnURL)
45
49
  throw "sidKeyName or returnURL missing";
46
50
  res.cookie(this.sidKeyName, cookieData, cookieOpts);
47
- const successURL = getReturnUrl(req, this.returnURL) || "/";
51
+ const successURL = getReturnUrl(req, this.routes.returnURL) || "/";
48
52
  res.redirect(successURL);
49
53
  }
50
54
  else {
@@ -67,6 +71,11 @@ class AuthHandler {
67
71
  }
68
72
  return undefined;
69
73
  };
74
+ this.destroy = () => {
75
+ const app = this.opts?.expressConfig?.app;
76
+ const { login, logoutGetPath, magicLinks } = this.routes;
77
+ (0, FileManager_1.removeExpressRoute)(app, [login, logoutGetPath, magicLinks?.expressRoute]);
78
+ };
70
79
  this.throttledFunc = (func, throttle = 500) => {
71
80
  return new Promise(async (resolve, reject) => {
72
81
  let interval, result, error, finished = false;
@@ -184,9 +193,17 @@ class AuthHandler {
184
193
  };
185
194
  this.opts = prostgles.opts.auth;
186
195
  if (prostgles.opts.auth?.expressConfig) {
187
- this.returnURL = prostgles.opts.auth?.expressConfig?.returnURL || "returnURL";
188
- this.loginRoute = prostgles.opts.auth?.expressConfig?.loginRoute || "/login";
189
- this.logoutGetPath = prostgles.opts.auth?.expressConfig?.logoutGetPath || "/logout";
196
+ const { magicLinks, returnURL, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
197
+ this.routes = {
198
+ magicLinks: magicLinks ? {
199
+ expressRoute: `${magicLinks.route}/:id`,
200
+ route: magicLinks.route || "/magic-link"
201
+ } : undefined,
202
+ returnURL: returnURL || "returnURL",
203
+ login: loginRoute || "/login",
204
+ logoutGetPath: logoutGetPath || "/logout",
205
+ catchAll: "*"
206
+ };
190
207
  }
191
208
  if (!prostgles.dbo || !prostgles.db)
192
209
  throw "dbo or db missing";
@@ -214,11 +231,11 @@ class AuthHandler {
214
231
  if (publicRoutes.find(r => typeof r !== "string" || !r)) {
215
232
  throw "Invalid or empty string provided within publicRoutes ";
216
233
  }
217
- if (app && magicLinks) {
218
- const { route = "/magic-link", check } = magicLinks;
234
+ if (app && magicLinks && this.routes.magicLinks) {
235
+ const { check } = magicLinks;
219
236
  if (!check)
220
237
  throw "Check must be defined for magicLinks";
221
- app.get(`${route}/:id`, async (req, res) => {
238
+ app.get(this.routes.magicLinks?.expressRoute, async (req, res) => {
222
239
  const { id } = req.params ?? {};
223
240
  if (typeof id !== "string" || !id) {
224
241
  res.status(404).json({ msg: "Invalid magic-link id. Expecting a string" });
@@ -241,8 +258,9 @@ class AuthHandler {
241
258
  }
242
259
  });
243
260
  }
244
- if (app && this.loginRoute) {
245
- app.post(this.loginRoute, async (req, res) => {
261
+ const loginRoute = this.routes?.login;
262
+ if (app && loginRoute) {
263
+ app.post(loginRoute, async (req, res) => {
246
264
  try {
247
265
  const { sid, expires } = await this.loginThrottled(req.body || {}) || {};
248
266
  if (sid) {
@@ -257,8 +275,8 @@ class AuthHandler {
257
275
  res.status(404).json({ err });
258
276
  }
259
277
  });
260
- if (app && this.logoutGetPath && this.opts.logout) {
261
- app.get(this.logoutGetPath, async (req, res) => {
278
+ if (app && this.routes.logoutGetPath && this.opts.logout) {
279
+ app.get(this.routes.logoutGetPath, async (req, res) => {
262
280
  const sid = this.validateSid(req?.cookies?.[sidKeyName]);
263
281
  if (sid) {
264
282
  try {
@@ -275,11 +293,11 @@ class AuthHandler {
275
293
  }
276
294
  if (app && Array.isArray(publicRoutes)) {
277
295
  /* Redirect if not logged in and requesting non public content */
278
- app.get('*', async (req, res) => {
296
+ app.get(this.routes.catchAll, async (req, res) => {
279
297
  const clientReq = { httpReq: req };
280
298
  const getUser = this.getUser;
281
299
  try {
282
- const returnURL = getReturnUrl(req, this.returnURL);
300
+ const returnURL = getReturnUrl(req, this.routes.returnURL);
283
301
  /**
284
302
  * Requesting a User route
285
303
  */
@@ -287,7 +305,7 @@ class AuthHandler {
287
305
  /* Check auth. Redirect if unauthorized */
288
306
  const u = await getUser(clientReq);
289
307
  if (!u) {
290
- res.redirect(`${this.loginRoute}?returnURL=${encodeURIComponent(req.originalUrl)}`);
308
+ res.redirect(`${loginRoute}?returnURL=${encodeURIComponent(req.originalUrl)}`);
291
309
  return;
292
310
  }
293
311
  /* If authorized and going to returnUrl then redirect. Otherwise serve file */
@@ -297,7 +315,7 @@ class AuthHandler {
297
315
  return;
298
316
  /** If Logged in and requesting login then redirect */
299
317
  }
300
- else if (this.matchesRoute(this.loginRoute, req.path) && (await getUser(clientReq))) {
318
+ else if (this.matchesRoute(loginRoute, req.path) && (await getUser(clientReq))) {
301
319
  res.redirect("/");
302
320
  return;
303
321
  }
@@ -2,6 +2,7 @@ import { Request, Response } from "express";
2
2
  import { AnyObject, AuthGuardLocation, AuthGuardLocationResponse, CHANNELS, DBSchema } from "prostgles-types";
3
3
  import { LocalParams, PRGLIOSocket } from "./DboBuilder";
4
4
  import { DBOFullyTyped } from "./DBSchemaBuilder";
5
+ import { removeExpressRoute } from "./FileManager";
5
6
  import { DB, DBHandlerServer, Prostgles } from "./Prostgles";
6
7
  type Awaitable<T> = T | Promise<T>;
7
8
  type AuthSocketSchema = {
@@ -148,17 +149,35 @@ export default class AuthHandler {
148
149
  dbo: DBHandlerServer;
149
150
  db: DB;
150
151
  sidKeyName?: string;
151
- returnURL?: string;
152
152
 
153
- loginRoute?: string;
154
- logoutGetPath?: string;
153
+ routes: {
154
+ login?: string;
155
+ returnURL?: string;
156
+ logoutGetPath?: string;
157
+ magicLinks?: {
158
+ route: string;
159
+ expressRoute: string;
160
+ }
161
+ readonly catchAll: '*';
162
+ } = {
163
+ catchAll: "*"
164
+ }
155
165
 
156
166
  constructor(prostgles: Prostgles) {
157
167
  this.opts = prostgles.opts.auth as any;
158
168
  if (prostgles.opts.auth?.expressConfig) {
159
- this.returnURL = prostgles.opts.auth?.expressConfig?.returnURL || "returnURL";
160
- this.loginRoute = prostgles.opts.auth?.expressConfig?.loginRoute || "/login";
161
- this.logoutGetPath = prostgles.opts.auth?.expressConfig?.logoutGetPath || "/logout";
169
+ const { magicLinks, returnURL, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
170
+ this.routes = {
171
+ magicLinks: magicLinks? {
172
+ expressRoute: `${magicLinks.route}/:id`,
173
+ route: magicLinks.route || "/magic-link"
174
+ } : undefined,
175
+ returnURL: returnURL || "returnURL",
176
+ login: loginRoute || "/login",
177
+ logoutGetPath: logoutGetPath || "/logout",
178
+ catchAll: "*"
179
+ }
180
+
162
181
  }
163
182
  if(!prostgles.dbo || !prostgles.db) throw "dbo or db missing";
164
183
  this.dbo = prostgles.dbo;
@@ -182,8 +201,8 @@ export default class AuthHandler {
182
201
  const pubRoutes = [
183
202
  ...this.opts?.expressConfig?.publicRoutes || [],
184
203
  ];
185
- if (this.loginRoute) pubRoutes.push(this.loginRoute);
186
- if (this.logoutGetPath) pubRoutes.push(this.logoutGetPath);
204
+ if (this.routes?.login) pubRoutes.push(this.routes?.login);
205
+ if (this.routes?.logoutGetPath) pubRoutes.push(this.routes?.logoutGetPath);
187
206
 
188
207
  return Boolean(!pubRoutes.find(publicRoute => {
189
208
  return this.matchesRoute(publicRoute, pathname); // publicRoute === pathname || pathname.startsWith(publicRoute) && ["/", "?", "#"].includes(pathname.slice(-1));
@@ -205,9 +224,9 @@ export default class AuthHandler {
205
224
  }
206
225
  const cookieOpts = { ...options, secure: true, sameSite: "strict" as "strict", ...(this.opts?.expressConfig?.cookieOptions || {}) };
207
226
  const cookieData = sid;
208
- if(!this.sidKeyName || !this.returnURL) throw "sidKeyName or returnURL missing"
227
+ if(!this.sidKeyName || !this.routes?.returnURL) throw "sidKeyName or returnURL missing"
209
228
  res.cookie(this.sidKeyName, cookieData, cookieOpts);
210
- const successURL = getReturnUrl(req, this.returnURL) || "/";
229
+ const successURL = getReturnUrl(req, this.routes.returnURL) || "/";
211
230
  res.redirect(successURL);
212
231
 
213
232
  } else {
@@ -254,10 +273,10 @@ export default class AuthHandler {
254
273
  throw "Invalid or empty string provided within publicRoutes "
255
274
  }
256
275
 
257
- if (app && magicLinks) {
258
- const { route = "/magic-link", check } = magicLinks;
276
+ if (app && magicLinks && this.routes.magicLinks) {
277
+ const { check } = magicLinks;
259
278
  if (!check) throw "Check must be defined for magicLinks";
260
- app.get(`${route}/:id`, async (req: ExpressReq, res: ExpressRes) => {
279
+ app.get(this.routes.magicLinks?.expressRoute, async (req: ExpressReq, res: ExpressRes) => {
261
280
  const { id } = req.params ?? {};
262
281
 
263
282
  if (typeof id !== "string" || !id) {
@@ -280,10 +299,11 @@ export default class AuthHandler {
280
299
  });
281
300
  }
282
301
 
283
- if (app && this.loginRoute) {
302
+ const loginRoute = this.routes?.login;
303
+ if (app && loginRoute) {
284
304
 
285
305
 
286
- app.post(this.loginRoute, async (req: ExpressReq, res: ExpressRes) => {
306
+ app.post(loginRoute, async (req: ExpressReq, res: ExpressRes) => {
287
307
  try {
288
308
  const { sid, expires } = await this.loginThrottled(req.body || {}) || {};
289
309
 
@@ -302,8 +322,8 @@ export default class AuthHandler {
302
322
 
303
323
  });
304
324
 
305
- if (app && this.logoutGetPath && this.opts.logout) {
306
- app.get(this.logoutGetPath, async (req: ExpressReq, res: ExpressRes) => {
325
+ if (app && this.routes.logoutGetPath && this.opts.logout) {
326
+ app.get(this.routes.logoutGetPath, async (req: ExpressReq, res: ExpressRes) => {
307
327
  const sid = this.validateSid(req?.cookies?.[sidKeyName]);
308
328
  if (sid) {
309
329
  try {
@@ -322,11 +342,11 @@ export default class AuthHandler {
322
342
  if (app && Array.isArray(publicRoutes)) {
323
343
 
324
344
  /* Redirect if not logged in and requesting non public content */
325
- app.get('*', async (req: ExpressReq, res: ExpressRes) => {
345
+ app.get(this.routes.catchAll, async (req: ExpressReq, res: ExpressRes) => {
326
346
  const clientReq: AuthClientRequest = { httpReq: req }
327
347
  const getUser = this.getUser;
328
348
  try {
329
- const returnURL = getReturnUrl(req, this.returnURL)
349
+ const returnURL = getReturnUrl(req, this.routes.returnURL)
330
350
 
331
351
 
332
352
  /**
@@ -336,7 +356,7 @@ export default class AuthHandler {
336
356
  /* Check auth. Redirect if unauthorized */
337
357
  const u = await getUser(clientReq);
338
358
  if (!u) {
339
- res.redirect(`${this.loginRoute}?returnURL=${encodeURIComponent(req.originalUrl)}`);
359
+ res.redirect(`${loginRoute}?returnURL=${encodeURIComponent(req.originalUrl)}`);
340
360
  return;
341
361
  }
342
362
 
@@ -347,7 +367,7 @@ export default class AuthHandler {
347
367
  return;
348
368
 
349
369
  /** If Logged in and requesting login then redirect */
350
- } else if (this.matchesRoute(this.loginRoute, req.path) && (await getUser(clientReq))) {
370
+ } else if (this.matchesRoute(loginRoute, req.path) && (await getUser(clientReq))) {
351
371
 
352
372
  res.redirect("/");
353
373
  return;
@@ -366,6 +386,12 @@ export default class AuthHandler {
366
386
  }
367
387
  }
368
388
 
389
+ destroy = () => {
390
+ const app = this.opts?.expressConfig?.app;
391
+ const { login, logoutGetPath, magicLinks } = this.routes;
392
+ removeExpressRoute(app, [login, logoutGetPath, magicLinks?.expressRoute]);
393
+ }
394
+
369
395
  throttledFunc = <T>(func: () => Promise<T>, throttle = 500): Promise<T> => {
370
396
 
371
397
  return new Promise(async (resolve, reject) => {
@@ -2,7 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  import { S3 } from 'aws-sdk';
4
4
  import * as stream from 'stream';
5
- import { DB, DBHandlerServer, Prostgles } from './Prostgles';
5
+ import { DB, DBHandlerServer, ExpressApp, Prostgles } from './Prostgles';
6
6
  import { ALLOWED_CONTENT_TYPE, ALLOWED_EXTENSION, ValidatedColumnInfo } from 'prostgles-types';
7
7
  export declare const asSQLIdentifier: (name: string, db: DB) => Promise<string>;
8
8
  declare type OnProgress = (progress: S3.ManagedUpload.Progress) => void;
@@ -74,6 +74,7 @@ export default class FileManager {
74
74
  get db(): DB;
75
75
  tableName?: string;
76
76
  private fileRoute?;
77
+ get fileRouteExpress(): string;
77
78
  private checkInterval?;
78
79
  constructor(config: FileManager["config"], imageOptions?: ImageOptions);
79
80
  getFileStream(name: string): Promise<stream.Readable>;
@@ -104,7 +105,9 @@ export default class FileManager {
104
105
  colName: string;
105
106
  }) => ValidatedColumnInfo["file"] | undefined;
106
107
  init: (prg: Prostgles) => Promise<void>;
108
+ destroy: () => void;
107
109
  }
110
+ export declare const removeExpressRoute: (app: ExpressApp | undefined, routePaths: (string | undefined)[]) => void;
108
111
  export declare const getFileTypeFromFilename: (fileName: string) => {
109
112
  mime: ALLOWED_CONTENT_TYPE;
110
113
  ext: ALLOWED_EXTENSION | string;
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  var _a;
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.bytesToSize = exports.getFileType = exports.getFileTypeFromFilename = exports.asSQLIdentifier = void 0;
30
+ exports.bytesToSize = exports.getFileType = exports.getFileTypeFromFilename = exports.removeExpressRoute = exports.asSQLIdentifier = void 0;
31
31
  const aws_sdk_1 = require("aws-sdk");
32
32
  const fs = __importStar(require("fs"));
33
33
  const stream = __importStar(require("stream"));
@@ -323,7 +323,7 @@ class FileManager {
323
323
  }
324
324
  this.fileRoute = fileServeRoute;
325
325
  if (app) {
326
- app.get(this.fileRoute + "/:name", async (req, res) => {
326
+ app.get(this.fileRouteExpress, async (req, res) => {
327
327
  if (!this.dbo[tableName]) {
328
328
  res.status(500).json({ err: `Internal error: media table (${tableName}) not valid` });
329
329
  return false;
@@ -371,6 +371,9 @@ class FileManager {
371
371
  });
372
372
  }
373
373
  };
374
+ this.destroy = () => {
375
+ (0, exports.removeExpressRoute)(this.prostgles?.opts.fileTable?.expressApp, [this.fileRouteExpress]);
376
+ };
374
377
  this.config = config;
375
378
  this.imageOptions = imageOptions;
376
379
  if ("region" in config) {
@@ -398,8 +401,10 @@ class FileManager {
398
401
  }
399
402
  }
400
403
  get dbo() {
401
- if (!this.prostgles?.dbo)
404
+ if (!this.prostgles?.dbo) {
405
+ // this.prostgles?.refreshDBO();
402
406
  throw "this.prostgles.dbo missing";
407
+ }
403
408
  return this.prostgles.dbo;
404
409
  }
405
410
  ;
@@ -409,6 +414,9 @@ class FileManager {
409
414
  return this.prostgles.db;
410
415
  }
411
416
  ;
417
+ get fileRouteExpress() {
418
+ return this.fileRoute + "/:name";
419
+ }
412
420
  async getFileStream(name) {
413
421
  if ("bucket" in this.config && this.s3Client) {
414
422
  return this.s3Client.getObject({ Key: name, Bucket: this.config.bucket }).createReadStream();
@@ -578,6 +586,17 @@ FileManager.testCredentials = async (accessKeyId, secretAccessKey) => {
578
586
  const ident = await sts.getCallerIdentity({}).promise();
579
587
  return ident;
580
588
  };
589
+ const removeExpressRoute = (app, routePaths) => {
590
+ const routes = app?._router?.stack;
591
+ if (routes) {
592
+ routes.forEach((route, i) => {
593
+ if (routePaths.filter(prostgles_types_1.isDefined).includes(route.route?.path)) {
594
+ routes.splice(i, 1);
595
+ }
596
+ });
597
+ }
598
+ };
599
+ exports.removeExpressRoute = removeExpressRoute;
581
600
  const getFileTypeFromFilename = (fileName) => {
582
601
  const nameParts = fileName.split(".");
583
602
  if (nameParts.length < 2)
@@ -7,8 +7,8 @@ import * as stream from 'stream';
7
7
  import * as sharp from "sharp";
8
8
  import checkDiskSpace from 'check-disk-space';
9
9
 
10
- import { DB, DBHandlerServer, Prostgles } from './Prostgles';
11
- import { ALLOWED_CONTENT_TYPE, ALLOWED_EXTENSION, asName, CONTENT_TYPE_TO_EXT, getKeys, isObject, ValidatedColumnInfo } from 'prostgles-types';
10
+ import { DB, DBHandlerServer, ExpressApp, Prostgles } from './Prostgles';
11
+ import { ALLOWED_CONTENT_TYPE, ALLOWED_EXTENSION, asName, CONTENT_TYPE_TO_EXT, getKeys, isDefined, isObject, ValidatedColumnInfo } from 'prostgles-types';
12
12
  import { TableHandler, ViewHandler } from './DboBuilder';
13
13
 
14
14
  const HOUR = 3600 * 1000;
@@ -97,7 +97,10 @@ export default class FileManager {
97
97
 
98
98
  prostgles?: Prostgles;
99
99
  get dbo(): DBHandlerServer {
100
- if(!this.prostgles?.dbo) throw "this.prostgles.dbo missing"
100
+ if(!this.prostgles?.dbo) {
101
+ // this.prostgles?.refreshDBO();
102
+ throw "this.prostgles.dbo missing"
103
+ }
101
104
  return this.prostgles.dbo
102
105
  };
103
106
  get db(): DB {
@@ -108,6 +111,9 @@ export default class FileManager {
108
111
  tableName?: string;
109
112
 
110
113
  private fileRoute?: string;
114
+ get fileRouteExpress (){
115
+ return this.fileRoute + "/:name";
116
+ }
111
117
  private checkInterval?: NodeJS.Timeout;
112
118
 
113
119
  constructor(config: FileManager["config"], imageOptions?: ImageOptions){
@@ -639,7 +645,7 @@ export default class FileManager {
639
645
  this.fileRoute = fileServeRoute;
640
646
 
641
647
  if(app){
642
- app.get(this.fileRoute + "/:name", async (req, res) => {
648
+ app.get(this.fileRouteExpress, async (req, res) => {
643
649
  if(!this.dbo[tableName]){
644
650
  res.status(500).json({ err: `Internal error: media table (${tableName}) not valid` });
645
651
  return false;
@@ -695,6 +701,22 @@ export default class FileManager {
695
701
  });
696
702
  }
697
703
  }
704
+
705
+ destroy = () => {
706
+ removeExpressRoute(this.prostgles?.opts.fileTable?.expressApp, [this.fileRouteExpress]);
707
+ }
708
+ }
709
+
710
+ export const removeExpressRoute = (app: ExpressApp | undefined, routePaths: (string | undefined)[]) => {
711
+
712
+ const routes = app?._router?.stack;
713
+ if(routes){
714
+ routes.forEach((route, i) => {
715
+ if(routePaths.filter(isDefined).includes(route.route?.path!)){
716
+ routes.splice(i, 1);
717
+ }
718
+ })
719
+ }
698
720
  }
699
721
 
700
722
  export const getFileTypeFromFilename = (fileName: string): { mime: ALLOWED_CONTENT_TYPE; ext: ALLOWED_EXTENSION | string } | undefined => {
@@ -31,7 +31,7 @@ declare type Keywords = {
31
31
  export declare type DeepPartial<T> = {
32
32
  [P in keyof T]?: DeepPartial<T[P]>;
33
33
  };
34
- declare type ExpressApp = {
34
+ export declare type ExpressApp = {
35
35
  get: (routePath: string, cb: (req: {
36
36
  params: {
37
37
  name: string;
@@ -49,6 +49,16 @@ declare type ExpressApp = {
49
49
  json: (response: AnyObject) => any;
50
50
  };
51
51
  }) => any) => any;
52
+ _router?: {
53
+ stack?: {
54
+ handle: Function;
55
+ path: undefined;
56
+ keys?: any[];
57
+ route?: {
58
+ path?: string;
59
+ };
60
+ }[];
61
+ };
52
62
  };
53
63
  /**
54
64
  * Allows uploading and downloading files.