![]() Server : Apache System : Linux server2.thebrownbagmedia.com 4.18.0-553.34.1.el8_10.x86_64 #1 SMP Wed Jan 8 09:40:06 EST 2025 x86_64 User : topnotchcv ( 1029) PHP Version : 8.1.32 Disable Function : NONE Directory : /home/topnotchcv/public_html/database/seeders/ |
<?php namespace Database\Seeders; use App\Models\User; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\Hash; use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; use Illuminate\Support\Facades\Route; class DefaultDataUsersTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $currentRouteName = Route::currentRouteName(); if ($currentRouteName != 'LaravelUpdater::database') { // Default All Permission $allPermission = [ [ 'name' => 'manage user', 'guard_name' => 'web', ], [ 'name' => 'create user', 'guard_name' => 'web', ], [ 'name' => 'edit user', 'guard_name' => 'web', ], [ 'name' => 'delete user', 'guard_name' => 'web', ], [ 'name' => 'manage role', 'guard_name' => 'web', ], [ 'name' => 'create role', 'guard_name' => 'web', ], [ 'name' => 'edit role', 'guard_name' => 'web', ], [ 'name' => 'delete role', 'guard_name' => 'web', ], [ 'name' => 'manage contact', 'guard_name' => 'web', ], [ 'name' => 'create contact', 'guard_name' => 'web', ], [ 'name' => 'edit contact', 'guard_name' => 'web', ], [ 'name' => 'delete contact', 'guard_name' => 'web', ], [ 'name' => 'manage note', 'guard_name' => 'web', ], [ 'name' => 'create note', 'guard_name' => 'web', ], [ 'name' => 'edit note', 'guard_name' => 'web', ], [ 'name' => 'delete note', 'guard_name' => 'web', ], [ 'name' => 'manage logged history', 'guard_name' => 'web', ], [ 'name' => 'delete logged history', 'guard_name' => 'web', ], [ 'name' => 'manage pricing packages', 'guard_name' => 'web', ], [ 'name' => 'create pricing packages', 'guard_name' => 'web', ], [ 'name' => 'edit pricing packages', 'guard_name' => 'web', ], [ 'name' => 'delete pricing packages', 'guard_name' => 'web', ], [ 'name' => 'buy pricing packages', 'guard_name' => 'web', ], [ 'name' => 'manage pricing transation', 'guard_name' => 'web', ], [ 'name' => 'manage coupon', 'guard_name' => 'web', ], [ 'name' => 'create coupon', 'guard_name' => 'web', ], [ 'name' => 'edit coupon', 'guard_name' => 'web', ], [ 'name' => 'delete coupon', 'guard_name' => 'web', ], [ 'name' => 'manage coupon history', 'guard_name' => 'web', ], [ 'name' => 'delete coupon history', 'guard_name' => 'web', ], [ 'name' => 'manage account settings', 'guard_name' => 'web', ], [ 'name' => 'manage password settings', 'guard_name' => 'web', ], [ 'name' => 'manage general settings', 'guard_name' => 'web', ], [ 'name' => 'manage company settings', 'guard_name' => 'web', ], [ 'name' => 'manage email settings', 'guard_name' => 'web', ], [ 'name' => 'manage payment settings', 'guard_name' => 'web', ], [ 'name' => 'manage seo settings', 'guard_name' => 'web', ], [ 'name' => 'manage google recaptcha settings', 'guard_name' => 'web', ], [ 'name' => 'manage court', 'guard_name' => 'web', ], [ 'name' => 'create court', 'guard_name' => 'web', ], [ 'name' => 'edit court', 'guard_name' => 'web', ], [ 'name' => 'delete court', 'guard_name' => 'web', ], [ 'name' => 'show court', 'guard_name' => 'web', ], [ 'name' => 'manage practice area', 'guard_name' => 'web', ], [ 'name' => 'create practice area', 'guard_name' => 'web', ], [ 'name' => 'edit practice area', 'guard_name' => 'web', ], [ 'name' => 'delete practice area', 'guard_name' => 'web', ], [ 'name' => 'show practice area', 'guard_name' => 'web', ], [ 'name' => 'manage police station', 'guard_name' => 'web', ], [ 'name' => 'create police station', 'guard_name' => 'web', ], [ 'name' => 'edit police station', 'guard_name' => 'web', ], [ 'name' => 'delete police station', 'guard_name' => 'web', ], [ 'name' => 'show police station', 'guard_name' => 'web', ], [ 'name' => 'manage judge', 'guard_name' => 'web', ], [ 'name' => 'create judge', 'guard_name' => 'web', ], [ 'name' => 'edit judge', 'guard_name' => 'web', ], [ 'name' => 'delete judge', 'guard_name' => 'web', ], [ 'name' => 'show judge', 'guard_name' => 'web', ], [ 'name' => 'manage case stage', 'guard_name' => 'web', ], [ 'name' => 'create case stage', 'guard_name' => 'web', ], [ 'name' => 'edit case stage', 'guard_name' => 'web', ], [ 'name' => 'delete case stage', 'guard_name' => 'web', ], [ 'name' => 'show case stage', 'guard_name' => 'web', ], [ 'name' => 'manage matter', 'guard_name' => 'web', ], [ 'name' => 'create matter', 'guard_name' => 'web', ], [ 'name' => 'edit matter', 'guard_name' => 'web', ], [ 'name' => 'delete matter', 'guard_name' => 'web', ], [ 'name' => 'show matter', 'guard_name' => 'web', ], [ 'name' => 'manage tag', 'guard_name' => 'web', ], [ 'name' => 'create tag', 'guard_name' => 'web', ], [ 'name' => 'edit tag', 'guard_name' => 'web', ], [ 'name' => 'delete tag', 'guard_name' => 'web', ], [ 'name' => 'show tag', 'guard_name' => 'web', ], [ 'name' => 'manage client', 'guard_name' => 'web', ], [ 'name' => 'create client', 'guard_name' => 'web', ], [ 'name' => 'edit client', 'guard_name' => 'web', ], [ 'name' => 'show client', 'guard_name' => 'web', ], [ 'name' => 'delete client', 'guard_name' => 'web', ], [ 'name' => 'manage advocate', 'guard_name' => 'web', ], [ 'name' => 'create advocate', 'guard_name' => 'web', ], [ 'name' => 'edit advocate', 'guard_name' => 'web', ], [ 'name' => 'delete advocate', 'guard_name' => 'web', ], [ 'name' => 'delete advice', 'guard_name' => 'web', ], [ 'name' => 'show advocate', 'guard_name' => 'web', ], [ 'name' => 'manage advice', 'guard_name' => 'web', ], [ 'name' => 'create advice', 'guard_name' => 'web', ], [ 'name' => 'edit advice', 'guard_name' => 'web', ], [ 'name' => 'show advice', 'guard_name' => 'web', ], [ 'name' => 'manage case', 'guard_name' => 'web', ], [ 'name' => 'create case', 'guard_name' => 'web', ], [ 'name' => 'edit case', 'guard_name' => 'web', ], [ 'name' => 'delete case', 'guard_name' => 'web', ], [ 'name' => 'show case', 'guard_name' => 'web', ], [ 'name' => 'manage hearing', 'guard_name' => 'web', ], [ 'name' => 'create hearing', 'guard_name' => 'web', ], [ 'name' => 'edit hearing', 'guard_name' => 'web', ], [ 'name' => 'delete hearing', 'guard_name' => 'web', ], [ 'name' => 'show hearing', 'guard_name' => 'web', ], [ 'name' => 'manage evidence', 'guard_name' => 'web', ], [ 'name' => 'create evidence', 'guard_name' => 'web', ], [ 'name' => 'edit evidence', 'guard_name' => 'web', ], [ 'name' => 'delete evidence', 'guard_name' => 'web', ], [ 'name' => 'show evidence', 'guard_name' => 'web', ], [ 'name' => 'manage document', 'guard_name' => 'web', ], [ 'name' => 'create document', 'guard_name' => 'web', ], [ 'name' => 'edit document', 'guard_name' => 'web', ], [ 'name' => 'delete document', 'guard_name' => 'web', ], [ 'name' => 'show document', 'guard_name' => 'web', ], [ 'name' => 'manage invoice', 'guard_name' => 'web', ], [ 'name' => 'create invoice', 'guard_name' => 'web', ], [ 'name' => 'edit invoice', 'guard_name' => 'web', ], [ 'name' => 'delete invoice', 'guard_name' => 'web', ], [ 'name' => 'show invoice', 'guard_name' => 'web', ], [ 'name' => 'manage invoice payment', 'guard_name' => 'web', ], [ 'name' => 'create invoice payment', 'guard_name' => 'web', ], [ 'name' => 'edit invoice payment', 'guard_name' => 'web', ], [ 'name' => 'delete invoice payment', 'guard_name' => 'web', ], [ 'name' => 'manage expense', 'guard_name' => 'web', ], [ 'name' => 'create expense', 'guard_name' => 'web', ], [ 'name' => 'edit expense', 'guard_name' => 'web', ], [ 'name' => 'delete expense', 'guard_name' => 'web', ], [ 'name' => 'show expense', 'guard_name' => 'web', ], [ 'name' => 'manage expense type', 'guard_name' => 'web', ], [ 'name' => 'create expense type', 'guard_name' => 'web', ], [ 'name' => 'edit expense type', 'guard_name' => 'web', ], [ 'name' => 'delete expense type', 'guard_name' => 'web', ], [ 'name' => 'show expense type', 'guard_name' => 'web', ], ]; Permission::insert($allPermission); // Default Super Admin Role $superAdminRoleData = [ 'name' => 'super admin', 'parent_id' => 0, ]; $systemSuperAdminRole = Role::create($superAdminRoleData); $systemSuperAdminPermission = [ ['name' => 'manage user'], ['name' => 'create user'], ['name' => 'edit user'], ['name' => 'delete user'], ['name' => 'manage contact'], ['name' => 'create contact'], ['name' => 'edit contact'], ['name' => 'delete contact'], ['name' => 'manage note'], ['name' => 'create note'], ['name' => 'edit note'], ['name' => 'delete note'], ['name' => 'manage pricing packages'], ['name' => 'create pricing packages'], ['name' => 'edit pricing packages'], ['name' => 'delete pricing packages'], ['name' => 'manage pricing transation'], ['name' => 'manage coupon'], ['name' => 'create coupon'], ['name' => 'edit coupon'], ['name' => 'delete coupon'], ['name' => 'manage coupon history'], ['name' => 'delete coupon history'], ['name' => 'manage account settings'], ['name' => 'manage password settings'], ['name' => 'manage general settings'], ['name' => 'manage email settings'], ['name' => 'manage payment settings'], ['name' => 'manage seo settings'], ['name' => 'manage google recaptcha settings'], ]; $systemSuperAdminRole->givePermissionTo($systemSuperAdminPermission); // Default Super Admin $superAdminData = [ 'name' => 'Super Admin', 'email' => 'superadmin@gmail.com', 'password' => Hash::make('123456'), 'type' => 'super admin', 'lang' => 'english', 'profile' => 'avatar.png', ]; $systemSuperAdmin = User::create($superAdminData); $systemSuperAdmin->assignRole($systemSuperAdminRole); // Default Owner Role $ownerRoleData = [ 'name' => 'owner', 'parent_id' => $systemSuperAdmin->id, ]; $systemOwnerRole = Role::create($ownerRoleData); // Default Owner All Permissions $systemOwnerPermission = [ ['name' => 'manage user',], ['name' => 'create user',], ['name' => 'edit user',], ['name' => 'delete user',], ['name' => 'manage role',], ['name' => 'create role',], ['name' => 'edit role',], ['name' => 'delete role',], ['name' => 'manage contact',], ['name' => 'create contact',], ['name' => 'edit contact',], ['name' => 'delete contact',], ['name' => 'manage note',], ['name' => 'create note',], ['name' => 'edit note',], ['name' => 'delete note',], ['name' => 'manage logged history',], ['name' => 'delete logged history',], ['name' => 'manage pricing packages',], ['name' => 'buy pricing packages',], ['name' => 'manage pricing transation',], ['name' => 'manage account settings',], ['name' => 'manage password settings',], ['name' => 'manage general settings',], ['name' => 'manage company settings',], ['name' => 'manage email settings',], ['name' => 'manage court',], ['name' => 'create court',], ['name' => 'edit court',], ['name' => 'delete court',], ['name' => 'show court',], ['name' => 'manage practice area',], ['name' => 'create practice area',], ['name' => 'edit practice area',], ['name' => 'delete practice area',], ['name' => 'show practice area',], ['name' => 'manage police station',], ['name' => 'create police station',], ['name' => 'edit police station',], ['name' => 'delete police station',], ['name' => 'show police station',], ['name' => 'manage judge',], ['name' => 'create judge',], ['name' => 'edit judge',], ['name' => 'delete judge',], ['name' => 'show judge',], ['name' => 'manage case stage',], ['name' => 'create case stage',], ['name' => 'edit case stage',], ['name' => 'delete case stage',], ['name' => 'show case stage',], ['name' => 'manage matter',], ['name' => 'create matter',], ['name' => 'edit matter',], ['name' => 'delete matter',], ['name' => 'show matter',], ['name' => 'manage tag',], ['name' => 'create tag',], ['name' => 'edit tag',], ['name' => 'delete tag',], ['name' => 'show tag',], ['name' => 'manage client',], ['name' => 'create client',], ['name' => 'edit client',], ['name' => 'show client',], ['name' => 'delete client',], ['name' => 'manage advocate',], ['name' => 'create advocate',], ['name' => 'edit advocate',], ['name' => 'show advocate',], ['name' => 'delete advocate',], ['name' => 'delete advice',], ['name' => 'manage advice',], ['name' => 'show advice',], ['name' => 'edit advice',], ['name' => 'create advice',], ['name' => 'manage case',], ['name' => 'create case',], ['name' => 'edit case',], ['name' => 'show case',], ['name' => 'delete case',], ['name' => 'manage hearing',], ['name' => 'create hearing',], ['name' => 'edit hearing',], ['name' => 'delete hearing',], ['name' => 'manage evidence',], ['name' => 'create evidence',], ['name' => 'edit evidence',], ['name' => 'show evidence',], ['name' => 'delete evidence',], ['name' => 'manage document',], ['name' => 'create document',], ['name' => 'edit document',], ['name' => 'show document',], ['name' => 'delete document',], ['name' => 'show hearing',], ['name' => 'manage invoice',], ['name' => 'create invoice',], ['name' => 'show invoice',], ['name' => 'edit invoice',], ['name' => 'delete invoice',], ['name' => 'manage invoice payment',], ['name' => 'create invoice payment',], ['name' => 'edit invoice payment',], ['name' => 'delete invoice payment',], ['name' => 'manage expense',], ['name' => 'create expense',], ['name' => 'show expense',], ['name' => 'edit expense',], ['name' => 'delete expense',], ['name' => 'manage expense type',], ['name' => 'create expense type',], ['name' => 'show expense type',], ['name' => 'edit expense type',], ['name' => 'delete expense type',], ]; $systemOwnerRole->givePermissionTo($systemOwnerPermission); // Default Owner Create $ownerData = [ 'name' => 'Owner', 'email' => 'owner@gmail.com', 'password' => Hash::make('123456'), 'type' => 'owner', 'lang' => 'english', 'profile' => 'avatar.png', 'subscription' => 1, 'parent_id' => $systemSuperAdmin->id, ]; $systemOwner = User::create($ownerData); // Default Owner Role Assign $systemOwner->assignRole($systemOwnerRole); defaultAdvocateCreate($systemOwner->id); defaultClientCreate($systemOwner->id); // Default Owner Role $managerRoleData = [ 'name' => 'manager', 'parent_id' => $systemOwner->id, ]; $systemManagerRole = Role::create($managerRoleData); // Default Manager All Permissions $systemManagerPermission = [ ['name' => 'manage user',], ['name' => 'create user',], ['name' => 'edit user',], ['name' => 'delete user',], ['name' => 'manage contact',], ['name' => 'create contact',], ['name' => 'edit contact',], ['name' => 'delete contact',], ['name' => 'manage note',], ['name' => 'create note',], ['name' => 'edit note',], ['name' => 'delete note',], ['name' => 'manage court',], ['name' => 'create court',], ['name' => 'edit court',], ['name' => 'delete court',], ['name' => 'show court',], ['name' => 'manage practice area',], ['name' => 'create practice area',], ['name' => 'edit practice area',], ['name' => 'delete practice area',], ['name' => 'show practice area',], ['name' => 'manage police station',], ['name' => 'create police station',], ['name' => 'edit police station',], ['name' => 'delete police station',], ['name' => 'show police station',], ['name' => 'manage judge',], ['name' => 'create judge',], ['name' => 'edit judge',], ['name' => 'delete judge',], ['name' => 'show judge',], ['name' => 'manage case stage',], ['name' => 'create case stage',], ['name' => 'edit case stage',], ['name' => 'delete case stage',], ['name' => 'show case stage',], ['name' => 'manage matter',], ['name' => 'create matter',], ['name' => 'edit matter',], ['name' => 'delete matter',], ['name' => 'show matter',], ['name' => 'manage tag',], ['name' => 'create tag',], ['name' => 'edit tag',], ['name' => 'delete tag',], ['name' => 'show tag',], ['name' => 'manage client',], ['name' => 'create client',], ['name' => 'edit client',], ['name' => 'show client',], ['name' => 'delete client',], ['name' => 'manage advocate',], ['name' => 'create advocate',], ['name' => 'edit advocate',], ['name' => 'show advocate',], ['name' => 'delete advocate',], ['name' => 'delete advice',], ['name' => 'manage advice',], ['name' => 'show advice',], ['name' => 'edit advice',], ['name' => 'create advice',], ['name' => 'manage case',], ['name' => 'create case',], ['name' => 'edit case',], ['name' => 'show case',], ['name' => 'delete case',], ['name' => 'manage hearing',], ['name' => 'create hearing',], ['name' => 'edit hearing',], ['name' => 'delete hearing',], ['name' => 'manage evidence',], ['name' => 'create evidence',], ['name' => 'edit evidence',], ['name' => 'show evidence',], ['name' => 'delete evidence',], ['name' => 'manage document',], ['name' => 'create document',], ['name' => 'edit document',], ['name' => 'show document',], ['name' => 'delete document',], ['name' => 'show hearing',], ['name' => 'manage invoice',], ['name' => 'create invoice',], ['name' => 'show invoice',], ['name' => 'edit invoice',], ['name' => 'delete invoice',], ['name' => 'manage invoice payment',], ['name' => 'create invoice payment',], ['name' => 'edit invoice payment',], ['name' => 'delete invoice payment',], ['name' => 'manage expense',], ['name' => 'create expense',], ['name' => 'show expense',], ['name' => 'edit expense',], ['name' => 'delete expense',], ['name' => 'manage expense type',], ['name' => 'create expense type',], ['name' => 'show expense type',], ['name' => 'edit expense type',], ['name' => 'delete expense type',], ]; $systemManagerRole->givePermissionTo($systemManagerPermission); // Default Manager Create $managerData = [ 'name' => 'Manager', 'email' => 'manager@gmail.com', 'password' => Hash::make('123456'), 'type' => 'manager', 'lang' => 'english', 'profile' => 'avatar.png', 'subscription' => 0, 'parent_id' => $systemOwner->id, ]; $systemManager = User::create($managerData); // Default Manager Role Assign $systemManager->assignRole($systemManagerRole); // Subscription default data $subscriptionData = [ 'title' => 'Basic', 'package_amount' => 0, 'interval' => 'Unlimited', 'user_limit' => 10, 'client_limit' => 10, 'advocate_limit' => 10, 'enabled_logged_history' => 1, ]; \App\Models\Subscription::create($subscriptionData); } } }