*/ use HasFactory, HasUuids, SoftDeletes; protected $fillable = [ 'user_id', 'name', 'name_iv', 'bank_id', 'currency_code', 'type', 'encrypted', 'banking_connection_id', 'external_account_id', 'linked_at', ]; protected function casts(): array { return [ 'type' => AccountType::class, 'encrypted' => 'boolean', 'linked_at' => 'datetime', ]; } /** @return BelongsTo */ public function user(): BelongsTo { return $this->belongsTo(User::class); } /** @return BelongsTo */ public function bank(): BelongsTo { return $this->belongsTo(Bank::class); } /** @return HasMany */ public function transactions(): HasMany { return $this->hasMany(Transaction::class); } /** @return HasMany */ public function balances(): HasMany { return $this->hasMany(AccountBalance::class); } /** @return BelongsTo */ public function bankingConnection(): BelongsTo { return $this->belongsTo(BankingConnection::class); } public function isConnected(): bool { return $this->banking_connection_id !== null; } public function isLinked(): bool { return $this->linked_at !== null; } }