attempt([ 'email' => $request->email, 'password' => $request->password])) { return response()->json(Receipt::with('receipt_items')->where('user_id', Auth::guard('api')->user()->id)->get(), 200); } else{ return response()->json(["message " => "User auth failed."], 404); } } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if(Auth::guard('store')->attempt([ 'email' => $request->email, 'password' => $request->password])) { $receipt = Receipt::create([ 'payment_date' => $request->payment_date, 'payment_amount' => $request->payment_amount, 'user_id' => $this->findUserByBarcode($request->barcode), 'store_id' => Auth::guard('store')->check() ? Auth::guard('store')->user()->id : null, ]); } else{ return response()->json(["message " => "Store auth failed."], 404); } return response()->json($receipt, 201); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show(Request $request, $id) { if(Auth::guard('api')->attempt([ 'email' => $request->email, 'password' => $request->password])) { $receipt = Receipt::with('receipt_items')->where('user_id', Auth::guard('api')->user()->id)->get()->find($id); if(is_null($receipt)){ return response()->json(["message " => "Record not found."], 404);} return response()->json($receipt, 200); } else{ return response()->json(["message " => "User auth failed."], 404); } } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { if(Auth::guard('store')->attempt([ 'email' => $request->email, 'password' => $request->password])) { $receipt = Receipt::find($id); if(is_null($receipt)){ return response()->json(["message " => "Record not found."], 404);} $receipt->update($request->all()); return response()->json($receipt, 200); } else{ return response()->json(["message " => "Store auth failed."], 404); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { if(Auth::guard('store')->attempt([ 'email' => $request->email, 'password' => $request->password])) { $receipt = Receipt::where('store_id', Auth::id())->get()->find($id); if(is_null($receipt)){ return response()->json(["message " => "Record not found."], 404);} $receipt->delete(); return response()->json(null, 204); } else{ return response()->json(["message " => "User auth failed."], 404); } } public function findUserByBarcode($barcode) { $user = User::where('barcode', $barcode)->first(); $id = $user->id; return $id; } }