dikplhd/database/seeders/DatabaseSeeder.php

225 lines
10 KiB
PHP

<?php
namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Hash;
use App\Models\Master\Group;
use App\Models\Master\Instansi;
use App\Models\User;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
// \App\Models\User::factory(10)->create();
// \App\Models\User::factory()->create([
// 'name' => 'Test User',
// 'email' => 'test@example.com',
// ]);
$group = [
['name' => 'Administrator','alias' => 'administrator'],
['name' => 'Dinas','alias' => 'dinas'],
];
foreach($group as $valGroup){
Group::updateOrCreate([
'name' => $valGroup['name'],
'alias' => $valGroup['alias'],
],[
'name' => $valGroup['name'],
'alias' => $valGroup['alias'],
'status' => 1,
]);
}
$instansi = [
['type' => 'Biro' , 'name' => 'Biro Kepala Daerah'],
['type' => 'Biro' , 'name' => 'Biro Kerjasama Daerah'],
['type' => 'Biro' , 'name' => 'Biro Kesejahteraan Sosial'],
['type' => 'Biro' , 'name' => 'Biro Organisasi Dan Reformasi Birokrasi'],
['type' => 'Biro' , 'name' => 'Biro Pembangunan Dan Lingkungan Hidup'],
['type' => 'Biro' , 'name' => 'Biro Pemerintahan'],
['type' => 'Biro' , 'name' => 'Biro Pendidikan Dan Mental Spiritual'],
['type' => 'Biro' , 'name' => 'Biro Perekonomian Dan Keuangan'],
['type' => 'Biro' , 'name' => 'Biro Umum dan Administrasi Sekretariat Daerah'],
['type' => 'Biro' , 'name' => 'Biro Hukum'],
['type' => 'Badan' , 'name' => 'Badan Perencanaan Pembangunan Daerah (Bappeda)'],
['type' => 'Badan' , 'name' => 'Badan Pengelola Keuangan Daerah (BPKD)'],
['type' => 'Badan' , 'name' => 'Badan Pengelola Aset Daerah (BPAD)'],
['type' => 'Badan' , 'name' => 'Badan Pendapatan Daerah (Bapenda)'],
['type' => 'Badan' , 'name' => 'Badan Kesatuan Bangsa dan Politik (Kesbangpol)'],
['type' => 'Badan' , 'name' => 'Badan Pembinaan Badan Usaha Milik Daerah (BPBUMD)'],
['type' => 'Badan' , 'name' => 'Badan Kepegawaian Daerah (BKD)'],
['type' => 'Badan' , 'name' => 'Badan Pengembangan Sumber Daya Manusia (BPSDM)'],
['type' => 'Badan' , 'name' => 'Badan Penanggulangan Bencana Daerah (BPBD)'],
['type' => 'Badan' , 'name' => 'Badan Pelayanan Pengadaan Barang dan Jasa (BPPBJ)'],
['type' => 'Deputi' , 'name' => 'Deputi Bidang Tata Ruang dan Lingkungan Hidup'],
['type' => 'Deputi' , 'name' => 'Deputi Bidang Pengendalian Kependudukan dan Permukiman'],
['type' => 'Deputi' , 'name' => 'Deputi Bidang Industri, Perdagangan dan Transportasi'],
['type' => 'Deputi' , 'name' => 'Deputi Bidang Budaya dan Pariwisata'],
['type' => 'Dinas' , 'name' => 'Dinas Pendidikan'],
['type' => 'Dinas' , 'name' => 'Dinas Kesehatan'],
['type' => 'Dinas' , 'name' => 'Dinas Bina Marga'],
['type' => 'Dinas' , 'name' => 'Dinas Sumber Daya Air'],
['type' => 'Dinas' , 'name' => 'Dinas Cipta Karya, Tata Ruang dan Pertanahan'],
['type' => 'Dinas' , 'name' => 'Dinas Perumahan Rakyat dan Kawasan Permukiman'],
['type' => 'Dinas' , 'name' => 'Dinas Penanggulangan Kebakaran dan Penyelamatan'],
['type' => 'Dinas' , 'name' => 'Dinas Sosial'],
['type' => 'Dinas' , 'name' => 'Dinas Tenaga Kerja, Transmigrasi dan Energi'],
['type' => 'Dinas' , 'name' => 'Dinas Pemberdayaan, Perlindungan Anak dan Pengendalian Penduduk'],
['type' => 'Dinas' , 'name' => 'Dinas Ketahanan Pangan, Kelautan dan Pertanian'],
['type' => 'Dinas' , 'name' => 'Dinas Lingkungan Hidup'],
['type' => 'Dinas' , 'name' => 'Dinas Kependudukan dan Pencatatan Sipil'],
['type' => 'Dinas' , 'name' => 'Dinas Perhubungan'],
['type' => 'Dinas' , 'name' => 'Dinas Komunikasi, Informatika dan Statistik'],
['type' => 'Dinas' , 'name' => 'Dinas Perindustrian, Perdagangan, Koperasi dan Usaha Kecil Menengah'],
['type' => 'Dinas' , 'name' => 'Dinas Penanaman Modal dan Pelayanan Terpadu Satu Pintu'],
['type' => 'Dinas' , 'name' => 'Dinas Pemuda dan Olahraga'],
['type' => 'Dinas' , 'name' => 'Dinas Pariwisata dan Ekonomi Kreatif'],
['type' => 'Dinas' , 'name' => 'Dinas Perpustakaan dan Kearsipan'],
['type' => 'Dinas' , 'name' => 'Dinas Pertamanan dan Hutan Kota'],
['type' => 'Dinas' , 'name' => 'Dinas Kebudayaan'],
];
foreach($instansi as $dataInstansi){
Instansi::updateOrCreate([
'parent' => $dataInstansi['type'],
'name' => $dataInstansi['name'],
],[
'parent' => $dataInstansi['type'],
'name' => $dataInstansi['name'],
]);
}
User::updateOrCreate([
'name' => 'Administrator',
'username' => 'administrator',
'email' => 'adminadiwiyata@dlh.go.id',
],[
'name' => 'Administrator',
'username' => 'administrator',
'email' => 'admindikplhd@dlh.go.id',
'ms_group_id' => '1',
'ms_instansi_id' => '1',
'password' => Hash::make('##Dikplhd2025'),
]);
$menu = [
[
'parent_id' => '0',
'title' => 'Master Data',
'module' => 'modules.master.*',
'url' => '#',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-database-2-line',
'ordering' => '5',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],[
'parent_id' => '0',
'title' => 'User & Hak Akses',
'module' => 'modules.management.*',
'url' => '#',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-database-2-line',
'ordering' => '5',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],[
'parent_id' => '2',
'title' => 'Data Users',
'module' => 'modules.management.user.*',
'url' => 'management/user',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-user-line',
'ordering' => '1',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],[
'parent_id' => '2',
'title' => 'Data Role User',
'module' => 'modules.management.role.*',
'url' => 'management/role',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-share-line',
'ordering' => '3',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],[
'parent_id' => '1',
'title' => 'Data Instansi',
'module' => 'modules.instansi.*',
'url' => 'master/instansi',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-home-line',
'ordering' =>'1',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],[
'parent_id' => '0',
'title' => 'Open Data',
'module' => 'modules.opendata.*',
'url' => '#',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-database-2-line',
'ordering' => '1',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],[
'parent_id' => '6',
'title' => 'Dataset',
'module' => 'modules.opendata.dataset.*',
'url' => 'opendata/dataset',
'menu_type' => 'sidebar',
'menu_icon' => 'ri-database-2-line',
'ordering' => '1',
'status' => 'true',
'created_by' => '1',
'updated_by' => '0'
],
];
foreach($menu as $dataMenu){
Menu::updateOrCreate([
'parent_id' => $dataMenu['parent_id'],
'title' => $dataMenu['title'],
'module' => $dataMenu['module'],
'url' => $dataMenu['url'],
'menu_type' => $dataMenu['menu_type'],
'menu_icon' => $dataMenu['menu_icon'],
'ordering' => $dataMenu['ordering'],
'status' => $dataMenu['status'],
'created_by' => $dataMenu['created_by'],
'updated_by' => $dataMenu['updated_by'],
],[
'parent_id' => $dataMenu['parent_id'],
'title' => $dataMenu['title'],
'module' => $dataMenu['module'],
'url' => $dataMenu['url'],
'menu_type' => $dataMenu['menu_type'],
'menu_icon' => $dataMenu['menu_icon'],
'ordering' => $dataMenu['ordering'],
'status' => $dataMenu['status'],
'created_by' => $dataMenu['created_by'],
'updated_by' => $dataMenu['updated_by'],
]);
}
}
}