import { Controller, Post, UseInterceptors, UploadedFile } from '@nestjs/common';
import { ApiBody, ApiConsumes, ApiTags } from '@nestjs/swagger';
import { FileInterceptor } from '@nestjs/platform-express';
import { fileUploadDto } from './dto/upload_image';
import { MulterFile } from 'multer';
import { GlacierService } from './upload.service';

@ApiTags('Uploads')
@Controller('uploads')
export class UploadsController {
    constructor(
        private readonly glacierService: GlacierService
    ) { }

    @Post('file')
    @ApiConsumes('multipart/form-data')
    @ApiBody({ type: fileUploadDto })
    @UseInterceptors(FileInterceptor('file'))
    async uploadFile(@UploadedFile() file: MulterFile) {
        const response = await this.glacierService.uploadFile(file);
        return response;
    }
}
