argument('name'); $userId = $this->argument('userId'); $guardName = $this->argument('guard'); $userModelClass = $this->argument('userModelNamespace'); if (! $permissionRegistrar->teams && $this->option('team-id')) { $this->warn('Teams feature disabled, argument --team-id has no effect. Either enable it in permissions config file or remove --team-id parameter'); return; } // Validate that the model class exists and is instantiable if (! class_exists($userModelClass)) { $this->error("User model class [{$userModelClass}] does not exist."); return Command::FAILURE; } $user = (new $userModelClass)::find($userId); if (! $user) { $this->error("User with ID {$userId} not found."); return Command::FAILURE; } $teamIdAux = getPermissionsTeamId(); setPermissionsTeamId($this->option('team-id') ?: null); /** @var Role $roleClass */ $roleClass = app(RoleContract::class); $role = $roleClass::findOrCreate($roleName, $guardName); $user->assignRole($role); setPermissionsTeamId($teamIdAux); $this->info("Role `{$role->name}` assigned to user ID {$userId} successfully."); return Command::SUCCESS; } }