File: /var/www/ipsremont-demo/database/migrations/2021_03_21_115734_hide_admin_permissions.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use App\Models\Role;
use Illuminate\Support\Facades\DB;
class HideAdminPermissions extends Migration
{
/**
* @return string[][]
*/
protected function getPermissions()
{
return ['orders', 'repairs', 'address', 'shipments_view','act_tc_view', ];
}
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
$roles = Role::where('type', Role::admin)->get();
$permissions = $this->getPermissions();
$permissionsIds = \App\Models\Permission::query()
->whereIn('slug', $permissions)
->get()
->pluck('id');
foreach ($roles as $role) {
$allPermissions = $role->permissions()
->whereNotIn('id', $permissionsIds)
->get()
->pluck('id');
$role->permissions()->sync($allPermissions);
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}