More work on authentication for staff and against the Novi UUIDs.

This commit is contained in:
Scott Idem
2024-11-22 10:32:46 -05:00
parent 2f4e707e58
commit 42aa9d356f
6 changed files with 47 additions and 87 deletions

View File

@@ -58,7 +58,6 @@ import Analytics from '$lib/analytics.svelte'
import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores';
import { events_loc, events_slct } from '$lib/ae_events_stores';
import type { key_val } from '$lib/ae_stores';
// console.log($ae_loc, $ae_sess, $ae_api);
import Element_access_type from '$lib/element_access_type.svelte';
import Element_app_cfg from '$lib/element_app_cfg.svelte';
@@ -99,70 +98,6 @@ $slct = {
// IDB caches - Check if the last reload timestamp for $ae_loc.last_idb_reload is no more than 15 minutes ago.
let default_idb_reload_time = 120 * 60 * 1000; // 15 minutes?
let trusted_idb_reload_time = 4 * 60 * 60 * 1000; // 4 hours or 120 minutes?
// if (!$ae_loc.last_idb_reload) {
// console.log(`Last reload not found. Need to reset.`);
// // $ae_loc.last_idb_reload = Date.now();
// if (browser) {
// $ae_loc.last_idb_reload = Date.now();
// // Clear Indexed DB as well
// indexedDB.deleteDatabase('ae_archives_db');
// indexedDB.deleteDatabase('ae_core_db');
// indexedDB.deleteDatabase('ae_events_db');
// indexedDB.deleteDatabase('ae_notes_db');
// indexedDB.deleteDatabase('ae_posts_db');
// // localStorage.removeItem('ae_loc');
// // localStorage.removeItem('events_loc');
// // window.location.reload();
// }
// } else if ($ae_loc.last_idb_reload && $ae_loc.trusted_access && (Date.now() - $ae_loc.last_idb_reload) > trusted_idb_reload_time) {
// console.log(`Last reload too old:`, $ae_loc.last_idb_reload);
// if (browser) {
// $ae_loc.last_idb_reload = Date.now();
// // Clear Indexed DB as well
// indexedDB.deleteDatabase('ae_archives_db');
// indexedDB.deleteDatabase('ae_core_db');
// indexedDB.deleteDatabase('ae_events_db');
// indexedDB.deleteDatabase('ae_notes_db');
// indexedDB.deleteDatabase('ae_posts_db');
// // localStorage.removeItem('ae_loc');
// // localStorage.removeItem('events_loc');
// window.location.reload();
// }
// } else if ($ae_loc.last_idb_reload && (Date.now() - $ae_loc.last_idb_reload) > default_idb_reload_time) {
// console.log(`Last reload too old:`, $ae_loc.last_idb_reload);
// if (browser) {
// $ae_loc.last_idb_reload = Date.now();
// // Clear Indexed DB as well
// indexedDB.deleteDatabase('ae_core_db');
// indexedDB.deleteDatabase('ae_events_db');
// // localStorage.removeItem('ae_loc');
// // localStorage.removeItem('events_loc');
// window.location.reload();
// }
// } else if (browser) {
// console.log(`Last reload is recent: ${$ae_loc.last_idb_reload}`);
// // Clear Indexed DB as well
// // indexedDB.deleteDatabase('ae_core_db');
// // indexedDB.deleteDatabase('ae_events_db');
// // localStorage.removeItem('ae_loc');
// // localStorage.removeItem('events_loc');
// // window.location.reload();
// }
// There should almost always be an event_id set.
if ($ae_loc?.site_cfg_json.slct__event_id) {

View File

@@ -32,6 +32,7 @@ if (browser) {
// Reminder: super > manager > administrator > trusted > public > authenticated > anonymous
// NOTE: This is checking if they are in an iframe *and* have a Novi UUID. We ignore the iframe mode for trusted and above (administrators, managers, etc).
if ($ae_loc.iframe && $idaa_loc?.novi_uuid?.length == 36 && $idaa_loc?.novi_email?.length > 3 && $idaa_loc?.novi_full_name?.length > 0) {
$ae_loc.access_type = 'authenticated';
$ae_loc.authenticated_access = true;

View File

@@ -49,7 +49,7 @@ if (log_lvl) console.log('** Component Loaded: ** Post Options');
</select>
</span>
{#if $ae_loc.trusted_access && !$idaa_loc.bb.qry__hidden || $idaa_loc.bb.qry__hidden == 'not_hidden'}
{#if $ae_loc.trusted_access && (!$idaa_loc.bb.qry__hidden || $idaa_loc.bb.qry__hidden == 'not_hidden')}
<button
type="button"
on:click={() => {
@@ -74,7 +74,7 @@ if (log_lvl) console.log('** Component Loaded: ** Post Options');
</button>
{/if}
{#if $ae_loc.administrator_access && !$idaa_loc.bb.qry__enabled || $idaa_loc.bb.qry__enabled == 'enabled'}
{#if $ae_loc.administrator_access && (!$idaa_loc.bb.qry__enabled || $idaa_loc.bb.qry__enabled == 'enabled')}
<button
type="button"
on:click={() => {