From 7e0f66d9cc07a56058d06ea129498794cbbf803c Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sat, 13 Dec 2025 22:15:31 -0800 Subject: [PATCH] fix registration availability checks and signup endpoint - correct api paths for username/email availability checks - use singleton userAdapter instead of creating new instance - use getApiBaseUrl() for signup to include /api/v1 prefix --- src/lib/api/adapters/user.adapter.ts | 4 ++-- src/routes/auth/register/+page.svelte | 4 +--- src/routes/auth/signup/+server.ts | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/lib/api/adapters/user.adapter.ts b/src/lib/api/adapters/user.adapter.ts index f30adb55..0a66f2c6 100644 --- a/src/lib/api/adapters/user.adapter.ts +++ b/src/lib/api/adapters/user.adapter.ts @@ -197,7 +197,7 @@ export class UserAdapter extends BaseAdapter { * Check username availability */ async checkUsernameAvailability(username: string): Promise<{ available: boolean }> { - return this.request<{ available: boolean }>(`/users/check-username`, { + return this.request<{ available: boolean }>(`/check/username`, { method: 'POST', body: JSON.stringify({ username }) }) @@ -207,7 +207,7 @@ export class UserAdapter extends BaseAdapter { * Check email availability */ async checkEmailAvailability(email: string): Promise<{ available: boolean }> { - return this.request<{ available: boolean }>(`/users/check-email`, { + return this.request<{ available: boolean }>(`/check/email`, { method: 'POST', body: JSON.stringify({ email }) }) diff --git a/src/routes/auth/register/+page.svelte b/src/routes/auth/register/+page.svelte index 11e0236f..d9251508 100644 --- a/src/routes/auth/register/+page.svelte +++ b/src/routes/auth/register/+page.svelte @@ -3,7 +3,7 @@ import AuthCard from '$lib/components/auth/AuthCard.svelte' import Input from '$lib/components/ui/Input.svelte' import Button from '$lib/components/ui/Button.svelte' - import { UserAdapter } from '$lib/api/adapters/user.adapter' + import { userAdapter } from '$lib/api/adapters/user.adapter' import * as m from '$lib/paraglide/messages' interface Props { @@ -38,8 +38,6 @@ let usernameTimer: ReturnType let emailTimer: ReturnType - const userAdapter = new UserAdapter() - // Username validation regex const usernameRegex = /^[a-zA-Z0-9_-]+$/ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/ diff --git a/src/routes/auth/signup/+server.ts b/src/routes/auth/signup/+server.ts index d139b623..6c86e703 100644 --- a/src/routes/auth/signup/+server.ts +++ b/src/routes/auth/signup/+server.ts @@ -2,7 +2,7 @@ import type { RequestHandler } from '@sveltejs/kit' import { json } from '@sveltejs/kit' import { dev } from '$app/environment' import { z } from 'zod' -import { PUBLIC_SIERO_API_URL } from '$env/static/public' +import { getApiBaseUrl } from '$lib/api/adapters/config' import { passwordGrantLogin } from '$lib/auth/oauth' import { userAdapter } from '$lib/api/adapters/user.adapter' import { buildCookies } from '$lib/auth/map' @@ -40,7 +40,7 @@ export const POST: RequestHandler = async ({ request, cookies, fetch }) => { try { // 1. Create user account via API - const signupRes = await fetch(`${PUBLIC_SIERO_API_URL}/users`, { + const signupRes = await fetch(`${getApiBaseUrl()}/users`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({