we can now check if a session is authorized

This commit is contained in:
counterweight 2025-02-10 15:02:38 +01:00
parent 5e24fc29fb
commit d63a452f75
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
4 changed files with 51 additions and 8 deletions

View file

@ -18,5 +18,16 @@ async function createInvitedNpub(inviteUuid, npub) {
});
}
async function isNpubInvited(npub) {
if (await InvitedNpub.findOne({
where: { invited_npub: npub }
})) {
return true;
}
return false;
}
exports.createInvitedNpub = createInvitedNpub;
exports.isNpubInvited = isNpubInvited;

View file

@ -3,6 +3,8 @@ const uuid = require("uuid");
const Session = require('../models/Session');
const SessionNpubbed = require('../models/SessionNpubbed');
const invitedNpubService = require('./invitedNpubService');
const constants = require('../constants');
async function createSession(sessionUuid) {
@ -52,17 +54,37 @@ async function isSessionAlreadyRelatedToNpub(sessionUuid, npub) {
}
/* async function getNpubRelatedToSession(sessionUuid) {
if (SessionNpubbed.findOne({
where: { 'sessionUuid': sessionUuid }
}))
async function getNpubRelatedToSession(sessionUuid) {
const mostRecentSession = await SessionNpubbed.findOne({
where: { 'session_uuid': sessionUuid },
order: [['created_at', 'DESC']]
});
if (!mostRecentSession) {
return null;
}
return mostRecentSession.npub;
}
async function isSessionAuthorized(sessionUuid) {
} */
if (await isSessionExpired(sessionUuid)) {
return false;
}
const npub = await getNpubRelatedToSession(sessionUuid);
if (await invitedNpubService.isNpubInvited(npub)) {
return true;
}
return false;
}
exports.createSession = createSession;
exports.isSessionExpired = isSessionExpired;
exports.relateSessionToNpub = relateSessionToNpub;
exports.isSessionAlreadyRelatedToNpub = isSessionAlreadyRelatedToNpub;
exports.isSessionAuthorized = isSessionAuthorized;