<?php

use Illuminate\Database\Migrations\Migration;
use app\Authority;

class ChangeWaybillAuthAndAddDischargeTaskAuth extends Migration
{
    private $auths = [
        '运输管理-卸货',
        '运输管理-卸货-查询',
        '运输管理-卸货-编辑',
        '运输管理-卸货-创建',
        '运输管理-卸货-删除',

        '运输管理-卸货-结算报表-查询',

        '服务商',
        '服务商-查询',
        '服务商-创建',
        '服务商-编辑',
        '服务商-删除',

        '服务商-对账单-查询',

    ];

    private $changeAuths = [
        '运输管理-查询' => '运输管理-运单-查询',
        '运输管理-删除' => '运输管理-运单-删除',
        '运输管理-运单审核' => '运输管理-运单-运单审核',
        '运输管理-运单编辑' => '运输管理-运单-运单编辑',
        '运输管理-录入' => '运输管理-运单-录入',
        '运输管理-可见费用项' => '运输管理-运单-可见费用项',
        '运输管理-运费' => '运输管理-运单-运费',
        '运输管理-调度' => '运输管理-运单-调度',
        '运输管理-置顶' => '运输管理-运单-置顶',

        '运输管理-图片上传' => '运输管理-运单-图片上传',
        '运输管理-图片删除' => '运输管理-运单-图片删除',
        '运输管理-发运' => '运输管理-运单-发运',

    ];

    public function up()
    {
        foreach ($this->auths as $auth){
            Authority::query()->firstOrCreate(["name"=>$auth,"alias_name"=>$auth]);
        }
        foreach ($this->changeAuths as $name=>$changeName) {
            Authority::query()->where('name',$name)->update([
                'name'=> $changeName,
                'alias_name'=> $changeName,
            ]);
        }
    }

    public function down()
    {
        Authority::query()->whereIn('name',$this->auths);
        foreach ($this->changeAuths as $changeName=>$name) {
            Authority::query()->where('name',$name)->update([
                'name'=> $changeName,
                'alias_name'=> $changeName,
            ]);
        }
    }
}
