primeros cambios para manejar los permisos y grupos

This commit is contained in:
2024-11-02 15:41:15 -03:00
parent e550952397
commit 735cdfc344
16 changed files with 249 additions and 86 deletions
+44 -42
View File
@@ -1,51 +1,53 @@
<script>
import { onMount } from 'svelte';
import { navigate } from 'svelte-routing'; // Asumiendo que estás usando svelte-routing
import { writable } from 'svelte/store';
let isAuthenticated = writable(false);
let isVerified = writable(false);
let { component } = $props();
let redirect = window.location.pathname;
const email = localStorage.getItem('email');
const handleAccess = async () => {
import { onMount } from 'svelte';
import { navigate } from 'svelte-routing';
import { writable } from 'svelte/store';
export let component;
const isAuthenticated = writable(false);
const isVerified = writable(false);
const redirect = window.location.pathname;
const email = localStorage.getItem('email');
const token = sessionStorage.getItem('token');
const handleAccess = async () => {
try {
const response = await fetch('http://127.0.0.1:5007/api/login/validar', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify( {email, redirect} ),
credentials: "include"
});
if (response.ok) {
isAuthenticated.set(true);
}
const response = await fetch('http://127.0.0.1:5007/api/login/validar', {
method: 'POST',
headers: {
'Auth': String(token),
'Content-Type': 'application/json',
},
body: JSON.stringify({ email, redirect }),
credentials: "include"
});
if (response.ok) {
isAuthenticated.set(true); // Actualiza el store
}
} catch (error) {
console.error('Error durante la autenticación:', error);
} finally {
isVerified.set(true);
isVerified.set(true); // Marca la verificación como completada
}
};
onMount(async () => {
await handleAccess();
});
</script>
{#if !$isVerified}
};
onMount(() => {
handleAccess();
});
</script>
{#if !$isVerified}
<div class="spinner-border position-absolute top-50 start-50 translate-middle" role="status">
<span class="visually-hidden">Cargando</span>
<span class="visually-hidden">Cargando</span>
</div>
{:else}
{:else}
{#if $isAuthenticated}
{@const SvelteComponent = component}
<SvelteComponent/>
<svelte:component this={component} />
{:else}
{navigate('/')}
{navigate('/')}
{/if}
{/if}
{/if}