<?php


use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;


class PermissionTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    // php artisan db:seed --class=PermissionTableSeeder
    public function run()
    {
       $permissions = [

            // Setting
           'Backup-Database',
           'Log-Activity-List',

           'Bank-List',
           'Bank-Create',
           'Bank-Edit',


            // User Management
           'Role-List',
           'Role-Create',
           'Role-Edit',
           'Role-Delete',

           'User-List',
           'User-Create',
           'User-Edit',
           'User-Delete',

           'Position-List',
           'Position-Create',
           'Position-Edit',
           'Position-Delete',

           
           // Agency
           'Agency-List',
           'Agency-Chart',
           'Agency-Create',
           'Agency-Delete',

           // Regiser Funds
           'Register-Funds-List',
           'Register-Funds-Approved',
           'Register-Funds-Rejected',

           // Deposite Funds
           'Request-Funds-List',
           'Request-Funds-Approved',
           'Request-Funds-Rejected',

           // Withdraw
           'Withdraw-Funds-List',
           'Withdraw-Funds-Approved',
           'Withdraw-Funds-Rejected',

           'History-Funds-List',


           // Manage Stock
           'Project-List',
           'Project-Create',
           'Project-Edit',
           'Project-Delete',

           //Category
           'Categories-List',
           'Categories-Create',
           'Categories-Edit',
           'Categories-Delete',

           //Item
           'Items-List',
           'Items-Create',
           'Items-Edit',
           'Items-Delete',

           //Accessory
           'Accessories-Feature-List',
           'Accessories-Feature-Create',
           'Accessories-Feature-Edit',
           'Accessories-Feature-Delete',

           // // Operation Deposite
           'Deposite-List',
           // Deposite Installment
           'Deposite-Installment',
           'Deposite-Cancel',

           // Operation External
           'External-Deposite-List',
           // 'External-Deposite-Print',
           // 'External-Deposite-Cancel',

           'External-Client-List',
           'External-Client-AddPayment',
           'External-Client-PaymentCollection',
           'External-Commission-Item',


           // Accounting
           'Accounting-Payble-List',
           'Accounting-Payble-Create',
           'Accounting-Payble-Edit',

           'Accounting-Liability-List',
           'Accounting-Liability-Create',
           'Accounting-Liability-Edit',

           'Accounting-Capitalize-List',
           'Accounting-Capitalize-Create',
           'Accounting-Capitalize-Edit',


           'Accounting-Exspense-List',
           'Accounting-Exspense-Create',
           'Accounting-Exspense-Edit',

           'Accounting-Withdrawal-List',
           'Accounting-Withdrawal-Create',
           'Accounting-Withdrawal-Edit',

           'Accounting-Withdrawal-Funds-List',
           'Accounting-Withdrawal-Funds-Approve',

           // Accounting Report
           'Accounting-Report-Capitalize-List',
           'Accounting-Report-Income-List',
           'Accounting-Report-Expense-List',
           'Accounting-Report-Withdrawal-List',
           'Accounting-Report-Liability-List',
           'Accounting-Report-IncomeStatement-List',
           'Accounting-Report-Cashonhand-List',


           // Booking Report
           'Booking-Report-Booking-List',
           'Booking-Report-Client-Contract-List',
           'Booking-Report-Commission-List',

           // Operation Report 
           'Payment-Collection-List',
           'Payment-Collectied-List',
           'Payment-Completed-List',
           'Payment-Client-List',

           // Report Stock
           'Items-Stock-List',
           'Items-Sold-List',


           // Account Seeting
           'Account-Type-List',
           'Account-Type-Create',
           'Account-Type-Edit',

           'Account Chart List',
           'Account-Chart-Create',
           'Account-Chart-Edit',

           
        ];


        foreach ($permissions as $permission) {
             Permission::create(['name' => $permission]);
        }
    }
}