<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
            if (!Schema::hasColumn('mainmenu', 'module_name')) {
                // Create module_name column
                Schema::table('mainmenu', function (Blueprint $table) {
                    $table->string('module_name')->default('menu.addons_management');
                });
            }

            // Update side menu items
            DB::table('mainmenu')->where('module_name', 'lists.title')->update(['module_name' => 'menu.lists']);
            DB::table('mainmenu')->where('module_name', 'lists.add_new.page.title')->update(['module_name' => 'menu.add_list']);
            DB::table('mainmenu')->where('module_name', 'lists.contact_lists.page.title')->update(['module_name' => 'menu.contact_lists']);
            DB::table('mainmenu')->where('module_name', 'custom_fields.page.title')->update(['module_name' => 'menu.custom_field']);
            DB::table('mainmenu')->where('module_name', 'segments.page.title')->update(['module_name' => 'menu.segments']);
            DB::table('mainmenu')->where('module_name', 'suppression.title')->update(['module_name' => 'menu.suppression']);
            DB::table('mainmenu')->where('module_name', 'suppression.email.page.title')->update(['module_name' => 'menu.email_suppression']);
            DB::table('mainmenu')->where('module_name', 'suppression.domain.page.title')->update(['module_name' => 'menu.domain_suppression']);
            DB::table('mainmenu')->where('module_name', 'suppression.ip.page.title')->update(['module_name' => 'menu.ip_suppression']);
            DB::table('mainmenu')->where('module_name', 'contacts.title')->update(['module_name' => 'menu.contacts']);
            DB::table('mainmenu')->where('module_name', 'contacts.add_new.page.title')->update(['module_name' => 'menu.add_contact']);
            DB::table('mainmenu')->where('module_name', 'contacts.page.title')->update(['module_name' => 'menu.view_contacts']);
            DB::table('mainmenu')->where('module_name', 'contacts.import_contacts')->update(['module_name' => 'menu.import_contacts']);
            DB::table('mainmenu')->where('module_name', 'contacts.bulk_update.page.title')->update(['module_name' => 'menu.bulk_update']);
            DB::table('mainmenu')->where('module_name', 'broadcasts.page.title')->update(['module_name' => 'menu.campaigns']);
            DB::table('mainmenu')->where('module_name', 'broadcasts.title')->update(['module_name' => 'menu.broadcasts']);
            DB::table('mainmenu')->where('module_name', 'evergreen.menu_title')->update(['module_name' => 'menu.evergreen_campaigns']);
            DB::table('mainmenu')->where('module_name', 'drip_campaigns.page.title')->update(['module_name' => 'menu.drip_campaigns']);
            DB::table('mainmenu')->where('module_name', 'split_tests.page.title')->update(['module_name' => 'menu.split_test']);
            DB::table('mainmenu')->where('module_name', 'spintags.page.title')->update(['module_name' => 'menu.spintags']);
            DB::table('mainmenu')->where('module_name', 'dynamictags.page.title')->update(['module_name' => 'menu.dynamic_content_tag']);
            DB::table('mainmenu')->where('module_name', 'schedule_broadcast.view.page.title')->update(['module_name' => 'menu.view_scheduled']);
            DB::table('mainmenu')->where('module_name', 'common.table_heading.actions')->update(['module_name' => 'menu.actions']);
            DB::table('mainmenu')->where('module_name', 'schedule_broadcast.schedule')->update(['module_name' => 'menu.schedule']);
            DB::table('mainmenu')->where('module_name', 'triggers.title')->update(['module_name' => 'menu.triggers']);
            DB::table('mainmenu')->where('module_name', 'common.label.setup')->update(['module_name' => 'menu.setup']);
            DB::table('mainmenu')->where('module_name', 'bounce_addresses.page.title')->update(['module_name' => 'menu.bounce_addresses']);
            DB::table('mainmenu')->where('module_name', 'bounce_rules.page.title')->update(['module_name' => 'menu.bounce_rule']);
            DB::table('mainmenu')->where('module_name', 'sending_domains.page.title')->update(['module_name' => 'menu.sending_domain']);
            DB::table('mainmenu')->where('module_name', 'sending_nodes.page.title')->update(['module_name' => 'menu.sending_node']);
            DB::table('mainmenu')->where('module_name', 'web_forms.page.title')->update(['module_name' => 'menu.webform']);
            DB::table('mainmenu')->where('module_name', 'fbl.page.title')->update(['module_name' => 'menu.feedback_loop']);
            DB::table('mainmenu')->where('module_name', 'staff.title')->update(['module_name' => 'menu.staff_management']);
            DB::table('mainmenu')->where('module_name', 'staff.admin.page.title')->update(['module_name' => 'menu.administrators']);
            DB::table('mainmenu')->where('module_name', 'staff.role.page.title')->update(['module_name' => 'menu.admin_roles']);
            DB::table('mainmenu')->where('module_name', 'multithreading.page.title')->update(['module_name' => 'menu.multithreading']);
            DB::table('mainmenu')->where('module_name', 'templates.page.title')->update(['module_name' => 'menu.templates']);
            DB::table('mainmenu')->where('module_name', 'addons.view_all')->update(['module_name' => 'menu.addons']);
            DB::table('mainmenu')->where('module_name', 'users.page.title')->update(['module_name' => 'menu.users']);
            DB::table('mainmenu')->where('module_name', 'users.packages.page.title')->update(['module_name' => 'menu.packages']);
            DB::table('mainmenu')->where('module_name', 'users.roles.page.title')->update(['module_name' => 'menu.user_roles']);
            DB::table('mainmenu')->where('module_name', 'settings.title')->update(['module_name' => 'menu.settings']);
            DB::table('mainmenu')->where('module_name', 'settings.application.page.title')->update(['module_name' => 'menu.application_settings']);
            DB::table('mainmenu')->where('module_name', 'settings.cron.page.title')->update(['module_name' => 'menu.cron_settings']);
            DB::table('mainmenu')->where('module_name', 'settings.header.page.title')->update(['module_name' => 'menu.global_headers']);
            DB::table('mainmenu')->where('module_name', 'settings.license.page.title')->update(['module_name' => 'menu.licensing']);
            DB::table('mainmenu')->where('module_name', 'settings.api.page.title')->update(['module_name' => 'menu.api_key']);
            DB::table('mainmenu')->where('module_name', 'settings.branding.page.title')->update(['module_name' => 'menu.branding']);
            DB::table('mainmenu')->where('module_name', 'settings.primary_domain.page.title')->update(['module_name' => 'menu.primary_domain']);
            DB::table('mainmenu')->where('module_name', 'statistics.title')->update(['module_name' => 'menu.statistics']);
            DB::table('mainmenu')->where('module_name', 'statistics.broadcast.page.title')->update(['module_name' => 'menu.broadcast_stats']);
            DB::table('mainmenu')->where('module_name', 'statistics.evergreen.page.title')->update(['module_name' => 'menu.evergreen_stats']);
            DB::table('mainmenu')->where('module_name', 'statistics.trigger.page.title')->update(['module_name' => 'menu.trigger_stats']);
            DB::table('mainmenu')->where('module_name', 'tools.title')->update(['module_name' => 'menu.tools']);
            DB::table('mainmenu')->where('module_name', 'logs.title')->update(['module_name' => 'menu.logs']);
            DB::table('mainmenu')->where('module_name', 'logs.debug.page.title')->update(['module_name' => 'menu.debug_logs']);
            DB::table('mainmenu')->where('module_name', 'logs.activity.page.title')->update(['module_name' => 'menu.activity_logs']);
            DB::table('mainmenu')->where('module_name', 'logs.authentication.page.title')->update(['module_name' => 'menu.authentication_logs']);
            DB::table('mainmenu')->where('module_name', 'logs.callbacks.page.title')->update(['module_name' => 'menu.esp_callback_logs']);
            DB::table('mainmenu')->where('module_name', 'logs.jobs.page.title')->update(['module_name' => 'menu.failed_job_logs']);
            DB::table('mainmenu')->where('module_name', 'tools.update')->update(['module_name' => 'menu.update']);
            DB::table('mainmenu')->where('module_name', 'tools.cron_status.page.title')->update(['module_name' => 'menu.cron_status']);
            DB::table('mainmenu')->where('module_name', 'tools.phpinfo.page.title')->update(['module_name' => 'menu.php_info']);
            DB::table('mainmenu')->where('module_name', 'dbcheck.title')->update(['module_name' => 'menu.db_check']);
            DB::table('mainmenu')->where('module_name', 'tools.exported_files.label.title')->update(['module_name' => 'menu.exported_files']);
            DB::table('mainmenu')->where('module_name', 'lang.menu.item.langs')->update(['module_name' => 'menu.lang']);
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {

    }
};
