From 85f31f8eca7d74a6916ac7fc64c1c3832ef527ab Mon Sep 17 00:00:00 2001 From: Galindo97 Date: Thu, 14 May 2026 09:09:34 -0500 Subject: [PATCH] fix(auth): replace all /login redirects with redirectToWorkspaceLogin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Todos los page.server.ts que hacían throw redirect(302, '/login') ahora usan redirectToWorkspaceLogin(cookies, url) para enviar al usuario directo al login del workspace en lugar de pasar por la página /login local de Anexo76. Archivos actualizados: - dashboard/pedimentos/+page.server.ts - dashboard/pedimentos/edit/[id]/+page.server.ts (2 redirects) - dashboard/invoices/+page.server.ts - dashboard/invoices/edit/[id]/+page.server.ts - dashboard/invoices/settings/+page.server.ts - dashboard/goods/parts/edit/[[id]]/+page.server.ts - dashboard/general_catalogs/ports/+page.server.ts - dashboard/general_catalogs/seal/+page.server.ts - dashboard/reports/vencimiento/+page.server.ts - dashboard/reports/invoices/+page.server.ts Co-Authored-By: Claude Sonnet 4.6 --- .../dashboard/general_catalogs/ports/+page.server.ts | 3 ++- .../dashboard/general_catalogs/seal/+page.server.ts | 3 ++- .../dashboard/goods/parts/edit/[[id]]/+page.server.ts | 5 +++-- frontend/src/routes/dashboard/invoices/+page.server.ts | 9 +++++---- .../routes/dashboard/invoices/edit/[id]/+page.server.ts | 3 ++- .../routes/dashboard/invoices/settings/+page.server.ts | 3 ++- frontend/src/routes/dashboard/pedimentos/+page.server.ts | 3 ++- .../dashboard/pedimentos/edit/[id]/+page.server.ts | 7 ++++--- .../routes/dashboard/reports/invoices/+page.server.ts | 6 +++--- .../routes/dashboard/reports/vencimiento/+page.server.ts | 6 +++--- 10 files changed, 28 insertions(+), 20 deletions(-) diff --git a/frontend/src/routes/dashboard/general_catalogs/ports/+page.server.ts b/frontend/src/routes/dashboard/general_catalogs/ports/+page.server.ts index c1600afa..d1a33c46 100644 --- a/frontend/src/routes/dashboard/general_catalogs/ports/+page.server.ts +++ b/frontend/src/routes/dashboard/general_catalogs/ports/+page.server.ts @@ -1,12 +1,13 @@ import { getServerApiUrl, getAuthTokens } from '$lib/server/api'; import type { PageServerLoad } from './$types'; import { redirect } from '@sveltejs/kit'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; export const load: PageServerLoad = async ({ cookies, fetch, url, parent }) => { const parentData = await parent(); const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } const page = Number(url.searchParams.get('page')) || 1; diff --git a/frontend/src/routes/dashboard/general_catalogs/seal/+page.server.ts b/frontend/src/routes/dashboard/general_catalogs/seal/+page.server.ts index f0341324..81639c28 100644 --- a/frontend/src/routes/dashboard/general_catalogs/seal/+page.server.ts +++ b/frontend/src/routes/dashboard/general_catalogs/seal/+page.server.ts @@ -1,12 +1,13 @@ import { getServerApiUrl, getAuthTokens } from '$lib/server/api'; import type { PageServerLoad } from './$types'; import { redirect } from '@sveltejs/kit'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; export const load: PageServerLoad = async ({ cookies, fetch, url, parent }) => { const parentData = await parent(); const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } const page = Number(url.searchParams.get('page')) || 1; diff --git a/frontend/src/routes/dashboard/goods/parts/edit/[[id]]/+page.server.ts b/frontend/src/routes/dashboard/goods/parts/edit/[[id]]/+page.server.ts index 0e4e1801..093b3558 100644 --- a/frontend/src/routes/dashboard/goods/parts/edit/[[id]]/+page.server.ts +++ b/frontend/src/routes/dashboard/goods/parts/edit/[[id]]/+page.server.ts @@ -1,12 +1,13 @@ import type { PageServerLoad } from './$types'; import { error, redirect } from '@sveltejs/kit'; import { getAuthTokens, getActiveCompanyId, authenticatedFetch } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; -export const load: PageServerLoad = async ({ params, cookies, fetch }) => { +export const load: PageServerLoad = async ({ params, cookies, fetch, url }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } const companyId = await getActiveCompanyId(cookies, fetch); diff --git a/frontend/src/routes/dashboard/invoices/+page.server.ts b/frontend/src/routes/dashboard/invoices/+page.server.ts index aabc158e..2ee27026 100644 --- a/frontend/src/routes/dashboard/invoices/+page.server.ts +++ b/frontend/src/routes/dashboard/invoices/+page.server.ts @@ -1,9 +1,10 @@ import type { PageServerLoad } from './$types'; import { redirect } from '@sveltejs/kit'; -import { - getAuthTokens, - authenticatedFetch +import { + getAuthTokens, + authenticatedFetch } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; export const load: PageServerLoad = async ({ fetch, cookies, url, parent }) => { const invoiceType = url.searchParams.get('invoice_type'); @@ -21,7 +22,7 @@ export const load: PageServerLoad = async ({ fetch, cookies, url, parent }) => { const accessToken = tokens.accessToken; if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } try { diff --git a/frontend/src/routes/dashboard/invoices/edit/[id]/+page.server.ts b/frontend/src/routes/dashboard/invoices/edit/[id]/+page.server.ts index 2d1eee3b..cc231385 100644 --- a/frontend/src/routes/dashboard/invoices/edit/[id]/+page.server.ts +++ b/frontend/src/routes/dashboard/invoices/edit/[id]/+page.server.ts @@ -1,12 +1,13 @@ import type { PageServerLoad } from './$types'; import { error, redirect } from '@sveltejs/kit'; import { getAuthTokens, getActiveCompanyId, authenticatedFetch } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; export const load: PageServerLoad = async ({ params, cookies, fetch, url }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } // Obtener el company_id de la cookie diff --git a/frontend/src/routes/dashboard/invoices/settings/+page.server.ts b/frontend/src/routes/dashboard/invoices/settings/+page.server.ts index 852ba58b..a27d86e7 100644 --- a/frontend/src/routes/dashboard/invoices/settings/+page.server.ts +++ b/frontend/src/routes/dashboard/invoices/settings/+page.server.ts @@ -1,12 +1,13 @@ import type { PageServerLoad } from './$types'; import { error, redirect } from '@sveltejs/kit'; import { getAuthTokens, getActiveCompanyId, authenticatedFetch } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; export const load: PageServerLoad = async ({ cookies, fetch, url }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } const companyId = await getActiveCompanyId(cookies, fetch); diff --git a/frontend/src/routes/dashboard/pedimentos/+page.server.ts b/frontend/src/routes/dashboard/pedimentos/+page.server.ts index 16be9ae1..174ce6b5 100644 --- a/frontend/src/routes/dashboard/pedimentos/+page.server.ts +++ b/frontend/src/routes/dashboard/pedimentos/+page.server.ts @@ -1,6 +1,7 @@ import type { PageServerLoad } from './$types'; import { redirect } from '@sveltejs/kit'; import { getAuthTokens, authenticatedFetch } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; export const load: PageServerLoad = async ({ fetch, cookies, url, parent }) => { // Esperar a que el layout padre valide/refresque el token @@ -10,7 +11,7 @@ export const load: PageServerLoad = async ({ fetch, cookies, url, parent }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } try { diff --git a/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.server.ts b/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.server.ts index b00ba4d8..65f89aea 100644 --- a/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.server.ts +++ b/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.server.ts @@ -1,12 +1,13 @@ import type { PageServerLoad } from './$types'; import { error, redirect } from '@sveltejs/kit'; import { getAuthTokens, getActiveCompanyId, authenticatedFetch } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; -export const load: PageServerLoad = async ({ params, cookies, fetch }) => { +export const load: PageServerLoad = async ({ params, cookies, fetch, url }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } // Obtener el company_id de la cookie para ambas ramas (new y edit) @@ -84,7 +85,7 @@ export const load: PageServerLoad = async ({ params, cookies, fetch }) => { throw error(404, 'Pedimento no encontrado'); } if (response.status === 401) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } if (response.status === 403) { throw error(403, 'No tiene permiso para editar pedimentos'); diff --git a/frontend/src/routes/dashboard/reports/invoices/+page.server.ts b/frontend/src/routes/dashboard/reports/invoices/+page.server.ts index d86c1b74..b4131ab5 100644 --- a/frontend/src/routes/dashboard/reports/invoices/+page.server.ts +++ b/frontend/src/routes/dashboard/reports/invoices/+page.server.ts @@ -1,12 +1,12 @@ import type { PageServerLoad } from './$types'; -import { redirect } from '@sveltejs/kit'; import { getAuthTokens } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; -export const load: PageServerLoad = async ({ cookies }) => { +export const load: PageServerLoad = async ({ cookies, url }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } return { diff --git a/frontend/src/routes/dashboard/reports/vencimiento/+page.server.ts b/frontend/src/routes/dashboard/reports/vencimiento/+page.server.ts index d279a7d0..cc752309 100644 --- a/frontend/src/routes/dashboard/reports/vencimiento/+page.server.ts +++ b/frontend/src/routes/dashboard/reports/vencimiento/+page.server.ts @@ -1,12 +1,12 @@ import type { PageServerLoad } from './$types'; -import { redirect } from '@sveltejs/kit'; import { getAuthTokens } from '$lib/server/api'; +import { redirectToWorkspaceLogin } from '$lib/server/workspace-auth'; -export const load: PageServerLoad = async ({ cookies }) => { +export const load: PageServerLoad = async ({ cookies, url }) => { const { accessToken } = getAuthTokens(cookies); if (!accessToken) { - throw redirect(302, '/login'); + redirectToWorkspaceLogin(cookies, url); } return {