Spaces:
Runtime error
Runtime error
| import { | |
| Controller, | |
| Get, | |
| Delete, | |
| Query, | |
| HttpCode, | |
| HttpStatus, | |
| } from '@nestjs/common'; | |
| import { ApiTags, ApiOperation, ApiQuery } from '@nestjs/swagger'; | |
| import { UploadcareService } from './uploadcare.service'; | |
| import { FileType } from './enums/file-type.enum'; | |
| import { LogToDiscord } from 'src/shared/decorators/log-to-discord.decorator'; | |
| ('Upload: Uploadcare Storage') | |
| ('uploadcare') | |
| () | |
| export class UploadcareController { | |
| constructor(private readonly uploadcareService: UploadcareService) {} | |
| ('signed-upload') | |
| ({ summary: 'Get signed upload parameters' }) | |
| ({ name: 'type', enum: FileType, required: false }) | |
| getSignedUploadParams(('type') type?: FileType) { | |
| return this.uploadcareService.generateUploadSignature(type); | |
| } | |
| ('by-url') | |
| (HttpStatus.OK) | |
| ({ summary: 'Delete file by URL or UUID' }) | |
| ({ name: 'type', enum: FileType, required: false }) | |
| async deleteFileByUrl( | |
| ('url') url: string, | |
| ('type') type?: FileType, | |
| ) { | |
| const result = await this.uploadcareService.deleteFileByUrl(url, type); | |
| return { | |
| message: 'File deleted successfully', | |
| ...result, | |
| }; | |
| } | |
| ('file-info') | |
| ({ summary: 'Get file information by UUID' }) | |
| ({ name: 'uuid', required: true, description: 'File UUID' }) | |
| ({ name: 'type', enum: FileType, required: false }) | |
| async getFileInfo( | |
| ('uuid') uuid: string, | |
| ('type') type?: FileType, | |
| ) { | |
| return this.uploadcareService.getFileInfoByUuid(uuid, type); | |
| } | |
| } | |