mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 18:54:58 +00:00 
			
		
		
		
	Implement piggy bank API.
This commit is contained in:
		| @@ -160,14 +160,22 @@ class PiggyBankController extends Controller | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param Request $request | ||||
|      * @param string  $object | ||||
|      * @param PiggyBankRequest $request | ||||
|      * @param PiggyBank        $piggyBank | ||||
|      * | ||||
|      * @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 'PATCH': | ||||
|                 /** @var PiggyBank $piggyBank */ | ||||
|                 $piggyBank     = $this->route()->parameter('piggyBank'); | ||||
|                 $rules['name'] = 'required|between:1,255|uniquePiggyBankForUser:' . $piggyBank->id; | ||||
|                 $piggyBank               = $this->route()->parameter('piggyBank'); | ||||
|                 $rules['name']           = 'required|between:1,255|uniquePiggyBankForUser:' . $piggyBank->id; | ||||
|                 break; | ||||
|         } | ||||
|  | ||||
|   | ||||
| @@ -478,7 +478,7 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface | ||||
|         /** @var PiggyBank $piggyBank */ | ||||
|         $piggyBank = PiggyBank::create($data); | ||||
|  | ||||
|         $this->updateNote($piggyBank, $data['note']); | ||||
|         $this->updateNote($piggyBank, $data['note']); // todo rename to 'notes' | ||||
|  | ||||
|         // repetition is auto created. | ||||
|         $repetition = $this->getRepetition($piggyBank); | ||||
| @@ -500,9 +500,9 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface | ||||
|     { | ||||
|         $piggyBank->name         = $data['name']; | ||||
|         $piggyBank->account_id   = (int)$data['account_id']; | ||||
|         $piggyBank->targetamount = round($data['targetamount'], 2); | ||||
|         $piggyBank->targetdate   = $data['targetdate']; | ||||
|         $piggyBank->startdate    = $data['startdate']; | ||||
|         $piggyBank->targetamount = $data['targetamount']; | ||||
|         $piggyBank->targetdate   = $data['targetdate'] ?? $piggyBank->targetdate; | ||||
|         $piggyBank->startdate    = $data['startdate'] ?? $piggyBank->startdate; | ||||
|  | ||||
|         $piggyBank->save(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user