id = $data['id']; $this->created = Carbon::createFromFormat('Y-m-d H:i:s.u', $data['created']); $this->updated = Carbon::createFromFormat('Y-m-d H:i:s.u', $data['updated']); $this->balance = new Amount($data['balance']); $this->currency = $data['currency']; $this->dailyLimit = new Amount($data['daily_limit']); $this->dailySpent = new Amount($data['daily_spent']); $this->description = $data['description']; $this->publicUuid = $data['public_uuid']; $this->status = $data['status']; $this->subStatus = $data['sub_status']; $this->userId = $data['user_id']; $this->status = $data['status']; $this->subStatus = $data['sub_status']; $this->monetaryAccountProfile = new MonetaryAccountProfile($data['monetary_account_profile']); $this->setting = new MonetaryAccountSetting($data['setting']); $this->overdraftLimit = new Amount($data['overdraft_limit']); $this->publicUuid = $data['public_uuid']; // create aliases: foreach ($data['alias'] as $alias) { $this->aliases[] = new Alias($alias); } /** @var array $filter */ foreach ($data['notification_filters'] as $filter) { $this->notificationFilters[] = new NotificationFilter($filter); } return; } /** * @return array */ public function getAliases(): array { return $this->aliases; } /** * @return Amount */ public function getBalance(): Amount { return $this->balance; } /** * @return string */ public function getCurrency(): string { return $this->currency; } /** * @return string */ public function getDescription(): string { return $this->description; } /** * @return int */ public function getId(): int { return $this->id; } /** * @return MonetaryAccountSetting */ public function getSetting(): MonetaryAccountSetting { return $this->setting; } }