Skip to content

Commit

Permalink
Transaction: fix unset amount property
Browse files Browse the repository at this point in the history
  • Loading branch information
h4kuna committed Feb 9, 2023
1 parent 6f2b75b commit 00a938d
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 10 deletions.
6 changes: 3 additions & 3 deletions src/Read/Transaction.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ class Transaction
#[Column(id: 0)]
public \DateTimeImmutable $moveDate;

#[Column(id: 1)]
public float $amount;

/** @deprecated use amount */
#[Column(id: 1)]
public float $volume;

#[Column(id: 1)]
public float $amount;

#[Column(id: 2)]
public string $toAccount;

Expand Down
18 changes: 16 additions & 2 deletions src/Read/TransactionFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ public function create(\stdClass $source): object
$method = 'set' . ucfirst($propertyName);
if (method_exists($transaction, $method)) {
$transaction->$method($value);
} elseif(property_exists($transaction, $propertyName)) {
} elseif (property_exists($transaction, $propertyName)) {
$transaction->$propertyName = $this->castValue($value, $type);
} else {
throw new InvalidArgument(sprintf('Missing property "%s" or method "%s" for set value.', $propertyName, $method));
}
}

return $transaction;
return $this->backCompatibility($transaction);
}


Expand Down Expand Up @@ -95,4 +95,18 @@ protected function customFormat(mixed $value, \ReflectionNamedType $type): mixed
throw new InvalidArgument(sprintf('Values "%s" does not have support type "%s".', strval($value), $type->getName()));
}


/**
* @template T of object
* @param T $transaction
* @return T
*/
protected function backCompatibility(object $transaction): object
{
assert($transaction instanceof Transaction);
$transaction->volume = $transaction->amount;

return $transaction;
}

}
2 changes: 1 addition & 1 deletion tests/data/2015-01-01-2015-04-16-transactions.srlz
Original file line number Diff line number Diff line change
@@ -1 +1 @@
a:10:{i:0;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-01-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:1.39;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:16:"Připsaný úrok";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:7963750704;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7139752765;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:1;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-01-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:-0.2;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:21:"Odvod daně z úroků";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:7963750704;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7139752766;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:2;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-02-06 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:-4002;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:4:"0558";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";s:7:"pujčka";s:4:"type";s:30:"Platba převodem uvnitř banky";s:7:"whoDone";s:17:"Matějček, Milan";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:7973780617;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7142478437;s:7:"comment";s:7:"pujčka";s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:3;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-02-28 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:0.25;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:16:"Připsaný úrok";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8002557848;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7149201885;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:4;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-02-28 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:-0.03;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:21:"Odvod daně z úroků";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8002557848;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7149201886;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:5;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-03-17 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:4002;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:4:"0558";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:32:"Příjem převodem uvnitř banky";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:17:"Matějček, Milan";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8027586581;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7155451447;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:6;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-03-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:0.69;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:16:"Připsaný úrok";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8046702508;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7159895102;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:7;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-03-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:-0.1;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:21:"Odvod daně z úroků";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8046702508;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7159895103;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:8;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-04-03 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:-1280;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";s:14:"boty + čepice";s:4:"type";s:30:"Platba převodem uvnitř banky";s:7:"whoDone";s:17:"Matějček, Milan";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";s:14:"boty + čepice";s:13:"instructionId";i:8053184881;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7161812099;s:7:"comment";s:14:"boty + čepice";s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:9;O:27:"h4kuna\Fio\Read\Transaction":20:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-04-15 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:-1;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:4:"0308";s:14:"variableSymbol";s:3:"123";s:14:"specificSymbol";s:2:"55";s:4:"note";s:14:"Test poznámka";s:4:"type";s:30:"Platba převodem uvnitř banky";s:7:"whoDone";s:17:"Matějček, Milan";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";s:11:"Test zprava";s:13:"instructionId";i:8068116285;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7165272749;s:7:"comment";s:14:"Test poznámka";s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}}
a:10:{i:0;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-01-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:1.39;s:6:"amount";d:1.39;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:16:"Připsaný úrok";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:7963750704;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7139752765;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:1;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-01-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:-0.2;s:6:"amount";d:-0.2;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:21:"Odvod daně z úroků";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:7963750704;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7139752766;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:2;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-02-06 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:-4002;s:6:"amount";d:-4002;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:4:"0558";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";s:7:"pujčka";s:4:"type";s:30:"Platba převodem uvnitř banky";s:7:"whoDone";s:17:"Matějček, Milan";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:7973780617;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7142478437;s:7:"comment";s:7:"pujčka";s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:3;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-02-28 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:0.25;s:6:"amount";d:0.25;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:16:"Připsaný úrok";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8002557848;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7149201885;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:4;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-02-28 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:-0.03;s:6:"amount";d:-0.03;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:21:"Odvod daně z úroků";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8002557848;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7149201886;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:5;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-03-17 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+01:00";}s:6:"volume";d:4002;s:6:"amount";d:4002;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:4:"0558";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:32:"Příjem převodem uvnitř banky";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:17:"Matějček, Milan";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8027586581;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7155451447;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:6;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-03-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:0.69;s:6:"amount";d:0.69;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:16:"Připsaný úrok";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8046702508;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7159895102;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:7;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-03-31 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:-0.1;s:6:"amount";d:-0.1;s:9:"toAccount";s:0:"";s:8:"bankCode";s:0:"";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";N;s:4:"type";s:21:"Odvod daně z úroků";s:7:"whoDone";s:0:"";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:0:"";s:8:"currency";s:3:"CZK";s:9:"messageTo";N;s:13:"instructionId";i:8046702508;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7159895103;s:7:"comment";N;s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:8;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-04-03 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:-1280;s:6:"amount";d:-1280;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:0:"";s:14:"variableSymbol";s:0:"";s:14:"specificSymbol";s:0:"";s:4:"note";s:14:"boty + čepice";s:4:"type";s:30:"Platba převodem uvnitř banky";s:7:"whoDone";s:17:"Matějček, Milan";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";s:14:"boty + čepice";s:13:"instructionId";i:8053184881;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7161812099;s:7:"comment";s:14:"boty + čepice";s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}i:9;O:27:"h4kuna\Fio\Read\Transaction":21:{s:8:"moveDate";O:17:"DateTimeImmutable":3:{s:4:"date";s:26:"2015-04-15 00:00:00.000000";s:13:"timezone_type";i:1;s:8:"timezone";s:6:"+02:00";}s:6:"volume";d:-1;s:6:"amount";d:-1;s:9:"toAccount";s:10:"2000242017";s:8:"bankCode";s:4:"2010";s:14:"constantSymbol";s:4:"0308";s:14:"variableSymbol";s:3:"123";s:14:"specificSymbol";s:2:"55";s:4:"note";s:14:"Test poznámka";s:4:"type";s:30:"Platba převodem uvnitř banky";s:7:"whoDone";s:17:"Matějček, Milan";s:13:"nameAccountTo";s:0:"";s:8:"bankName";s:15:"Fio banka, a.s.";s:8:"currency";s:3:"CZK";s:9:"messageTo";s:11:"Test zprava";s:13:"instructionId";i:8068116285;s:19:"advancedInformation";s:0:"";s:6:"moveId";i:7165272749;s:7:"comment";s:14:"Test poznámka";s:3:"bic";s:0:"";s:14:"payerReference";s:0:"";}}
Loading

0 comments on commit 00a938d

Please sign in to comment.