mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Piggy banks
This commit is contained in:
56
app/Repositories/PiggyBank/PiggyBankRepository.php
Normal file
56
app/Repositories/PiggyBank/PiggyBankRepository.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace FireflyIII\Repositories\PiggyBank;
|
||||
|
||||
use FireflyIII\Models\PiggyBank;
|
||||
|
||||
/**
|
||||
* Class PiggyBankRepository
|
||||
*
|
||||
* @package FireflyIII\Repositories\PiggyBank
|
||||
*/
|
||||
class PiggyBankRepository implements PiggyBankRepositoryInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return PiggyBank
|
||||
*/
|
||||
public function store(array $data)
|
||||
{
|
||||
|
||||
$piggyBank = PiggyBank::create(
|
||||
[
|
||||
|
||||
'repeats' => $data['repeats'],
|
||||
'name' => $data['name'],
|
||||
'account_id' => $data['account_id'],
|
||||
'targetamount' => $data['targetamount'],
|
||||
'startdate' => $data['startdate'],
|
||||
'targetdate' => $data['targetdate'],
|
||||
'reminder' => $data['reminder'],
|
||||
]
|
||||
);
|
||||
|
||||
return $piggyBank;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PiggyBank $account
|
||||
* @param array $data
|
||||
*
|
||||
* @return PiggyBank
|
||||
*/
|
||||
public function update(PiggyBank $piggyBank, array $data)
|
||||
{
|
||||
|
||||
$piggyBank->name = $data['name'];
|
||||
$piggyBank->account_id = intval($data['account_id']);
|
||||
$piggyBank->targetamount = floatval($data['targetamount']);
|
||||
$piggyBank->targetdate = $data['targetdate'];
|
||||
$piggyBank->reminder = $data['reminder'];
|
||||
$piggyBank->save();
|
||||
return $piggyBank;
|
||||
}
|
||||
}
|
29
app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
Normal file
29
app/Repositories/PiggyBank/PiggyBankRepositoryInterface.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace FireflyIII\Repositories\PiggyBank;
|
||||
|
||||
use FireflyIII\Models\PiggyBank;
|
||||
|
||||
/**
|
||||
* Interface PiggyBankRepositoryInterface
|
||||
*
|
||||
* @package FireflyIII\Repositories\PiggyBank
|
||||
*/
|
||||
interface PiggyBankRepositoryInterface {
|
||||
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return PiggyBank
|
||||
*/
|
||||
public function store(array $data);
|
||||
|
||||
/**
|
||||
* @param PiggyBank $account
|
||||
* @param array $data
|
||||
*
|
||||
* @return PiggyBank
|
||||
*/
|
||||
public function update(PiggyBank $piggyBank, array $data);
|
||||
}
|
Reference in New Issue
Block a user