Example #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     DB::beginTransaction();
     $request['role'] = 'volunteer';
     $result = $this->register($request);
     $value = $result->getData();
     if (property_exists($value, 'error')) {
         return $result;
     } else {
         $volunteer = new Volunteer();
         $volunteer['userId'] = $value->result->id;
         $volunteer['contactNumber'] = $request->input('contactNumber');
         $volunteer['firstname'] = $request->input('firstname');
         $volunteer['lastname'] = $request->input('lastname');
         try {
             $volunteer->save();
         } catch (\Exception $e) {
             DB::rollback();
             return response()->json(['error' => ['message' => 'Error while saving Volunteer' . $e, 'code' => 400]]);
         }
         DB::commit();
         $finalResult['id'] = $value->result->id;
         $finalResult['token'] = $value->result->token;
         return response()->json(['result' => $finalResult]);
     }
 }