import { SUPPORT_ATTACHMENT_MAX_BYTES, SUPPORT_ATTACHMENT_MAX_PER_MESSAGE, } from "@edr/types"; import { MulterOptions } from "@nestjs/platform-express/multer/interfaces/multer-options.interface"; /** Multipart field name carrying chat files. */ export const SUPPORT_ATTACHMENT_FIELD = "attachments"; /** * Multer-level caps for the chat send routes. * * These duplicate the checks in `SupportChatService.assertSendable` on purpose, * and are not a substitute for them: Multer stops reading the socket once a part * exceeds `fileSize`, so an oversized upload is cut off mid-stream instead of * being buffered into memory and rejected after the fact. The service-level * check is what produces the readable error message and covers callers that * don't come through this interceptor. */ export const supportAttachmentMulterOptions: MulterOptions = { limits: { fileSize: SUPPORT_ATTACHMENT_MAX_BYTES, files: SUPPORT_ATTACHMENT_MAX_PER_MESSAGE, }, };