mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Expand Spectre import code.
This commit is contained in:
@@ -23,19 +23,126 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Services\Spectre\Object;
|
||||
|
||||
use Carbon\Carbon;
|
||||
|
||||
/**
|
||||
* Class Transaction
|
||||
*/
|
||||
class Transaction extends SpectreObject
|
||||
{
|
||||
/** @var int */
|
||||
private $accountId;
|
||||
/** @var string */
|
||||
private $amount;
|
||||
/** @var string */
|
||||
private $category;
|
||||
/** @var Carbon */
|
||||
private $createdAt;
|
||||
/** @var string */
|
||||
private $currencyCode;
|
||||
/** @var string */
|
||||
private $description;
|
||||
/** @var bool */
|
||||
private $duplicated;
|
||||
/** @var TransactionExtra */
|
||||
private $extra;
|
||||
/** @var int */
|
||||
private $id;
|
||||
/** @var Carbon */
|
||||
private $madeOn;
|
||||
/** @var string */
|
||||
private $mode;
|
||||
/** @var string */
|
||||
private $status;
|
||||
/** @var Carbon */
|
||||
private $updatedAt;
|
||||
|
||||
/**
|
||||
* Transaction constructor.
|
||||
*
|
||||
* @param array $data
|
||||
*/
|
||||
public function __construct(array $data) {
|
||||
var_dump($data);
|
||||
exit;
|
||||
public function __construct(array $data)
|
||||
{
|
||||
$this->id = $data['id'];
|
||||
$this->mode = $data['mode'];
|
||||
$this->status = $data['status'];
|
||||
$this->madeOn = new Carbon($data['made_on']);
|
||||
$this->amount = $data['amount'];
|
||||
$this->currencyCode = $data['currency_code'];
|
||||
$this->description = $data['description'];
|
||||
$this->category = $data['category'];
|
||||
$this->duplicated = $data['duplicated'];
|
||||
$this->extra = new TransactionExtra($data['extra'] ?? []);
|
||||
$this->accountId = $data['account_id'];
|
||||
$this->createdAt = new Carbon($data['created_at']);
|
||||
$this->updatedAt = new Carbon($data['updated_at']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getAmount(): string
|
||||
{
|
||||
return strval($this->amount);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getCategory(): string
|
||||
{
|
||||
return $this->category;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getCurrencyCode(): string
|
||||
{
|
||||
return $this->currencyCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDescription(): string
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getHash(): string
|
||||
{
|
||||
$array = [
|
||||
'id' => $this->id,
|
||||
'mode' => $this->mode,
|
||||
'status' => $this->status,
|
||||
'made_on' => $this->madeOn->toIso8601String(),
|
||||
'amount' => $this->amount,
|
||||
'currency_code' => $this->currencyCode,
|
||||
'description' => $this->description,
|
||||
'category' => $this->category,
|
||||
'duplicated' => $this->duplicated,
|
||||
'extra' => $this->extra->toArray(),
|
||||
'account_id' => $this->accountId,
|
||||
'created_at' => $this->createdAt->toIso8601String(),
|
||||
'updated_at' => $this->updatedAt->toIso8601String(),
|
||||
];
|
||||
$hashed = hash('sha256', json_encode($array));
|
||||
|
||||
return $hashed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Carbon
|
||||
*/
|
||||
public function getMadeOn(): Carbon
|
||||
{
|
||||
return $this->madeOn;
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user