/** * @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); }