From d8dd3021daba73b112f9a77fad50322f9411a7ba Mon Sep 17 00:00:00 2001 From: rubikscraft Date: Mon, 28 Mar 2022 13:56:30 +0200 Subject: [PATCH] refactor imagemanager and demomanager --- .../src/managers/demo/demomanager.module.ts | 20 +++++++++---------- .../src/managers/demo/demomanager.service.ts | 3 ++- .../imagemanager/imagemanager.service.ts | 6 ++++++ 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/backend/src/managers/demo/demomanager.module.ts b/backend/src/managers/demo/demomanager.module.ts index 65d5265..bbbb19f 100644 --- a/backend/src/managers/demo/demomanager.module.ts +++ b/backend/src/managers/demo/demomanager.module.ts @@ -11,22 +11,13 @@ import { DemoManagerService } from './demomanager.service'; }) export class DemoManagerModule implements OnModuleInit, OnModuleDestroy { private readonly logger = new Logger('DemoManagerModule'); + private interval: NodeJS.Timeout; constructor( private readonly demoManagerService: DemoManagerService, private hostConfigService: HostConfigService, ) {} - private interval: NodeJS.Timeout; - - private async setupDemoMode() { - this.demoManagerService.setupRoles(); - this.interval = setInterval( - this.demoManagerService.execute.bind(this.demoManagerService), - this.hostConfigService.getDemoInterval(), - ); - } - async onModuleInit() { if (this.hostConfigService.isDemo()) { this.logger.log('Demo mode enabled'); @@ -34,6 +25,15 @@ export class DemoManagerModule implements OnModuleInit, OnModuleDestroy { } } + private async setupDemoMode() { + this.demoManagerService.setupRoles(); + this.interval = setInterval( + // Run demoManagerService.execute() every interval + this.demoManagerService.execute.bind(this.demoManagerService), + this.hostConfigService.getDemoInterval(), + ); + } + onModuleDestroy() { if (this.interval) clearInterval(this.interval); } diff --git a/backend/src/managers/demo/demomanager.service.ts b/backend/src/managers/demo/demomanager.service.ts index 78d82e7..6820ba6 100644 --- a/backend/src/managers/demo/demomanager.service.ts +++ b/backend/src/managers/demo/demomanager.service.ts @@ -16,6 +16,7 @@ export class DemoManagerService { this.logger.warn( 'Modifying roles for demo mode, this will not be reverted automatically', ); + // Could be done manually, but this makes settup up a demo instance quicker this.rolesService.addPermissions('guest', [Permission.ImageUpload]); } @@ -24,7 +25,7 @@ export class DemoManagerService { } private async executeAsync() { - this.logger.log('Executing demo cleanup'); + this.logger.debug('Executing demo cleanup'); await this.imagesService.deleteAll(true); } } diff --git a/backend/src/managers/imagemanager/imagemanager.service.ts b/backend/src/managers/imagemanager/imagemanager.service.ts index fef21c2..d237448 100644 --- a/backend/src/managers/imagemanager/imagemanager.service.ts +++ b/backend/src/managers/imagemanager/imagemanager.service.ts @@ -6,6 +6,10 @@ import { MimesService } from '../../collections/imagedb/mimes.service'; import { FullMime } from '../../models/dto/mimes.dto'; import { EImageBackend } from '../../models/entities/image.entity'; +// Right now this service is mostly a wrapper for the imagedbservice. +// But in the future the actual image logic will happend here +// And the image storing part will stay in the imagedbservice + @Injectable() export class ImageManagerService { constructor( @@ -18,6 +22,7 @@ export class ImageManagerService { } // Image data buffer is not included by default, this also returns that buffer + // Dont send to client, keep in backend public async retrieveComplete(hash: string): AsyncFailable> { return await this.imagesService.findOne(hash, true); } @@ -38,6 +43,7 @@ export class ImageManagerService { } private async process(image: Buffer, mime: FullMime): Promise { + // nothing happens right now return image; }