+ Added seeder for default admin user.
This commit is contained in:
@@ -63,3 +63,10 @@ AWS_BUCKET=
|
|||||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||||
|
|
||||||
VITE_APP_NAME="${APP_NAME}"
|
VITE_APP_NAME="${APP_NAME}"
|
||||||
|
|
||||||
|
# Admin user details to be created on the first run in case of an empty database
|
||||||
|
|
||||||
|
ADMIN_EMAIL=
|
||||||
|
ADMIN_NAME=
|
||||||
|
ADMIN_HANDLE=
|
||||||
|
ADMIN_PASSWORD=
|
||||||
|
|||||||
12
config/scriptum.php
Normal file
12
config/scriptum.php
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
'setup' => [
|
||||||
|
'admin_email' => env('ADMIN_EMAIL', 'admin@example.com'),
|
||||||
|
'admin_name' => env('ADMIN_NAME', 'Scriptum Admin'),
|
||||||
|
'admin_handle' => env('ADMIN_HANDLE', 'scriptum-admin'),
|
||||||
|
'admin_password' => env('ADMIN_PASSWORD', 'PlEaSe_ChAnGe_Me'),
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
@@ -5,6 +5,8 @@ namespace Database\Seeders;
|
|||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class DatabaseSeeder extends Seeder
|
class DatabaseSeeder extends Seeder
|
||||||
{
|
{
|
||||||
@@ -13,11 +15,22 @@ class DatabaseSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
// User::factory(10)->create();
|
|
||||||
|
|
||||||
User::factory()->create([
|
//NOTE: In docker the seeding may be re-run on each restart, so we only create the admin user if it isn't already present
|
||||||
'name' => 'Test User',
|
|
||||||
'email' => 'test@example.com',
|
// skip, if the admin user already exists
|
||||||
|
if (null !== User::where('is_admin', true)->first()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// create the admin user
|
||||||
|
$user = User::create([
|
||||||
|
'name' => config('scriptum.setup.admin_name'),
|
||||||
|
'email' => config('scriptum.setup.admin_email'),
|
||||||
|
'handle' => config('scriptum.setup.admin_handle'),
|
||||||
|
'password' => Hash::make(config('scriptum.setup.admin_password')),
|
||||||
|
'is_admin' => true,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user