diff --git a/src/infrastructure/storage/storage.service.ts b/src/infrastructure/storage/storage.service.ts index 291b760..3c042f0 100644 --- a/src/infrastructure/storage/storage.service.ts +++ b/src/infrastructure/storage/storage.service.ts @@ -1,7 +1,6 @@ import { Injectable, BadRequestException } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { CosStorageProvider } from './cos-storage.provider'; -import { RateLimitService } from '../../common/utils/rate-limit.service'; import { sanitizeFilename, validateFileUpload, @@ -32,7 +31,6 @@ export class StorageService { constructor( private readonly cos: CosStorageProvider, private readonly configService: ConfigService, - private readonly rateLimit: RateLimitService, ) {} getUploadPath(filename: string): string { @@ -56,7 +54,6 @@ export class StorageService { expiresIn = 3600, ): Promise { validateFileUpload(input.mimeType, input.sizeBytes); - await this.rateLimit.fileUploadLimit(userId); const objectKey = this.generateObjectKey(userId, input.filename); const result = await this.cos.generateUploadUrl(objectKey, expiresIn); diff --git a/src/modules/files/files.service.ts b/src/modules/files/files.service.ts index e089dbd..22181e8 100644 --- a/src/modules/files/files.service.ts +++ b/src/modules/files/files.service.ts @@ -6,6 +6,7 @@ import { import { FilesRepository } from './files.repository'; import { StorageService } from '../../infrastructure/storage/storage.service'; import { CosStorageProvider } from '../../infrastructure/storage/cos-storage.provider'; +import { RateLimitService } from '../../common/utils/rate-limit.service'; import { CreateUploadUrlDto, CompleteUploadDto } from './dto'; @Injectable() @@ -14,9 +15,11 @@ export class FilesService { private readonly repository: FilesRepository, private readonly storage: StorageService, private readonly cos: CosStorageProvider, + private readonly rateLimit: RateLimitService, ) {} async requestUploadUrl(userId: string, dto: CreateUploadUrlDto) { + await this.rateLimit.fileUploadLimit(userId); return this.storage.createUploadUrl(userId, { filename: dto.filename, mimeType: dto.mimeType,