feat(setup): remove default admin info@hephex.de automation
This commit is contained in:
@@ -1,35 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Initialize Supabase if needed and ensure default admin user exists
|
echo "Supabase default user creation disabled – setup wizard will handle user initialization."
|
||||||
# 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
|
|
||||||
|
|
||||||
exec "$@"
|
exec "$@"
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ BEGIN
|
|||||||
ON CONFLICT (id) DO NOTHING;
|
ON CONFLICT (id) DO NOTHING;
|
||||||
|
|
||||||
INSERT INTO public.users (id, role)
|
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;
|
ON CONFLICT (id) DO NOTHING;
|
||||||
|
|
||||||
RETURN NEW;
|
RETURN NEW;
|
||||||
@@ -53,7 +53,7 @@ $$ LANGUAGE plpgsql SECURITY DEFINER;
|
|||||||
|
|
||||||
-- Backfill public.users for existing auth.users
|
-- Backfill public.users for existing auth.users
|
||||||
INSERT INTO public.users (id, role)
|
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
|
FROM auth.users
|
||||||
ON CONFLICT (id) DO NOTHING;
|
ON CONFLICT (id) DO NOTHING;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
Reference in New Issue
Block a user