refactor(usermanagement): enhance UsersSeeder by removing RolesSeeder dependency and improving user creation logic
This commit is contained in:
@@ -4,8 +4,7 @@ use Illuminate\Database\Migrations\Migration;
|
|||||||
use Illuminate\Database\Schema\Blueprint;
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
return new class extends Migration
|
return new class extends Migration {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Run the migrations.
|
* Run the migrations.
|
||||||
*/
|
*/
|
||||||
@@ -46,8 +45,12 @@ return new class extends Migration
|
|||||||
*/
|
*/
|
||||||
public function down(): void
|
public function down(): void
|
||||||
{
|
{
|
||||||
Schema::dropIfExists('users');
|
Schema::disableForeignKeyConstraints();
|
||||||
Schema::dropIfExists('password_reset_tokens');
|
|
||||||
Schema::dropIfExists('sessions');
|
Schema::dropIfExists('sessions');
|
||||||
|
Schema::dropIfExists('password_reset_tokens');
|
||||||
|
Schema::dropIfExists('users');
|
||||||
|
|
||||||
|
Schema::enableForeignKeyConstraints();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,38 +5,124 @@ namespace Modules\Usermanagement\Database\Seeders;
|
|||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Modules\Usermanagement\Models\User;
|
use Modules\Usermanagement\Models\User;
|
||||||
use Modules\Usermanagement\Database\Seeders\RolesSeeder;
|
use Spatie\Permission\Models\Role;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class UsersSeeder extends Seeder
|
class UsersSeeder extends Seeder
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Run the database seeds.
|
|
||||||
*/
|
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$roleSeeder = new RolesSeeder();
|
$branchLuar = [
|
||||||
$rolesData = $roleSeeder->data();
|
24,
|
||||||
|
25,
|
||||||
|
29,
|
||||||
|
35,
|
||||||
|
37,
|
||||||
|
41,
|
||||||
|
42,
|
||||||
|
45,
|
||||||
|
46,
|
||||||
|
50,
|
||||||
|
71,
|
||||||
|
74,
|
||||||
|
77,
|
||||||
|
82,
|
||||||
|
84,
|
||||||
|
85,
|
||||||
|
88,
|
||||||
|
90,
|
||||||
|
91,
|
||||||
|
93,
|
||||||
|
97,
|
||||||
|
107,
|
||||||
|
108,
|
||||||
|
111,
|
||||||
|
112,
|
||||||
|
113,
|
||||||
|
114,
|
||||||
|
115
|
||||||
|
];
|
||||||
|
|
||||||
foreach ($rolesData as $roleData) {
|
$branchDalam = [
|
||||||
if ($roleData['name'] === 'administrator') {
|
2,
|
||||||
$user = User::firstOrCreate(
|
3,
|
||||||
['email' => $roleData['name'] . '@ag.co.id'],
|
4,
|
||||||
[
|
5,
|
||||||
'name' => $roleData['name'],
|
6,
|
||||||
'password' => Hash::make('bagbag'),
|
7,
|
||||||
'branch_id' => 1,
|
8,
|
||||||
'nik' => '000000',
|
9,
|
||||||
'email_verified_at' => now(),
|
10,
|
||||||
]
|
11,
|
||||||
);
|
12,
|
||||||
|
14,
|
||||||
|
15,
|
||||||
|
17,
|
||||||
|
18,
|
||||||
|
22,
|
||||||
|
23,
|
||||||
|
53,
|
||||||
|
55,
|
||||||
|
58,
|
||||||
|
60,
|
||||||
|
61,
|
||||||
|
66,
|
||||||
|
70,
|
||||||
|
95,
|
||||||
|
96,
|
||||||
|
98,
|
||||||
|
100,
|
||||||
|
105
|
||||||
|
];
|
||||||
|
|
||||||
$role = \Spatie\Permission\Models\Role::firstOrCreate(
|
$kpno = 6;
|
||||||
['name' => $roleData['name']],
|
|
||||||
['guard_name' => 'web']
|
|
||||||
);
|
|
||||||
|
|
||||||
$user->assignRole($role);
|
$createUser = function ($roleName, $branchId) {
|
||||||
}
|
$user = User::firstOrCreate(
|
||||||
|
['email' => $roleName . $branchId . '@ag.co.id'],
|
||||||
|
[
|
||||||
|
'name' => ucfirst($roleName) . ' ' . $branchId,
|
||||||
|
'password' => Hash::make('bagbag'),
|
||||||
|
'branch_id' => $branchId,
|
||||||
|
'nik' => rand(100000, 999999),
|
||||||
|
'email_verified_at' => now(),
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
$role = Role::firstOrCreate(['name' => $roleName], ['guard_name' => 'web']);
|
||||||
|
$user->assignRole($role);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($branchLuar as $branchId) {
|
||||||
|
$createUser('legal', $branchId);
|
||||||
}
|
}
|
||||||
|
$createUser('legal', $kpno);
|
||||||
|
|
||||||
|
|
||||||
|
$createUser('spvlegal', $kpno);
|
||||||
|
|
||||||
|
|
||||||
|
foreach (array_merge($branchLuar, $branchDalam) as $branchId) {
|
||||||
|
$createUser('cabang', $branchId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($branchLuar as $branchId) {
|
||||||
|
$createUser('admindokumen', $branchId);
|
||||||
|
}
|
||||||
|
$createUser('admindokumen', $kpno);
|
||||||
|
|
||||||
|
|
||||||
|
$createUser('adminkredit', $kpno);
|
||||||
|
|
||||||
|
|
||||||
|
foreach ($branchLuar as $branchId) {
|
||||||
|
$createUser('auditor', $branchId);
|
||||||
|
}
|
||||||
|
$createUser('auditor', $kpno);
|
||||||
|
|
||||||
|
|
||||||
|
$createUser('soadmindokumen', $kpno);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user