/** * @param WalletId $walletId * @return Wallet */ public function walletOfId(WalletId $walletId) { /** @var Result $result */ $result = $this->repository->query()->where('id', '==', $walletId->getValue())->execute(); if ($result === false) { return null; } if ($result->count() == 0) { return null; } $wallet = $this->documentToEncryptedWallet($result->first()); return $wallet; }
/** * @param WalletId $walletId * @return EncryptedTransaction */ public function transactionsOfWalletId(WalletId $walletId) { /** @var EncryptedTransactionDocument[] $result */ $result = $this->repository->query()->where('walletId', '==', $walletId->getValue())->execute(); $encryptedTransactions = $this->documentArrayToObjectArray($result); return $encryptedTransactions; }
/** * @param WalletId $walletId * @return EncryptedAddress[] */ public function addressesOfWalletId(WalletId $walletId) { $result = $this->repository->query()->where('walletId', '==', $walletId->getValue())->execute(); if ($result === false) { return array(); } if ($result->count() == 0) { return array(); } /** @var EncryptedAddressDocument[] $encryptedAddressDocuments */ $encryptedAddressDocuments = $result; $encryptedAddresses = $this->documentArrayToObjectArray($encryptedAddressDocuments); return $encryptedAddresses; }