first init

This commit is contained in:
ISMAIL MASSERAN
2026-06-08 11:37:14 +08:00
commit 94ecbe5887
1058 changed files with 87732 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace Database\Seeders;
// use App\Models\User;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
// User::factory(10)->create();
// User::factory()->create([
// 'name' => 'Test User',
// 'email' => 'test@example.com',
// ]);
$needsSeeder = [
PermissionsSeeder::class,
RolesSeeder::class,
RoleHasPermissionsSeeder::class,
UserSeeder::class,
];
$this->call($needsSeeder);
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
class PermissionsSeeder extends Seeder
{
public function run()
{
$json = file_get_contents(database_path('seeders/json/permissions_20251014.json'));
$data = json_decode($json, true);
foreach ($data['permissions'] as $permission) {
DB::table('permissions')->insert(
[
'id' => Str::uuid(),
'name' => $permission['name'],
'guard_name' => $permission['guard_name'],
'created_at' => $permission['created_at'],
'updated_at' => $permission['updated_at'],
'route_name' => $permission['route_name'],
],
);
}
}
}
@@ -0,0 +1,35 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use RuntimeException;
class RoleHasPermissionsSeeder extends Seeder
{
public function run(): void
{
$json = file_get_contents(database_path('seeders/json/role_has_permissions_20251014.json'));
$data = json_decode($json, true);
foreach ($data['role_has_permissions'] as $item) {
$guardName = $item['guard_name'] ?? 'api';
$permission = DB::table('permissions')
->where('name', $item['permission_name'])
->where('guard_name', $guardName)
->first();
$role = DB::table('roles')
->where('name', $item['role_name'])
->where('guard_name', $guardName)
->first();
DB::table('role_has_permissions')->insert([
'permission_id' => $permission->id,
'role_id' => $role->id,
]);
}
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
class RolesSeeder extends Seeder
{
public function run()
{
$json = file_get_contents(database_path('seeders/json/roles_20251014.json'));
$data = json_decode($json, true);
foreach ($data['roles'] as $role) {
DB::table('roles')->insert(
[
'id' => Str::uuid(),
'name' => $role['name'],
'guard_name' => $role['guard_name'],
'created_at' => $role['created_at'],
'updated_at' => $role['updated_at'],
'fullname' => $role['fullname'],
]
);
}
}
}
+33
View File
@@ -0,0 +1,33 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Modules\Auth\Entities\User;
use Modules\Role\Entities\Role;
class UserSeeder extends Seeder
{
public function run(): void
{
$user = User::updateOrCreate(
['email' => 'ismail@developer.com'],
[
'name' => 'DEVELOPER',
'phone_number' => '0123456789',
'password' => bcrypt('Topazthegoat'),
'status' => 'active',
]
);
// Find the DEVELOPER role
$developerRole = Role::findByName('DEVELOPER', 'api');
if (! $user->hasRole('DEVELOPER')) {
$user->assignRole($developerRole);
$this->command->info('DEVELOPER role assigned to user: '.$user->email);
} else {
$this->command->info('User already has DEVELOPER role: '.$user->email);
}
}
}
@@ -0,0 +1,37 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
class VisibilityPermissionsSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$permissions = [
[
'name' => 'akses peringkat formasi',
'guard_name' => 'api',
'description' => 'Can view all data under their government level'
],
[
'name' => 'akses peringkat divisyen',
'guard_name' => 'api',
'description' => 'Can view all data under their formation (DIV) level'
]
];
foreach ($permissions as $permission) {
Permission::firstOrCreate(
['name' => $permission['name'], 'guard_name' => $permission['guard_name']],
$permission
);
}
$this->command->info('Visibility permissions created successfully!');
}
}
@@ -0,0 +1,11 @@
{
"permissions": [
{
"name": "DEVELOPER",
"guard_name": "api",
"created_at": "2025-07-13T00:03:02.000Z",
"updated_at": "2025-07-13T00:03:02.000Z",
"route_name": "superadminRoutes"
}
]
}
@@ -0,0 +1,9 @@
{
"role_has_permissions": [
{
"role_name": "DEVELOPER",
"permission_name": "DEVELOPER",
"guard_name": "api"
}
]
}
@@ -0,0 +1,12 @@
{
"roles": [
{
"name": "DEVELOPER",
"guard_name": "api",
"created_at": "2025-06-21T22:49:54.000Z",
"updated_at": "2025-07-22T05:38:08.000Z",
"deleted_at": null,
"fullname": null
}
]
}