/** * Store a newly created resource in storage. * * @param Request $request * @param $cardNumber * * @return Response */ public function store(Request $request, $cardNumber) { $this->validate($request, ['balance' => 'required|numeric|min:0']); $balance = $request->input('balance'); $card = Card::firstOrCreate(['number' => $cardNumber]); $currentBalance = $card->addBalance($balance); if ($currentBalance->wasRecentlyCreated) { return $this->respondCreated(fractal()->item($currentBalance, new BalanceTransformer())->toArray()); } return $this->respond(fractal()->item($currentBalance, new BalanceTransformer())->toArray()); }