From 233b9f135dc93f7e9d8faa6bb5c4f115b8ec17c2 Mon Sep 17 00:00:00 2001 From: DanielS Date: Fri, 3 Jul 2026 09:59:07 +0200 Subject: [PATCH] feat(setup): remove default admin info@hephex.de automation --- scripts/init_supabase.sh | 31 +------------------ ...00200_create_users_and_settings_tables.sql | 4 +-- ...703095900_remove_default_admin_trigger.sql | 15 +++++++++ 3 files changed, 18 insertions(+), 32 deletions(-) create mode 100644 shop/supabase/migrations/20260703095900_remove_default_admin_trigger.sql diff --git a/scripts/init_supabase.sh b/scripts/init_supabase.sh index bf74639..38ab33e 100644 --- a/scripts/init_supabase.sh +++ b/scripts/init_supabase.sh @@ -1,35 +1,6 @@ #!/bin/bash set -e -# Initialize Supabase if needed and ensure default admin user exists -# Requires environment variables: -# SUPABASE_URL – base URL of Supabase instance (e.g., http://192.168.1.132:8000) -# SUPABASE_SERVICE_ROLE_KEY – service role secret key with admin privileges -# DEFAULT_USER_EMAIL – email for the default user (default: info@hephex.de) -# DEFAULT_USER_PASSWORD – password for the default user (default: Kathi2022!) - -DEFAULT_EMAIL="${DEFAULT_USER_EMAIL:-info@hephex.de}" -DEFAULT_PASSWORD="${DEFAULT_USER_PASSWORD:-Kathi2022!}" - -if [[ -z "$SUPABASE_URL" || -z "$SUPABASE_SERVICE_ROLE_KEY" ]]; then - echo "Supabase URL or Service Role Key not set – skipping user creation." - exit 0 -fi - -# Check if the user already exists -EXISTING=$(curl -s "${SUPABASE_URL}/auth/v1/admin/users?apikey=${SUPABASE_SERVICE_ROLE_KEY}" \ - -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}" \ - -H "Content-Type: application/json" | grep -i "${DEFAULT_EMAIL}") - -if [[ -n "$EXISTING" ]]; then - echo "Default user ${DEFAULT_EMAIL} already exists." -else - echo "Creating default user ${DEFAULT_EMAIL}..." - curl -s -X POST "${SUPABASE_URL}/auth/v1/admin/users?apikey=${SUPABASE_SERVICE_ROLE_KEY}" \ - -H "Authorization: Bearer ${SUPABASE_SERVICE_ROLE_KEY}" \ - -H "Content-Type: application/json" \ - -d "{\"email\": \"${DEFAULT_EMAIL}\", \"password\": \"${DEFAULT_PASSWORD}\", \"email_confirmed\": true}" - echo "User created." -fi +echo "Supabase default user creation disabled – setup wizard will handle user initialization." exec "$@" diff --git a/shop/supabase/migrations/20260623000200_create_users_and_settings_tables.sql b/shop/supabase/migrations/20260623000200_create_users_and_settings_tables.sql index cc2dc2b..188e674 100644 --- a/shop/supabase/migrations/20260623000200_create_users_and_settings_tables.sql +++ b/shop/supabase/migrations/20260623000200_create_users_and_settings_tables.sql @@ -44,7 +44,7 @@ BEGIN ON CONFLICT (id) DO NOTHING; INSERT INTO public.users (id, role) - VALUES (new.id, CASE WHEN new.email = 'info@hephex.de' THEN 'admin' ELSE 'partner' END) + VALUES (new.id, 'partner') ON CONFLICT (id) DO NOTHING; RETURN NEW; @@ -53,7 +53,7 @@ $$ LANGUAGE plpgsql SECURITY DEFINER; -- Backfill public.users for existing auth.users INSERT INTO public.users (id, role) -SELECT id, CASE WHEN email = 'info@hephex.de' THEN 'admin' ELSE 'partner' END +SELECT id, 'partner' FROM auth.users ON CONFLICT (id) DO NOTHING; diff --git a/shop/supabase/migrations/20260703095900_remove_default_admin_trigger.sql b/shop/supabase/migrations/20260703095900_remove_default_admin_trigger.sql new file mode 100644 index 0000000..cb41a97 --- /dev/null +++ b/shop/supabase/migrations/20260703095900_remove_default_admin_trigger.sql @@ -0,0 +1,15 @@ +-- Migration: Update user creation trigger function to not assign admin role to info@hephex.de automatically +CREATE OR REPLACE FUNCTION public.handle_new_user() +RETURNS TRIGGER AS $$ +BEGIN + INSERT INTO public.profiles (id) + VALUES (new.id) + ON CONFLICT (id) DO NOTHING; + + INSERT INTO public.users (id, role) + VALUES (new.id, 'partner') + ON CONFLICT (id) DO NOTHING; + + RETURN NEW; +END; +$$ LANGUAGE plpgsql SECURITY DEFINER;