<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;

class AddingModules extends Migration
{
    public function up()
    {
        if (!DB::table('tb_module')->where('module_name', 'ads')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'ads',
                'module_title' => 'Ads',
                'module_frontend_slug' => 'ads',
                'module_desc' => 'Module for ads',
                'module_db_key' => 'id',
                'module_db' => 'ads',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'competitions')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'competitions',
                'module_title' => 'Competitions',
                'module_frontend_slug' => 'competitions',
                'module_desc' => 'Module for competitions',
                'module_db_key' => 'id',
                'module_db' => 'competitions',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'events')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'events',
                'module_title' => 'Events',
                'module_frontend_slug' => 'events',
                'module_desc' => 'Module for events',
                'module_db_key' => 'id',
                'module_db' => 'events',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'loyaltyprograms')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'loyaltyprograms',
                'module_title' => 'Loyalty Programs',
                'module_frontend_slug' => 'loyaltyprograms',
                'module_desc' => 'Module for loyalty programs',
                'module_db_key' => 'id',
                'module_db' => 'loyalty_programs',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'fraudrules')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'fraudrules',
                'module_title' => 'Fraud Rules',
                'module_frontend_slug' => 'fraudrules',
                'module_desc' => 'Module for fraud rules',
                'module_db_key' => 'id',
                'module_db' => 'fraud_rules',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'partnerrequests')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'partnerrequests',
                'module_title' => 'Partner Requests',
                'module_frontend_slug' => 'partnerrequests',
                'module_desc' => 'Module for partner requests',
                'module_db_key' => 'id',
                'module_db' => 'partner_requests',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'payoutmethodfees')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'payoutmethodfees',
                'module_title' => 'Payout Method Fees',
                'module_frontend_slug' => 'payoutmethodfees',
                'module_desc' => 'Module for payout method fees',
                'module_db_key' => 'id',
                'module_db' => 'payout_method_fees',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'positions')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'positions',
                'module_title' => 'Positions',
                'module_frontend_slug' => 'positions',
                'module_desc' => 'Module for positions',
                'module_db_key' => 'id',
                'module_db' => 'positions',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'regions')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'regions',
                'module_title' => 'Regions',
                'module_frontend_slug' => 'regions',
                'module_desc' => 'Module for regions',
                'module_db_key' => 'id',
                'module_db' => 'regions',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'routesredirect')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'routesredirect',
                'module_title' => 'routes Redirect',
                'module_frontend_slug' => 'routesredirect',
                'module_desc' => 'Module for routes redirect',
                'module_db_key' => 'id',
                'module_db' => 'routes_redirect',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'storedeals')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'storedeals',
                'module_title' => 'Store Deals',
                'module_frontend_slug' => 'storedeals',
                'module_desc' => 'Module for store deals',
                'module_db_key' => 'id',
                'module_db' => 'store_deals',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'stripbanners')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'stripbanners',
                'module_title' => 'Strip Banners',
                'module_frontend_slug' => 'stripbanners',
                'module_desc' => 'Module for strip banners',
                'module_db_key' => 'id',
                'module_db' => 'strip_banners',
                'module_type' => 'native'
            ]);
        }
        if (!DB::table('tb_module')->where('module_name', 'tasks')->first()) {
            DB::table('tb_module')->insert([
                'module_name' => 'tasks',
                'module_title' => 'Tasks',
                'module_frontend_slug' => 'tasks',
                'module_desc' => 'Module for tasks',
                'module_db_key' => 'id',
                'module_db' => 'tasks',
                'module_type' => 'native'
            ]);
        }
    }

    public
    function down()
    {
        DB::table('tb_module')->where('module_name', 'ads')->delete();
        DB::table('tb_module')->where('module_name', 'competitions')->delete();
        DB::table('tb_module')->where('module_name', 'events')->delete();
        DB::table('tb_module')->where('module_name', 'loyaltyprograms')->delete();
        DB::table('tb_module')->where('module_name', 'fraudrules')->delete();
        DB::table('tb_module')->where('module_name', 'partnerrequests')->delete();
        DB::table('tb_module')->where('module_name', 'payoutmethodfees')->delete();
        DB::table('tb_module')->where('module_name', 'positions')->delete();
        DB::table('tb_module')->where('module_name', 'regions')->delete();
        DB::table('tb_module')->where('module_name', 'routesredirect')->delete();
        DB::table('tb_module')->where('module_name', 'storedeals')->delete();
        DB::table('tb_module')->where('module_name', 'stripbanners')->delete();
        DB::table('tb_module')->where('module_name', 'tasks')->delete();
    }
}
