user(); if (! $admin instanceof \App\Models\AdminUser) { return false; } $agentNode = $this->route('agent_node'); if (! $agentNode instanceof \App\Models\AgentNode) { return false; } if (! \App\Support\AdminAgentScope::nodeVisibleTo($admin, $agentNode)) { return false; } if (! \App\Support\AdminAgentScope::nodeProfileEditableBy($admin, $agentNode)) { return false; } return true; } protected function failedAuthorization(): void { abort(403, 'admin.permission_denied'); } protected function prepareForValidation(): void { $this->prepareAgentProfileFieldsForValidation(); } /** @return array */ public function rules(): array { return $this->agentProfileFieldRules(); } }