belongsTo(User::class); } public function category(): BelongsTo { return $this->belongsTo(WebsiteHelpCenterCategory::class); } public function replies(): HasMany { return $this->hasMany(WebsiteHelpCenterTicketReply::class, 'ticket_id'); } public function canDeleteTicket() { return $this->user_id === Auth::id() || hasPermission('delete_website_tickets'); } public function canManageTicket() { return $this->user_id === Auth::id() || hasPermission('manage_website_tickets'); } public function canCloseTicket() { return $this->user_id === Auth::id() || hasPermission('manage_website_tickets'); } public function isOpen() { return $this->open || hasPermission('manage_website_tickets'); } protected function content(): \Illuminate\Database\Eloquent\Casts\Attribute { return \Illuminate\Database\Eloquent\Casts\Attribute::make(get: fn($value) => Purify::clean($value)); } }