diff --git a/controllers/external.controller.js b/controllers/external.controller.js index 1c353e75..e1eafd5f 100644 --- a/controllers/external.controller.js +++ b/controllers/external.controller.js @@ -1513,3 +1513,33 @@ exports.getBalanceUserExternal = async (req, res) => { ) } } + + +module.exports.externalDeleteDraft = async (req, res) => { + try { + let user = await UserExternalWallet.findOne({ + walletId: req.address, + }) + let _id = req.params.id + let idUser = user.UserId + let campaign = await Campaigns.findOne({ _id }) + if (campaign.idNode !== idUser.toString() || campaign.type !== 'draft') { + + return responseHandler.makeResponseError(res, 401, 'unauthorized') + } else { + await Campaigns.deleteOne({ _id }) + return responseHandler.makeResponseData( + res, + 200, + 'deleted successfully', + false + ) + } + } catch (err) { + return responseHandler.makeResponseError( + res, + 500, + err.message ? err.message : err.error + ) + } +} diff --git a/routes/external.routes.js b/routes/external.routes.js index b8c215f9..77147c49 100644 --- a/routes/external.routes.js +++ b/routes/external.routes.js @@ -29,7 +29,8 @@ const { externalAnswer, externalGains, campaigns, - getBalanceUserExternal + getBalanceUserExternal, + externalDeleteDraft } = require('../controllers/external.controller'); const { @@ -59,6 +60,8 @@ router.post('/createCampaign', verifySignatureMiddleware, externalSaveCampaign) router.get('/socialAccounts', verifySignatureMiddleware , externalSocialAccounts) router.post('/campaign/filterLinksExternal', verifySignatureMiddleware , externalGetLinks) + +router.delete('/deleteDraft/:id', verifySignatureMiddleware, idCheckValidation,externalDeleteDraft) router.post('/campaign/getLinksExternal', verifySignatureMiddleware , externalGetOneLinks) // DONE