Как передать промежуточное ПО как параметр в модуль - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь разместить фрагмент кода в моем существующем коде, но не могу понять, как передать промежуточное ПО в шаблон кодирования, который я использую.

Часть кода, которую я хочу интегрировать в мой кодкодовый паттер:

router.post(
    '/appuser/uploadavatar',
    multer.single('image'),
    gcsMiddlewares.sendUploadToGCS,
    (req, res, next) => {
        if (req.file && req.file.gcsUrl) {
            return res.status(200).send({'avatar': req.file.gcsUrl});
        }
        return res.status(500).send('Unable to upload');
    },
);

Что у меня есть:

app.js:

var v1 = require('./routes/v1');
app.use('/api/v1', v1);

затем route / v1.js, имеющее:

// routes/vi.js:

const auth = require('../controllers/authenticateUsers');

router.post('/:entity/:action', handlePOSTs);



function handlePOSTs(req, res) {
   switch(req.params.entity) {
     case "auth":
       switch(req.params.action) {
         case "uploadavatar":
                    auth.uploadAvatar(req, res);
                    break;
       }
     break;
   }
}

в auth.uploadAvatar:

// authenticateUsers.js


exports.uploadAvatar = (req, res, next) => {
    // here is where I want to execute this pattern :
    // router.post(
    //     '/appuser/uploadavatar',
    //     multer.single('image'),
    //     gcsMiddlewares.sendUploadToGCS,
    //     (req, res, next) => {
    //         if (req.file && req.file.gcsUrl) {
    //             return res.status(200).send({'avatar': req.file.gcsUrl});
    //         }
    //         return res.status(500).send('Unable to upload');
    //     },
    // );
}

Как передать промежуточное ПО в экспортируемую функцию?

...