From e2b5acaf840c22e04bd298a2054be3dd10a8d1c7 Mon Sep 17 00:00:00 2001 From: David Mehren Date: Fri, 16 Oct 2020 22:37:20 +0200 Subject: [PATCH] MediaController: Use `MediaService` to store media Signed-off-by: David Mehren --- src/api/public/media/media.controller.ts | 20 +++++++++++++++++--- src/api/public/public-api.module.ts | 2 ++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/api/public/media/media.controller.ts b/src/api/public/media/media.controller.ts index 57aa18121..4322aaf4e 100644 --- a/src/api/public/media/media.controller.ts +++ b/src/api/public/media/media.controller.ts @@ -6,16 +6,30 @@ import { } from '@nestjs/common'; import { FileInterceptor } from '@nestjs/platform-express'; import { ConsoleLoggerService } from '../../../logger/console-logger.service'; +import { MediaService } from '../../../media/media.service'; +import { MulterFile } from '../../../media/multer-file.interface'; @Controller('media') export class MediaController { - constructor(private readonly logger: ConsoleLoggerService) { + constructor( + private readonly logger: ConsoleLoggerService, + private mediaService: MediaService, + ) { this.logger.setContext(MediaController.name); } @Post('upload') @UseInterceptors(FileInterceptor('file')) - uploadImage(@UploadedFile() file) { - this.logger.debug('Recieved file: ' + file); + async uploadImage(@UploadedFile() file: MulterFile) { + this.logger.debug('Recieved file: ' + file.originalname); + //TODO: Get user and note from request + const url = await this.mediaService.saveFile( + file, + 'hardcoded', + 'hardcoded', + ); + return { + link: url, + }; } } diff --git a/src/api/public/public-api.module.ts b/src/api/public/public-api.module.ts index 26646d4cf..bc1f09c79 100644 --- a/src/api/public/public-api.module.ts +++ b/src/api/public/public-api.module.ts @@ -1,6 +1,7 @@ import { Module } from '@nestjs/common'; import { HistoryModule } from '../../history/history.module'; import { LoggerModule } from '../../logger/logger.module'; +import { MediaModule } from '../../media/media.module'; import { MonitoringModule } from '../../monitoring/monitoring.module'; import { NotesModule } from '../../notes/notes.module'; import { RevisionsModule } from '../../revisions/revisions.module'; @@ -18,6 +19,7 @@ import { MonitoringController } from './monitoring/monitoring.controller'; RevisionsModule, MonitoringModule, LoggerModule, + MediaModule, ], controllers: [ MeController,