*/ public function rules(): array { $agentNode = $this->route('agent_node'); $ownerId = is_object($agentNode) ? (int) $agentNode->id : (int) $agentNode; return [ 'slug' => [ 'required', 'string', 'max:64', 'regex:/^[a-z0-9_\\-]+$/', Rule::unique('admin_roles', 'slug')->where( static fn ($query) => $query->where('owner_agent_id', $ownerId), ), ], 'name' => ['required', 'string', 'max:128'], 'description' => ['nullable', 'string', 'max:65535'], 'status' => ['sometimes', 'integer', 'in:0,1'], 'permission_slugs' => ['sometimes', 'array'], 'permission_slugs.*' => ['string', 'max:128'], ]; } }