feat: improved error handling and log output

This commit is contained in:
peaklabs-dev
2025-01-16 18:29:00 +01:00
parent c925ff049d
commit 0ced6a4376

View File

@@ -13,13 +13,19 @@ class RootUserSeeder extends Seeder
{ {
public function run(): void public function run(): void
{ {
try {
if (User::where('id', 0)->exists()) { if (User::where('id', 0)->exists()) {
echo " Root user already exists. Skipping creation.\n"; echo " INFO Root user already exists. Skipping creation.\n";
return;
}
if (! env('ROOT_USER_EMAIL') || ! env('ROOT_USER_PASSWORD')) {
echo " ERROR ROOT_USER_EMAIL and ROOT_USER_PASSWORD environment variables are required for root user creation.\n";
return; return;
} }
if (env('ROOT_USER_EMAIL') && env('ROOT_USER_PASSWORD')) {
$validator = Validator::make([ $validator = Validator::make([
'email' => env('ROOT_USER_EMAIL'), 'email' => env('ROOT_USER_EMAIL'),
'username' => env('ROOT_USERNAME', 'Root User'), 'username' => env('ROOT_USERNAME', 'Root User'),
@@ -31,7 +37,7 @@ class RootUserSeeder extends Seeder
]); ]);
if ($validator->fails()) { if ($validator->fails()) {
echo " Error: Invalid ROOT User Environment Variables\n"; echo " ERROR Invalid Root User Environment Variables\n";
foreach ($validator->errors()->all() as $error) { foreach ($validator->errors()->all() as $error) {
echo "{$error}\n"; echo "{$error}\n";
} }
@@ -39,22 +45,31 @@ class RootUserSeeder extends Seeder
return; return;
} }
try {
User::create([ User::create([
'id' => 0, 'id' => 0,
'name' => env('ROOT_USERNAME', 'Root User'), 'name' => env('ROOT_USERNAME', 'Root User'),
'email' => env('ROOT_USER_EMAIL'), 'email' => env('ROOT_USER_EMAIL'),
'password' => Hash::make(env('ROOT_USER_PASSWORD')), 'password' => Hash::make(env('ROOT_USER_PASSWORD')),
]); ]);
echo " SUCCESS Root user created successfully.\n";
} catch (\Exception $e) {
echo " ERROR Failed to create root user: {$e->getMessage()}\n";
return;
}
try {
InstanceSettings::updateOrCreate( InstanceSettings::updateOrCreate(
['id' => 0], ['id' => 0],
['is_registration_enabled' => false] ['is_registration_enabled' => false]
); );
echo " SUCCESS Registration has been disabled.\n";
echo " Root user created successfully.\n"; } catch (\Exception $e) {
echo " Registration has been disabled.\n"; echo " ERROR Failed to update instance settings: {$e->getMessage()}\n";
} else { }
echo " Warning: ROOT_USER_EMAIL and ROOT_USER_PASSWORD environment variables are required for root user creation.\n"; } catch (\Exception $e) {
echo " ERROR An unexpected error occurred: {$e->getMessage()}\n";
} }
} }
} }