'boolean', 'clicks_total' => 'integer', 'unique_clicks_total' => 'integer', 'last_clicked_at' => 'datetime', 'expires_at' => 'datetime', ]; public function user(): BelongsTo { return $this->belongsTo(User::class); } public function clicks(): HasMany { return $this->hasMany(LinkClick::class); } public function publicUrl(): string { return self::publicBaseUrl().'/'.$this->slug; } public static function publicBaseUrl(): string { $domain = (string) config('link.public_domain', 'ladl.link'); return 'https://'.$domain; } public function isExpired(): bool { return $this->expires_at !== null && $this->expires_at->isPast(); } }