From f1e27f3beb26f6c669237857846af59d96ec6f4e Mon Sep 17 00:00:00 2001 From: Till-JS <101404291+Till-JS@users.noreply.github.com> Date: Fri, 28 Nov 2025 21:31:46 +0100 Subject: [PATCH] fix(manadeck): resolve backend startup and auth configuration issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add missing env vars to generate-env script (DATABASE_URL, MANA_SERVICE_URL, APP_ID) - Fix auth endpoints to use correct mana-core-auth paths (/api/v1/auth/login) - Fix api.controller.ts to use getBalance() and completedAt field names - Add SSR/optimizeDeps config for shared packages in vite.config.ts - Remove outdated tailwind.config.js (conflicts with Tailwind CSS 4) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .env.development | 2 ++ .../backend/src/controllers/api.controller.ts | 4 ++-- apps/manadeck/apps/web/src/lib/auth.ts | 22 +++++++++---------- apps/manadeck/apps/web/tailwind.config.js | 12 ---------- apps/manadeck/apps/web/vite.config.ts | 20 +++++++++++++++++ scripts/generate-env.mjs | 6 +++-- 6 files changed, 39 insertions(+), 27 deletions(-) delete mode 100644 apps/manadeck/apps/web/tailwind.config.js diff --git a/.env.development b/.env.development index 25273fb70..70fadafcc 100644 --- a/.env.development +++ b/.env.development @@ -106,6 +106,8 @@ MANACORE_SUPABASE_ANON_KEY=your-supabase-anon-key # ============================================ MANADECK_BACKEND_PORT=3004 +MANADECK_DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/manadeck +MANADECK_APP_ID=cea4bfc6-a4de-4e17-91e2-54275940156e MANADECK_SUPABASE_URL=https://your-manadeck-project.supabase.co MANADECK_SUPABASE_ANON_KEY=your-supabase-anon-key diff --git a/apps/manadeck/apps/backend/src/controllers/api.controller.ts b/apps/manadeck/apps/backend/src/controllers/api.controller.ts index 4c23bcab2..2a702213b 100644 --- a/apps/manadeck/apps/backend/src/controllers/api.controller.ts +++ b/apps/manadeck/apps/backend/src/controllers/api.controller.ts @@ -51,7 +51,7 @@ export class ApiController { // Include credit balance in profile let creditBalance = 0; try { - const balance = await this.creditClient.getCreditBalance(user.sub); + const balance = await this.creditClient.getBalance(user.sub); creditBalance = balance.balance || 0; } catch (error) { this.logger.warn(`Failed to fetch credit balance for user ${user.sub}:`, error); @@ -69,7 +69,7 @@ export class ApiController { this.logger.log(`Getting credit balance for user: ${user.sub}`); try { - const balance = await this.creditClient.getCreditBalance(user.sub); + const balance = await this.creditClient.getBalance(user.sub); return { userId: user.sub, diff --git a/apps/manadeck/apps/web/src/lib/auth.ts b/apps/manadeck/apps/web/src/lib/auth.ts index 3e0432838..5f9403469 100644 --- a/apps/manadeck/apps/web/src/lib/auth.ts +++ b/apps/manadeck/apps/web/src/lib/auth.ts @@ -9,7 +9,7 @@ * - utils/jwt.ts */ -import { PUBLIC_API_URL } from '$env/static/public'; +import { PUBLIC_API_URL, PUBLIC_MANA_CORE_AUTH_URL } from '$env/static/public'; import { createAuthService, createTokenManager, @@ -127,22 +127,22 @@ setNetworkAdapter(webNetworkAdapter); // Create auth service instance export const authService = createAuthService({ - baseUrl: PUBLIC_API_URL, + baseUrl: PUBLIC_MANA_CORE_AUTH_URL, storageKeys: { APP_TOKEN: STORAGE_KEYS.APP_TOKEN, REFRESH_TOKEN: STORAGE_KEYS.REFRESH_TOKEN, USER_EMAIL: STORAGE_KEYS.USER_EMAIL, }, endpoints: { - signIn: '/v1/auth/signin', - signUp: '/v1/auth/signup', - signOut: '/v1/auth/logout', - refresh: '/v1/auth/refresh', - validate: '/v1/auth/validate', - forgotPassword: '/v1/auth/forgot-password', - googleSignIn: '/v1/auth/google-signin', - appleSignIn: '/v1/auth/apple-signin', - credits: '/v1/auth/credits', + signIn: '/api/v1/auth/login', + signUp: '/api/v1/auth/register', + signOut: '/api/v1/auth/logout', + refresh: '/api/v1/auth/refresh', + validate: '/api/v1/auth/validate', + forgotPassword: '/api/v1/auth/forgot-password', + googleSignIn: '/api/v1/auth/google-signin', + appleSignIn: '/api/v1/auth/apple-signin', + credits: '/api/v1/credits/balance', }, }); diff --git a/apps/manadeck/apps/web/tailwind.config.js b/apps/manadeck/apps/web/tailwind.config.js deleted file mode 100644 index a5e29e3ef..000000000 --- a/apps/manadeck/apps/web/tailwind.config.js +++ /dev/null @@ -1,12 +0,0 @@ -import preset from '@manacore/shared-tailwind/preset'; - -/** @type {import('tailwindcss').Config} */ -export default { - presets: [preset], - content: [ - './src/**/*.{html,js,svelte,ts}', - '../../../packages/shared-ui/src/**/*.{html,js,svelte,ts}', - '../../../packages/shared-auth-ui/src/**/*.{html,js,svelte,ts}', - ], - plugins: [require('@tailwindcss/typography')], -}; diff --git a/apps/manadeck/apps/web/vite.config.ts b/apps/manadeck/apps/web/vite.config.ts index fce9e8704..8615d1e0f 100644 --- a/apps/manadeck/apps/web/vite.config.ts +++ b/apps/manadeck/apps/web/vite.config.ts @@ -3,4 +3,24 @@ import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()], + ssr: { + noExternal: [ + '@manacore/shared-theme', + '@manacore/shared-auth-ui', + '@manacore/shared-branding', + '@manacore/shared-ui', + '@manacore/shared-theme-ui', + '@manacore/shared-i18n', + ], + }, + optimizeDeps: { + exclude: [ + '@manacore/shared-theme', + '@manacore/shared-auth-ui', + '@manacore/shared-branding', + '@manacore/shared-ui', + '@manacore/shared-theme-ui', + '@manacore/shared-i18n', + ], + }, }); diff --git a/scripts/generate-env.mjs b/scripts/generate-env.mjs index 702a36d11..a979d835f 100644 --- a/scripts/generate-env.mjs +++ b/scripts/generate-env.mjs @@ -198,8 +198,10 @@ const APP_CONFIGS = [ vars: { NODE_ENV: () => 'development', PORT: (env) => env.MANADECK_BACKEND_PORT || '3004', - SUPABASE_URL: (env) => env.MANADECK_SUPABASE_URL, - SUPABASE_ANON_KEY: (env) => env.MANADECK_SUPABASE_ANON_KEY, + DATABASE_URL: (env) => env.MANADECK_DATABASE_URL, + MANA_SERVICE_URL: (env) => env.MANA_CORE_AUTH_URL, + APP_ID: (env) => env.MANADECK_APP_ID, + GOOGLE_GENAI_API_KEY: (env) => env.GOOGLE_GENAI_API_KEY, }, },