reels
This commit is contained in:
@@ -1,8 +1,28 @@
|
||||
const express = require('express')
|
||||
const multer = require('multer')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const router = express.Router()
|
||||
|
||||
const auth = require('../../../middlewares/auth')
|
||||
const blockCheck = require('../../../middlewares/blockCheck')
|
||||
|
||||
// قبلاً express-form-data بهصورتِ global این فیلد رو تویِ req.files پر میکرد؛ وقتی
|
||||
// اون middleware حذف شد (تداخل با multer توی posts/chat)، این روتها بدونِ هیچ parserِ
|
||||
// جایگزینی موندن — یعنی آپلودِ آواتارِ کاربرِ زیرمجموعه همیشه خاموش بود
|
||||
const subUserTmpDir = '/tmp/modstagram-uploads'
|
||||
if (!fs.existsSync(subUserTmpDir)) {
|
||||
fs.mkdirSync(subUserTmpDir, { recursive: true })
|
||||
}
|
||||
const subUserAvatarUpload = multer({
|
||||
storage: multer.diskStorage({
|
||||
destination: (req, file, cb) => cb(null, subUserTmpDir),
|
||||
filename: (req, file, cb) => {
|
||||
cb(null, `${Date.now()}-${Math.round(Math.random() * 1e9)}${path.extname(file.originalname || '')}`)
|
||||
}
|
||||
}),
|
||||
limits: { fileSize: 20 * 1024 * 1024 }
|
||||
}).single('profile_image')
|
||||
const {
|
||||
createSubUser,
|
||||
listSubUsers,
|
||||
@@ -23,10 +43,10 @@ function ownerOnly (req, res, next) {
|
||||
next()
|
||||
}
|
||||
|
||||
router.post('/', [auth, blockCheck, ownerOnly], createSubUser)
|
||||
router.post('/', [auth, blockCheck, ownerOnly], subUserAvatarUpload, createSubUser)
|
||||
router.get('/', [auth, blockCheck, ownerOnly], listSubUsers)
|
||||
router.get('/:id', [auth, blockCheck, ownerOnly], getSubUser)
|
||||
router.patch('/:id', [auth, blockCheck, ownerOnly], updateSubUser)
|
||||
router.patch('/:id', [auth, blockCheck, ownerOnly], subUserAvatarUpload, updateSubUser)
|
||||
router.patch('/:id/active', [auth, blockCheck, ownerOnly], setSubUserActive)
|
||||
|
||||
module.exports = router
|
||||
|
||||
Reference in New Issue
Block a user