forked from Yara724/api
FIX FILE SIZES
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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)}`),
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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)}`),
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user