From 9231ce9f4e5f42954945b55f8267da4d49186688 Mon Sep 17 00:00:00 2001 From: haythem Date: Thu, 21 Sep 2023 17:54:52 +0200 Subject: [PATCH] number Participation limit --- controllers/campaign.controller.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/controllers/campaign.controller.js b/controllers/campaign.controller.js index 370b12f1..990d69b8 100644 --- a/controllers/campaign.controller.js +++ b/controllers/campaign.controller.js @@ -877,6 +877,16 @@ exports.apply = async (req, res) => { } = req.body let [prom, date, hash] = [{}, Math.floor(Date.now() / 1000), req.body.hash] var campaignDetails = await Campaigns.findOne({ hash }).lean() + let limit = campaignDetails.limit; + let userWallet = await Wallet.findOne({ UserId: req.user._id }) + let numberParticipation = await CampaignLink.find({ id_campaign: hash,id_wallet:"0x"+userWallet.walletV2.keystore.address}).count() + if (limit=== numberParticipation){ + return responseHandler.makeResponseError( + res, + 401, + 'Limit participation reached' + ) + } try { let promExist = await CampaignLink.exists({ @@ -924,7 +934,7 @@ exports.apply = async (req, res) => { ) cred = await unlockV2(req, res) - let userWallet = await Wallet.findOne({ UserId: req.user._id }) + let decryptAccount = await cred.Web3BEP20.eth.accounts.wallet.decrypt( [userWallet.walletV2.keystore], @@ -2952,4 +2962,4 @@ module.exports.totalInvested = async (req, res) => { err.message ? err.message : err.error ) } -} +} \ No newline at end of file