'auth', 'modules_display_name' => 'Authentication', 'modules_description' => 'Authentication and authorization module for user management', 'modules_version' => '1.0.0', 'modules_author' => 'SysCMS Team', 'modules_ative' => true, 'modules_public' => true, 'modules_blocked' => true, // Core module, cannot be disabled easily 'modules_dependencies' => [], 'modules_permissions' => [ "auth.login", "auth.logout", "auth.register", "auth.profile", "auth.password.reset", "auth.password.change" ], 'modules_settings' => [ "allow_registration" => true, "require_email_verification" => false, "password_min_length" => 8, "session_timeout" => 120 ], 'modules_path' => 'modules/auth', 'modules_namespace' => 'Modules\\Auth', 'modules_icon' => 'bi bi-person-check', 'menu_side_bar' => true, 'menu_nav_bar' => true, 'modules_order' => 1, 'modules_install_date' => date('Y-m-d H:i:s'), 'modules_update_date' => date('Y-m-d H:i:s') ]; // Check if module already exists $existingModule = Module::where('modules_name', 'auth')->first(); if (!$existingModule) { $module = Module::create($moduleData); // Associate with all existing companies (bus_modules) // Assuming Company model and table exist. if (Capsule::schema()->hasTable('bus')) { $companies = Company::all(); foreach ($companies as $company) { $exists = Capsule::table('bus_modules') ->where('bus_modules_bus_id', $company->bus_id) ->where('bus_modules_module_id', $module->modules_id) ->exists(); if (!$exists) { Capsule::table('bus_modules')->insert([ 'bus_modules_bus_id' => $company->bus_id, 'bus_modules_module_id' => $module->modules_id, 'bus_modules_is_enabled' => true, 'bus_modules_settings' => json_encode([]), 'bus_modules_enabled_by' => 1, 'bus_modules_enabled_at' => date('Y-m-d H:i:s'), 'bus_modules_show_public_nav' => true, 'bus_modules_show_dashboard_nav' => true, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ]); } } } } } public function down() { $module = Module::where('modules_name', 'auth')->first(); if ($module) { Capsule::table('bus_modules')->where('bus_modules_module_id', $module->modules_id)->delete(); $module->delete(); } } }