mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-06 12:45:30 +00:00
Implement piggy bank API.
This commit is contained in:
@@ -160,14 +160,22 @@ class PiggyBankController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Request $request
|
* @param PiggyBankRequest $request
|
||||||
* @param string $object
|
* @param PiggyBank $piggyBank
|
||||||
*
|
*
|
||||||
* @return JsonResponse
|
* @return JsonResponse
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, string $object): JsonResponse
|
public function update(PiggyBankRequest $request, PiggyBank $piggyBank): JsonResponse
|
||||||
{
|
{
|
||||||
// todo replace code and replace request object.
|
$data = $request->getAll();
|
||||||
|
$budget = $this->repository->update($piggyBank, $data);
|
||||||
|
$manager = new Manager();
|
||||||
|
$baseUrl = $request->getSchemeAndHttpHost() . '/api/v1';
|
||||||
|
$manager->setSerializer(new JsonApiSerializer($baseUrl));
|
||||||
|
|
||||||
|
$resource = new Item($budget, new PiggyBankTransformer($this->parameters), 'piggy_banks');
|
||||||
|
|
||||||
|
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -78,8 +78,8 @@ class PiggyBankRequest extends Request
|
|||||||
case 'PUT':
|
case 'PUT':
|
||||||
case 'PATCH':
|
case 'PATCH':
|
||||||
/** @var PiggyBank $piggyBank */
|
/** @var PiggyBank $piggyBank */
|
||||||
$piggyBank = $this->route()->parameter('piggyBank');
|
$piggyBank = $this->route()->parameter('piggyBank');
|
||||||
$rules['name'] = 'required|between:1,255|uniquePiggyBankForUser:' . $piggyBank->id;
|
$rules['name'] = 'required|between:1,255|uniquePiggyBankForUser:' . $piggyBank->id;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -478,7 +478,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
|
|||||||
/** @var PiggyBank $piggyBank */
|
/** @var PiggyBank $piggyBank */
|
||||||
$piggyBank = PiggyBank::create($data);
|
$piggyBank = PiggyBank::create($data);
|
||||||
|
|
||||||
$this->updateNote($piggyBank, $data['note']);
|
$this->updateNote($piggyBank, $data['note']); // todo rename to 'notes'
|
||||||
|
|
||||||
// repetition is auto created.
|
// repetition is auto created.
|
||||||
$repetition = $this->getRepetition($piggyBank);
|
$repetition = $this->getRepetition($piggyBank);
|
||||||
@@ -500,9 +500,9 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
|
|||||||
{
|
{
|
||||||
$piggyBank->name = $data['name'];
|
$piggyBank->name = $data['name'];
|
||||||
$piggyBank->account_id = (int)$data['account_id'];
|
$piggyBank->account_id = (int)$data['account_id'];
|
||||||
$piggyBank->targetamount = round($data['targetamount'], 2);
|
$piggyBank->targetamount = $data['targetamount'];
|
||||||
$piggyBank->targetdate = $data['targetdate'];
|
$piggyBank->targetdate = $data['targetdate'] ?? $piggyBank->targetdate;
|
||||||
$piggyBank->startdate = $data['startdate'];
|
$piggyBank->startdate = $data['startdate'] ?? $piggyBank->startdate;
|
||||||
|
|
||||||
$piggyBank->save();
|
$piggyBank->save();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user