コード例 #1
0
 public function run()
 {
     DB::table('permissions')->truncate();
     $permissions = [];
     $routeCollection = Route::getRoutes();
     /*
      ** All route permission
      */
     foreach ($routeCollection as $value) {
         $action = $value->getAction();
         if (isset($action['prefix']) && ($action['prefix'] = '/api/v1/' && isset($action['as']))) {
             $route = explode(".", $action['as'], 3);
             $route = $route[2];
             $route_name = ucfirst(preg_replace('/\\./', ' ', $route));
             $route_group = explode(" ", $route_name);
             $route_group = $route_group[0];
             $permissions[] = ['name' => $route_name, 'name_group' => $route_group, 'slug' => $route, 'slug_view' => 'app.' . $route, 'created_at' => date("Y-m-d H:i:s"), 'updated_at' => date("Y-m-d H:i:s")];
         }
     }
     /*
      ** Custom route permission
      */
     $custom_permission = [['slug_view' => 'app.multimedia.upload'], ['slug_view' => 'app.activityLogs.index']];
     /*
      ** Re-define custom permission
      */
     foreach ($custom_permission as $value) {
         $slug_view = explode(".", $value['slug_view'], 2);
         $name_group = explode(".", $slug_view[1]);
         $route_name = ucfirst($name_group[0]) . ' ' . ucfirst($name_group[1]);
         $name_group = ucfirst($name_group[0]);
         $slug = $slug_view[1];
         $permissions[] = ['name' => $route_name, 'name_group' => $name_group, 'slug' => $slug, 'slug_view' => $value['slug_view'], 'created_at' => date("Y-m-d H:i:s"), 'updated_at' => date("Y-m-d H:i:s")];
     }
     Permission::insert($permissions);
 }