diff --git a/src/routes/apiRoutes.js b/src/routes/apiRoutes.js index 3cbe66e..a8e2fb2 100644 --- a/src/routes/apiRoutes.js +++ b/src/routes/apiRoutes.js @@ -54,13 +54,7 @@ router.post('/invited-npub', async (req, res) => { return res.status(404).render('error', { message: 'Invite not found' }); } - const isInviteSpent = await InvitedNpub.findOne({ - where: { - app_invite_uuid: inviteUuid - } - }) - - if (isInviteSpent) { + if (appInviteServices.isAppInviteSpent(inviteUuid)) { return res.status(410).json({ error: 'Invite has already been used.' }); } diff --git a/src/routes/webRoutes.js b/src/routes/webRoutes.js index eb94162..4da261c 100644 --- a/src/routes/webRoutes.js +++ b/src/routes/webRoutes.js @@ -20,15 +20,9 @@ router.get('/invite/:inviteUuid', async (req, res) => { return res.status(404).render('error', { message: 'Invite not found' }); } - const invite = appInviteServices.getInvite(inviteUuid); + const invite = await appInviteServices.getAppInvite(inviteUuid); - const isInviteSpent = await InvitedNpub.findOne({ - where: { - app_invite_uuid: inviteUuid - } - }) - - if (isInviteSpent) { + if (await appInviteServices.isAppInviteSpent(inviteUuid)) { return res.render('invite_spent', { invite }) } diff --git a/src/services/appInviteServices.js b/src/services/appInviteServices.js index d92312d..e7fb2de 100644 --- a/src/services/appInviteServices.js +++ b/src/services/appInviteServices.js @@ -1,4 +1,5 @@ const AppInvite = require('../models/AppInvite'); +const InvitedNpub = require('../models/InvitedNpub'); async function appInviteExists(inviteUuid) { const invite = await AppInvite.findOne({ where: { uuid: inviteUuid } }); @@ -8,11 +9,25 @@ async function appInviteExists(inviteUuid) { return false; } -async function getInvite(inviteUuid) { +async function getAppInvite(inviteUuid) { const invite = await AppInvite.findOne({ where: { uuid: inviteUuid } }); return invite; } +async function isAppInviteSpent(inviteUuid) { + const invitedNpub = await InvitedNpub.findOne({ + where: { + app_invite_uuid: inviteUuid + } + }) + + if (invitedNpub) { + return true; + } + return false; +} + exports.appInviteExists = appInviteExists; -exports.getInvite = getInvite; +exports.getAppInvite = getAppInvite; +exports.isAppInviteSpent = isAppInviteSpent;