This commit is contained in:
payacom
2026-10-09 15:44:47 +03:30
parent 367416d419
commit e5dcd0f1b2
14 changed files with 282 additions and 197 deletions

View File

@@ -1,9 +1,30 @@
const express = require('express')
const multer = require('multer')
const fs = require('fs')
const path = require('path')
const { getUserTickets, createTicket, addUserMessageToTicket, getTicketMessages } = require('../../../controllers/application/tickets/ticketsController')
const router = express.Router()
// قبلاً express-form-data به‌صورتِ global این فیلد رو تویِ req.files پر می‌کرد؛ وقتی
// اون middleware حذف شد (تداخل با multer توی posts/chat)، این روت بدونِ هیچ parserِ
// جایگزینی مونده بود — یعنی پیوستِ فایلِ پیامِ تیکت همیشه خاموش بود
const ticketTmpDir = '/tmp/modstagram-uploads'
if (!fs.existsSync(ticketTmpDir)) {
fs.mkdirSync(ticketTmpDir, { recursive: true })
}
const ticketFileUpload = multer({
storage: multer.diskStorage({
destination: (req, file, cb) => cb(null, ticketTmpDir),
filename: (req, file, cb) => {
cb(null, `${Date.now()}-${Math.round(Math.random() * 1e9)}${path.extname(file.originalname || '')}`)
}
}),
limits: { fileSize: 50 * 1024 * 1024 }
}).single('file')
router.get('/', getUserTickets)
router.get('/messages', getTicketMessages)
router.post('/create', createTicket)
router.post('/message', addUserMessageToTicket)
router.post('/message', ticketFileUpload, addUserMessageToTicket)
module.exports = router