Ejemplo n.º 1
0
 /**
  * @SWG\Api(
  *   path="/customer/add",
  *   @SWG\Operation(
  *     nickname="Add new cusromer",
  *     method="POST",
  *     summary="Add new customer",
  *     notes="Returns customer",
  *     type="Customer",
  *     authorizations={},
  *     @SWG\Parameter(
  *       name="name",
  *       description="Name",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\Parameter(
  *       name="second_name",
  *       description="Second Name",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\Parameter(
  *       name="last_name",
  *       description="Last Name",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\Parameter(
  *       name="email",
  *       description="Email",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\Parameter(
  *       name="phone",
  *       description="Phone",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\Parameter(
  *       name="login",
  *       description="Login",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\Parameter(
  *       name="password",
  *       description="Password",
  *       required=true,
  *       type="string",
  *       paramType="form",
  *       allowMultiple=false
  *     ),
  *     @SWG\ResponseMessage(code=500, message="Internal server error")
  *   )
  * )
  */
 public function add()
 {
     $statusCode = 200;
     $inputs = \Input::all();
     $validator = Validator::make($inputs, ['name' => 'required|max:100', 'second_name' => 'required|max:100', 'last_name' => 'required|max:100', 'email' => 'required|email|unique:customers,email', 'phone' => 'required|max:100', 'login' => 'required|unique:customers,login', 'password' => 'required']);
     if ($validator->fails()) {
         $response = ['error' => $validator->errors()];
         $statusCode = 500;
     } else {
         $params = ['name' => $inputs['name'], 'second_name' => $inputs['second_name'], 'last_name' => $inputs['last_name'], 'email' => $inputs['email'], 'phone' => $inputs['phone'], 'login' => $inputs['login'], 'password' => \Hash::make($inputs['password'])];
         $customer = new Models\Customer();
         $customer->getRepository()->saveFromArray($params);
         $customerView = new ModelViews\Customer($customer);
         $response = $customerView->get();
     }
     return \Response::json($response, $statusCode);
 }