예제 #1
0
 /**
  * Store a newly created resource in storage.
  * POST /targets
  *
  * @return Response
  */
 public function store()
 {
     $response = new stdClass();
     $statusCode = 201;
     $in = Input::only('name', 'mask', 'freq', 'sinner');
     $rules = array('name' => 'required', 'mask' => 'required', 'freq' => 'required | integer', 'sinner' => 'required | boolean');
     $vd = Validator::make($in, $rules);
     if ($vd->fails()) {
         $errs = $vd->messages();
         $statusCode = 400;
         $response = $errs->all();
     } else {
         // 先檢查有沒有登記過再新增
         $authId = Auth::user()->id;
         $uid = Target::where(array('uid' => $authId, 'name' => $in['name']))->pluck('uid');
         if (!$uid) {
             $in['uid'] = Auth::user()->id;
             $response = Target::firstOrCreate($in);
         } else {
             $statusCode = 302;
         }
     }
     return Response::json($response, $statusCode);
 }