/** * POST /api/budgets * @param CreateBudgetRequest $request * @return Response */ public function store(CreateBudgetRequest $request) { $budget = new Budget($request->only(['type', 'name', 'amount', 'starting_date'])); $budget->user()->associate(Auth::user()); $budget->save(); if ($budget->type === 'flex') { $remainingBalance = app('remaining-balance')->calculate(); $budget->getCalculatedAmount($remainingBalance); } $budget = $this->transform($this->createItem($budget, new BudgetTransformer(['includeExtra' => true])))['data']; return response($budget, Response::HTTP_CREATED); }