router.post('/upload', util.ensureAuthenticated, util.hasRole("admin"), uploadStrategy, (req, res) => { const blobName = getBlobName(req.file.originalname) , stream = getStream(req.file.buffer) , streamLength = req.file.buffer.length ; blobService.createBlockBlobFromStream(containerName, blobName, stream, streamLength, {contentSettings:{contentType:req.file.mimetype}} , err => { if(err) { res.status(500).json(err); } res.status(200).send(blobName); }); });
this.router.post('/:clan/upload', util.ensureAuthenticated, util.hasRole("clanleader"), uploadStrategy, async (req, res) => { let clan = await clanService.getClanByName(req.params.clan); let account = await accountService.getAccount(req.user.name); if (!clan || clan.leader.toLowerCase() !== account.coach.toLowerCase()){ res.status(403).send(`you're not the leader of this clan, ${clan.leader} is.`); return; } const blobName = this.getBlobName(`${req.params.clan}-${req.file.originalname}`) , stream = getStream(req.file.buffer) , streamLength = req.file.buffer.length; blobService.createBlockBlobFromStream(containerName, blobName, stream, streamLength, {contentSettings:{contentType:req.file.mimetype}} , err => { if(err) { res.status(500).send(err); return; } clanService.setLogo(req.params.clan, blobName); res.status(200).send(blobName); }); });