use Psecio\Gatekeeper\Gatekeeper as g; $app->group('/permission', function () use($app, $view) { $app->get('/', function () use($app, $view) { $permissions = g::findPermissions(); $perms = []; foreach ($permissions as $permission) { $perm = $permission->toArray(); $perm['expired'] = $permission->isExpired(); $perms[] = $perm; } $view->render('json.php', $perms); }); $app->post('/', function () use($app, $view) { $post = json_decode($app->request->getBody(true)); $data = ['result' => g::createPermission(['name' => $post->name, 'description' => $post->description])]; $view->render('json.php', $data); }); $app->group('/:id', function () use($app, $view) { $app->get('/', function ($id) use($app, $view) { $perm = is_numeric($id) ? g::findPermissionById($id) : g::findPermissionByName($id); $view->render('json.php', $perm->toArray()); }); $app->delete('/', function ($id) use($app, $view) { $perm = is_numeric($id) ? g::findPermissionById($id) : g::findPermissionByName($id); $ds = g::getDatasource(); $ds->delete($perm); $view->render('json.php', $perm->toArray()); }); $app->get('/group', function ($id) use($app, $view) { $groups = g::findPermissionById($id)->groups;