*/ use HasFactory, HasUuids, SoftDeletes; protected $fillable = [ 'user_id', 'provider', 'authorization_id', 'session_id', 'aspsp_name', 'aspsp_country', 'aspsp_logo', 'status', 'valid_until', 'last_synced_at', 'error_message', 'pending_accounts_data', ]; protected function casts(): array { return [ 'status' => BankingConnectionStatus::class, 'valid_until' => 'datetime', 'last_synced_at' => 'datetime', 'pending_accounts_data' => 'array', ]; } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function accounts(): HasMany { return $this->hasMany(Account::class); } public function isActive(): bool { return $this->status === BankingConnectionStatus::Active; } public function hasPendingAccounts(): bool { return ! empty($this->pending_accounts_data); } public function isExpired(): bool { return $this->status === BankingConnectionStatus::Expired || ($this->valid_until && $this->valid_until->isPast()); } }