exists()) { echo " Root user already exists. Skipping creation.\n"; return; } if (env('ROOT_USER_EMAIL') && env('ROOT_USER_PASSWORD')) { $validator = Validator::make([ 'email' => env('ROOT_USER_EMAIL'), 'username' => env('ROOT_USERNAME', 'Root User'), 'password' => env('ROOT_USER_PASSWORD'), ], [ 'email' => ['required', 'email:rfc,dns', 'max:255'], 'username' => ['required', 'string', 'min:3', 'max:255', 'regex:/^[a-zA-Z0-9\s-_]+$/'], 'password' => ['required', 'string', 'min:8', Password::min(8)->mixedCase()->letters()->numbers()->symbols()->uncompromised()], ]); if ($validator->fails()) { echo " Validation failed:\n"; foreach ($validator->errors()->all() as $error) { echo " - {$error}\n"; } return; } User::create([ 'id' => 0, 'name' => env('ROOT_USERNAME', 'Root User'), 'email' => env('ROOT_USER_EMAIL'), 'password' => Hash::make(env('ROOT_USER_PASSWORD')), ]); InstanceSettings::updateOrCreate( ['id' => 0], ['is_registration_enabled' => false] ); echo " Root user created successfully.\n"; echo " Registration has been disabled.\n"; } else { echo " Warning: ROOT_USER_EMAIL and ROOT_USER_PASSWORD environment variables are required for root user creation.\n"; } } }