namespace BookStack\Console\Commands;
-use BookStack\Services\RestrictionService;
+use BookStack\Services\PermissionService;
use Illuminate\Console\Command;
class RegeneratePermissions extends Command
*
* @var string
*/
- protected $signature = 'permissions:regen';
+ protected $signature = 'bookstack:regenerate-permissions {--database= : The database connection to use.}';
/**
* The console command description.
/**
* The service to handle the permission system.
*
- * @var RestrictionService
+ * @var PermissionService
*/
- protected $restrictionService;
+ protected $permissionService;
/**
* Create a new command instance.
*
- * @param RestrictionService $restrictionService
+ * @param PermissionService $permissionService
*/
- public function __construct(RestrictionService $restrictionService)
+ public function __construct(PermissionService $permissionService)
{
- $this->restrictionService = $restrictionService;
+ $this->permissionService = $permissionService;
parent::__construct();
}
*/
public function handle()
{
- $this->restrictionService->buildEntityPermissions();
+ $connection = \DB::getDefaultConnection();
+ if ($this->option('database') !== null) {
+ \DB::setDefaultConnection($this->option('database'));
+ $this->permissionService->setConnection(\DB::connection($this->option('database')));
+ }
+
+ $this->permissionService->buildJointPermissions();
+
+ \DB::setDefaultConnection($connection);
+ $this->comment('Permissions regenerated');
}
}