reels
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
const express = require('express')
|
||||
const multer = require('multer')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const blockCheck = require('../../../middlewares/blockCheck')
|
||||
const { createAdvertisingValidationRules, createAdvertising, getAdvertisingTypes, getAdvertisingCategory, getSingleAdvertising, getAdvertisingFeatures, getAdvertisings, toggleLike, addComment, getComments, rateAdvertising, getUserAdvertisings, getAdvertisingAnalytics, editAdvertising, getUserSingleAdvertising, getUserAdvertisingProfile, updateUserAdvertisingProfile, getAdvertisingsWeb, getSingleAdvertisingWeb, getUserAdvertisingProfileWeb, recordAdvertisingView, getUserLikedAdvertisings, getUserAdvertisingComments } = require('../../../controllers/application/advertising/advertisingController')
|
||||
const auth = require('../../../middlewares/auth')
|
||||
@@ -6,16 +9,38 @@ const requireSubUserPermission = require('../../../middlewares/requireSubUserPer
|
||||
const { initiateAdvertisingPayment, handleAdvertisingPaymentCallback, handleAdvertisingRepublishPaymentCallback, republishAdvertisingPayment } = require('../../../controllers/application/payment/paymentController')
|
||||
const { initiateAdvertisingPaymentWeb, handleAdvertisingPaymentCallbackWeb, republishAdvertisingPaymentWeb, handleAdvertisingRepublishPaymentCallbackWeb } = require('../../../controllers/application/payment/paymentControllerWeb')
|
||||
const router = express.Router()
|
||||
|
||||
// قبلاً express-form-data بهصورتِ global این فیلدها رو تویِ req.files پر میکرد؛
|
||||
// وقتی اون middleware حذف شد (تداخل با multer توی posts/chat)، این روتها بدونِ هیچ
|
||||
// parserِ جایگزینی موندن — یعنی آپلودِ عکسِ بیلبورد/خدمات/پروفایلِ ویترین همیشه
|
||||
// خاموش بودن (createAdvertising حتی بدون خطا، فقط عکسها رو نادیده میگرفت)
|
||||
const advertisingTmpDir = '/tmp/modstagram-uploads'
|
||||
if (!fs.existsSync(advertisingTmpDir)) {
|
||||
fs.mkdirSync(advertisingTmpDir, { recursive: true })
|
||||
}
|
||||
const advertisingTmpUpload = multer({
|
||||
storage: multer.diskStorage({
|
||||
destination: (req, file, cb) => cb(null, advertisingTmpDir),
|
||||
filename: (req, file, cb) => {
|
||||
cb(null, `${Date.now()}-${Math.round(Math.random() * 1e9)}${path.extname(file.originalname || '')}`)
|
||||
}
|
||||
}),
|
||||
limits: { fileSize: 50 * 1024 * 1024 }
|
||||
})
|
||||
// اسمِ فیلدِ عکسِ هر خدمت پویاست (serviceImages[id])، پس .any() بهجای .fields()
|
||||
// با لیستِ ثابت — کنترلر با file.fieldname تشخیص میده مالِ کدوم خدمت/بخشه
|
||||
const advertisingImagesUpload = advertisingTmpUpload.any()
|
||||
const advertisingProfileImageUpload = advertisingTmpUpload.single('profile_image')
|
||||
router.get('/', [auth], getAdvertisings)
|
||||
router.get('/web', getAdvertisingsWeb)
|
||||
router.get('/profile', [auth], getUserAdvertisingProfile)
|
||||
router.get('/profile-web', getUserAdvertisingProfileWeb)
|
||||
router.patch('/profile', [auth], [blockCheck], updateUserAdvertisingProfile)
|
||||
router.patch('/profile', [auth], [blockCheck], advertisingProfileImageUpload, updateUserAdvertisingProfile)
|
||||
router.get('/user-advertising', [auth], getUserAdvertisings)
|
||||
router.get('/analytics', [auth], getAdvertisingAnalytics)
|
||||
router.get('/user-liked', [auth], getUserLikedAdvertisings)
|
||||
router.get('/user-comments', [auth], getUserAdvertisingComments)
|
||||
router.post('/create', [auth], [blockCheck], requireSubUserPermission('billboards'), createAdvertisingValidationRules(), createAdvertising)
|
||||
router.post('/create', [auth], [blockCheck], requireSubUserPermission('billboards'), advertisingImagesUpload, createAdvertisingValidationRules(), createAdvertising)
|
||||
router.get('/types', [auth], getAdvertisingTypes)
|
||||
router.get('/categories', getAdvertisingCategory)
|
||||
router.get('/features', [auth], getAdvertisingFeatures)
|
||||
@@ -35,6 +60,6 @@ router.post('/like', [blockCheck], [auth], toggleLike)
|
||||
router.post('/comment', [blockCheck], [auth], addComment)
|
||||
router.get('/comments', getComments)
|
||||
router.post('/rate', [blockCheck], [auth], rateAdvertising)
|
||||
router.post('/edit/:id', [blockCheck], [auth], requireSubUserPermission('billboards'), editAdvertising)
|
||||
router.post('/edit/:id', [blockCheck], [auth], requireSubUserPermission('billboards'), advertisingImagesUpload, editAdvertising)
|
||||
|
||||
module.exports = router
|
||||
|
||||
Reference in New Issue
Block a user