1
0
forked from Yara724/api

FIX FILE SIZES

This commit is contained in:
SepehrYahyaee
2026-05-23 16:23:11 +03:30
parent 94bde88cb6
commit a31196774c
10 changed files with 58 additions and 40 deletions

View File

@@ -30,6 +30,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { ClaimRequestManagementService } from "./claim-request-management.service"; import { ClaimRequestManagementService } from "./claim-request-management.service";
import { ClaimRequiredDocumentType } from "src/Types&Enums/claim-request-management/required-document-type.enum"; import { ClaimRequiredDocumentType } from "src/Types&Enums/claim-request-management/required-document-type.enum";
import { CarDamagePartDto, OtherCarDamagePartDto } from "./dto/car-part.dto"; import { CarDamagePartDto, OtherCarDamagePartDto } from "./dto/car-part.dto";
@@ -93,7 +94,7 @@ export class ClaimRequestManagementController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/car-green-cards", destination: "./files/car-green-cards",
@@ -153,7 +154,7 @@ export class ClaimRequestManagementController {
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-required-documents/", destination: "./files/claim-required-documents/",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -206,7 +207,7 @@ export class ClaimRequestManagementController {
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/car-parts/", destination: "./files/car-parts/",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -257,7 +258,7 @@ export class ClaimRequestManagementController {
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 50 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/car-capture-videos/", destination: "./files/car-capture-videos/",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -305,7 +306,7 @@ export class ClaimRequestManagementController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-sign", destination: "./files/claim-sign",
@@ -386,7 +387,7 @@ export class ClaimRequestManagementController {
callback(null, filename); callback(null, filename);
}, },
}), }),
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
}), }),
) )
async uploadDocuments( async uploadDocuments(
@@ -449,7 +450,7 @@ export class ClaimRequestManagementController {
callback(null, filename); callback(null, filename);
}, },
}), }),
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
}), }),
) )
async uploadFactorForPart( async uploadFactorForPart(

View File

@@ -25,6 +25,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { MediaPolicyService } from "src/media-policy/media-policy.service"; import { MediaPolicyService } from "src/media-policy/media-policy.service";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { ClaimRequestManagementService } from "./claim-request-management.service"; import { ClaimRequestManagementService } from "./claim-request-management.service";
import { import {
@@ -289,7 +290,7 @@ export class ClaimRequestManagementV2Controller {
@ApiResponse({ status: 409, description: "Already signed" }) @ApiResponse({ status: 409, description: "Already signed" })
@UseInterceptors( @UseInterceptors(
FileInterceptor("sign", { FileInterceptor("sign", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-sign", destination: "./files/claim-sign",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -566,7 +567,7 @@ Optional: upload car green card file in the same step.
@ApiConsumes("multipart/form-data") @ApiConsumes("multipart/form-data")
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-required-document", destination: "./files/claim-required-document",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -706,7 +707,7 @@ Returns status of each item (uploaded/captured or not).
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, // 10MB fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-documents", destination: "./files/claim-documents",
@@ -814,7 +815,7 @@ Returns status of each item (uploaded/captured or not).
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, // 10MB fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-captures", destination: "./files/claim-captures",
@@ -934,7 +935,7 @@ Returns status of each item (uploaded/captured or not).
callback(null, `-${unique}-${file.originalname}`); callback(null, `-${unique}-${file.originalname}`);
}, },
}), }),
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
}), }),
) )
async uploadFactorForPartV2( async uploadFactorForPartV2(
@@ -973,7 +974,7 @@ Returns status of each item (uploaded/captured or not).
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 50 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/car-capture-videos/", destination: "./files/car-capture-videos/",
filename: (req, file, callback) => { filename: (req, file, callback) => {

View File

@@ -8,6 +8,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { SelectOuterPartsV2Dto } from "./dto/select-outer-parts-v2.dto"; import { SelectOuterPartsV2Dto } from "./dto/select-outer-parts-v2.dto";
import { SelectOtherPartsV2Dto } from "./dto/select-other-parts-v2.dto"; import { SelectOtherPartsV2Dto } from "./dto/select-other-parts-v2.dto";
import { UploadRequiredDocumentV2Dto } from "./dto/upload-document-v2.dto"; import { UploadRequiredDocumentV2Dto } from "./dto/upload-document-v2.dto";
@@ -83,7 +84,7 @@ export class RegistrarClaimV1Controller {
@ApiConsumes("multipart/form-data") @ApiConsumes("multipart/form-data")
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-documents", destination: "./files/claim-documents",
filename: (req, file, cb) => cb(null, `${Date.now()}${extname(file.originalname)}`), filename: (req, file, cb) => cb(null, `${Date.now()}${extname(file.originalname)}`),
@@ -110,7 +111,7 @@ export class RegistrarClaimV1Controller {
@ApiConsumes("multipart/form-data") @ApiConsumes("multipart/form-data")
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/claim-captures", destination: "./files/claim-captures",
filename: (req, file, cb) => cb(null, `${Date.now()}${extname(file.originalname)}`), filename: (req, file, cb) => cb(null, `${Date.now()}${extname(file.originalname)}`),

View File

@@ -47,17 +47,29 @@ export interface MediaLimits {
* receive. Per-client `maxBytes` cannot legitimately go above its route's * receive. Per-client `maxBytes` cannot legitimately go above its route's
* multer ceiling, so the defaults below are kept at-or-below those. * multer ceiling, so the defaults below are kept at-or-below those.
*/ */
export const DEFAULT_MEDIA_MIN_BYTES = 100 * 1024; // 100KB
export const DEFAULT_MEDIA_MAX_BYTES = 100 * 1024 * 1024; // 100MB
export const DEFAULT_MEDIA_LIMITS: Record<MediaKind, MediaLimits> = { export const DEFAULT_MEDIA_LIMITS: Record<MediaKind, MediaLimits> = {
video: { minBytes: 256 * 1024, maxBytes: 20 * 1024 * 1024 }, video: {
image: { minBytes: 5 * 1024, maxBytes: 8 * 1024 * 1024 }, minBytes: DEFAULT_MEDIA_MIN_BYTES,
voice: { minBytes: 5 * 1024, maxBytes: 8 * 1024 * 1024 }, maxBytes: DEFAULT_MEDIA_MAX_BYTES,
},
image: {
minBytes: DEFAULT_MEDIA_MIN_BYTES,
maxBytes: DEFAULT_MEDIA_MAX_BYTES,
},
voice: {
minBytes: DEFAULT_MEDIA_MIN_BYTES,
maxBytes: DEFAULT_MEDIA_MAX_BYTES,
},
}; };
/** Highest multer `fileSize` used on any route for each kind (policy cannot exceed this). */ /** Highest multer `fileSize` used on any route for each kind (policy cannot exceed this). */
export const MEDIA_ROUTE_MAX_BYTES: Record<MediaKind, number> = { export const MEDIA_ROUTE_MAX_BYTES: Record<MediaKind, number> = {
video: 50 * 1024 * 1024, video: DEFAULT_MEDIA_MAX_BYTES,
image: 10 * 1024 * 1024, image: DEFAULT_MEDIA_MAX_BYTES,
voice: 10 * 1024 * 1024, voice: DEFAULT_MEDIA_MAX_BYTES,
}; };
export const CAR_BODY_ACCIDENT_MAX_AGE_DAYS_MIN = 1; export const CAR_BODY_ACCIDENT_MAX_AGE_DAYS_MIN = 1;

View File

@@ -9,8 +9,6 @@ async function bootstrap() {
cors: true, cors: true,
}); });
app.enableCors();
app.enableCors({ app.enableCors({
origin: "*", origin: "*",
methods: "GET, PUT, POST, DELETE, PATCH, OPTIONS", methods: "GET, PUT, POST, DELETE, PATCH, OPTIONS",
@@ -18,7 +16,7 @@ async function bootstrap() {
}); });
app.use( app.use(
["/docs", "/docs-json", "/swagger"], ["/docs"],
basicAuth({ basicAuth({
challenge: true, challenge: true,
users: { users: {
@@ -56,4 +54,4 @@ async function bootstrap() {
await app.listen(process.env.PORT); await app.listen(process.env.PORT);
} }
bootstrap(); void bootstrap();

View File

@@ -27,6 +27,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { RequestManagementService } from "./request-management.service"; import { RequestManagementService } from "./request-management.service";
import { CreateExpertInitiatedFileDto } from "./dto/expert-initiated.dto"; import { CreateExpertInitiatedFileDto } from "./dto/expert-initiated.dto";
import { ExpertCompleteThirdPartyFormDto } from "./dto/expert-complete-third-party-form.dto"; import { ExpertCompleteThirdPartyFormDto } from "./dto/expert-complete-third-party-form.dto";
@@ -228,7 +229,7 @@ export class ExpertInitiatedController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 20 * 1024 * 1024, // 20MB fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/video", destination: "./files/video",
@@ -285,7 +286,7 @@ export class ExpertInitiatedController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("voice", { FileInterceptor("voice", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, // 10MB fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/voice", destination: "./files/voice",

View File

@@ -25,6 +25,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { MediaPolicyService } from "src/media-policy/media-policy.service"; import { MediaPolicyService } from "src/media-policy/media-policy.service";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { RequestManagementService } from "./request-management.service"; import { RequestManagementService } from "./request-management.service";
import { CreateExpertInitiatedFileDto } from "./dto/expert-initiated.dto"; import { CreateExpertInitiatedFileDto } from "./dto/expert-initiated.dto";
@@ -378,7 +379,7 @@ export class ExpertInitiatedV2Controller {
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 20 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/video", destination: "./files/video",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -417,7 +418,7 @@ export class ExpertInitiatedV2Controller {
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("voice", { FileInterceptor("voice", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/voice", destination: "./files/voice",
filename: (req, file, callback) => { filename: (req, file, callback) => {
@@ -483,7 +484,7 @@ export class ExpertInitiatedV2Controller {
}) })
@UseInterceptors( @UseInterceptors(
FileInterceptor("sign", { FileInterceptor("sign", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/signs", destination: "./files/signs",
filename: (req, file, callback) => { filename: (req, file, callback) => {

View File

@@ -8,6 +8,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { RequestManagementService } from "./request-management.service"; import { RequestManagementService } from "./request-management.service";
import { CreateRegistrarInitiatedFileDto } from "./dto/registrar-initiated.dto"; import { CreateRegistrarInitiatedFileDto } from "./dto/registrar-initiated.dto";
import { SendPartyOtpsDto } from "./dto/send-party-otps.dto"; import { SendPartyOtpsDto } from "./dto/send-party-otps.dto";
@@ -75,7 +76,7 @@ export class RegistrarInitiatedController {
@ApiConsumes("multipart/form-data") @ApiConsumes("multipart/form-data")
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { fileSize: 20 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/video", destination: "./files/video",
filename: (req, file, cb) => cb(null, `registrar-${Date.now()}${extname(file.originalname)}`), filename: (req, file, cb) => cb(null, `registrar-${Date.now()}${extname(file.originalname)}`),
@@ -94,7 +95,7 @@ export class RegistrarInitiatedController {
@ApiConsumes("multipart/form-data") @ApiConsumes("multipart/form-data")
@UseInterceptors( @UseInterceptors(
FileInterceptor("voice", { FileInterceptor("voice", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/voice", destination: "./files/voice",
filename: (req, file, cb) => cb(null, `registrar-${Date.now()}${extname(file.originalname)}`), filename: (req, file, cb) => cb(null, `registrar-${Date.now()}${extname(file.originalname)}`),
@@ -127,7 +128,7 @@ export class RegistrarInitiatedController {
@ApiConsumes("multipart/form-data") @ApiConsumes("multipart/form-data")
@UseInterceptors( @UseInterceptors(
FileInterceptor("sign", { FileInterceptor("sign", {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/signs", destination: "./files/signs",
filename: (req, file, cb) => cb(null, `registrar-party-${Date.now()}${extname(file.originalname)}`), filename: (req, file, cb) => cb(null, `registrar-party-${Date.now()}${extname(file.originalname)}`),

View File

@@ -32,6 +32,7 @@ import { CurrentUser } from "src/decorators/user.decorator";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { AddPlateDto } from "src/profile/dto/user/AddPlateDto"; import { AddPlateDto } from "src/profile/dto/user/AddPlateDto";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { BlameDocumentType } from "./entities/schema/blame-document.schema"; import { BlameDocumentType } from "./entities/schema/blame-document.schema";
import { import {
CarBodyFormDto, CarBodyFormDto,
@@ -98,7 +99,7 @@ export class RequestManagementController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 20 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/video", destination: "./files/video",
@@ -216,7 +217,7 @@ export class RequestManagementController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/voice", destination: "./files/voice",
@@ -325,7 +326,7 @@ export class RequestManagementController {
@UseInterceptors( @UseInterceptors(
FileInterceptor("sign", { FileInterceptor("sign", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/signs", destination: "./files/signs",
@@ -380,7 +381,7 @@ export class RequestManagementController {
{ name: "voice", maxCount: 1 }, { name: "voice", maxCount: 1 },
], ],
{ {
limits: { fileSize: 10 * 1024 * 1024 }, limits: { fileSize: DEFAULT_MEDIA_MAX_BYTES },
storage: diskStorage({ storage: diskStorage({
destination: "./files/blame-resend-docs", destination: "./files/blame-resend-docs",
filename: (req, file, callback) => { filename: (req, file, callback) => {

View File

@@ -30,6 +30,7 @@ import { RolesGuard } from "src/auth/guards/role.guard";
import { Roles } from "src/decorators/roles.decorator"; import { Roles } from "src/decorators/roles.decorator";
import { CurrentUser } from "src/decorators/user.decorator"; import { CurrentUser } from "src/decorators/user.decorator";
import { MediaPolicyService } from "src/media-policy/media-policy.service"; import { MediaPolicyService } from "src/media-policy/media-policy.service";
import { DEFAULT_MEDIA_MAX_BYTES } from "src/client/client.service";
import { RoleEnum } from "src/Types&Enums/role.enum"; import { RoleEnum } from "src/Types&Enums/role.enum";
import { AddPlateDto } from "src/profile/dto/user/AddPlateDto"; import { AddPlateDto } from "src/profile/dto/user/AddPlateDto";
import { import {
@@ -144,7 +145,7 @@ export class RequestManagementV2Controller {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 20 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/video", destination: "./files/video",
@@ -212,7 +213,7 @@ export class RequestManagementV2Controller {
@UseInterceptors( @UseInterceptors(
FileInterceptor("file", { FileInterceptor("file", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/voice", destination: "./files/voice",
@@ -332,7 +333,7 @@ export class RequestManagementV2Controller {
@UseInterceptors( @UseInterceptors(
FileInterceptor("sign", { FileInterceptor("sign", {
limits: { limits: {
fileSize: 10 * 1024 * 1024, // 10MB fileSize: DEFAULT_MEDIA_MAX_BYTES,
}, },
storage: diskStorage({ storage: diskStorage({
destination: "./files/signs", destination: "./files/signs",