From 7e2291c57653f8079c5c1c93b09e8f68734f1955 Mon Sep 17 00:00:00 2001 From: sdimitris Date: Mon, 10 Jan 2022 18:28:39 +0200 Subject: [PATCH] fix(storage): migrate non admin routes --- modules/storage/src/Storage.ts | 6 ++++-- modules/storage/src/routes/router.ts | 14 ++++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/storage/src/Storage.ts b/modules/storage/src/Storage.ts index 70ff18aa0..9b2be28b2 100644 --- a/modules/storage/src/Storage.ts +++ b/modules/storage/src/Storage.ts @@ -7,7 +7,7 @@ import { import { status } from '@grpc/grpc-js'; import * as path from 'path'; import { FileHandlers } from './handlers/file'; -import { FileRoutes } from './routes/router'; +import { StorageRoutes } from './routes/router'; import { AdminRoutes } from './admin/admin'; import { migrateFoldersToContainers } from './migrations/container.migrations'; import * as models from './models'; @@ -19,6 +19,7 @@ export class StorageModule extends ConduitServiceModule { private _fileHandlers: FileHandlers; private _routes: any[]; private isRunning: boolean = false; + private _router: StorageRoutes; get routes() { return this._routes; @@ -164,9 +165,10 @@ export class StorageModule extends ConduitServiceModule { azure, }); this._fileHandlers = new FileHandlers(this.grpcSdk, this.storageProvider); - new FileRoutes(this.grpcServer, this.grpcSdk, this._fileHandlers); + this._router = new StorageRoutes(this.grpcServer, this.grpcSdk, this._fileHandlers); new AdminRoutes(this.grpcServer, this.grpcSdk, this._fileHandlers); this._fileHandlers.updateProvider(this.storageProvider); + await this._router.registerRoutes(); } private registerSchemas() { diff --git a/modules/storage/src/routes/router.ts b/modules/storage/src/routes/router.ts index ca9a14b80..4797067c4 100644 --- a/modules/storage/src/routes/router.ts +++ b/modules/storage/src/routes/router.ts @@ -9,20 +9,22 @@ import ConduitGrpcSdk, { TYPE, } from '@quintessential-sft/conduit-grpc-sdk'; -export class FileRoutes { +export class StorageRoutes { constructor( readonly server: GrpcServer, private readonly grpcSdk: ConduitGrpcSdk, private readonly fileHandlers: FileHandlers - ) { + ) {} + async registerRoutes() { + let activeRoutes = await this.getRegisteredRoutes(); this.grpcSdk.router - .registerRouter(server, this.registeredRoutes, { + .registerRouterAsync(this.server, activeRoutes, { createFile: this.fileHandlers.createFile.bind(this.fileHandlers), - deleteFile: this.fileHandlers.deleteFile.bind(this.fileHandlers), getFile: this.fileHandlers.getFile.bind(this.fileHandlers), getFileData: this.fileHandlers.getFileData.bind(this.fileHandlers), - updateFile: this.fileHandlers.updateFile.bind(this.fileHandlers), getFileUrl: this.fileHandlers.getFileUrl.bind(this.fileHandlers), + deleteFile: this.fileHandlers.deleteFile.bind(this.fileHandlers), + updateFile: this.fileHandlers.updateFile.bind(this.fileHandlers), }) .catch((err: Error) => { console.log('Failed to register routes for module'); @@ -30,7 +32,7 @@ export class FileRoutes { }); } - get registeredRoutes(): any[] { + async getRegisteredRoutes(): Promise { let routesArray: any = []; routesArray.push( constructRoute(