/** * @SWG\Property(name="photos", type="array", @SWG\Items("Photo"), required=true) */ public function get() { $result = ['id' => $this->_model->id, 'name' => $this->_model->name, 'second_name' => $this->_model->second_name, 'last_name' => $this->_model->last_name, 'email' => $this->_model->email, 'phone' => $this->_model->phone, 'login' => $this->_model->login]; $addresses = []; foreach ($this->_model->addresses()->get() as $customersAddressModel) { $customersAddressView = new ModelViews\CustomersAddress($customersAddressModel); $addresses[] = $customersAddressView->get(); } $result['addresses'] = $addresses; $photos = []; foreach ($this->_model->photos()->get() as $photoModel) { $photoView = new ModelViews\Photo($photoModel); $photos[] = $photoView->get(); } $result['photos'] = $photos; return $result; }
/** * @SWG\Api( * path="/customers_address/add", * @SWG\Operation( * nickname="Add new cusromers address", * method="POST", * summary="Add new customers address", * notes="Returns customers address", * type="CustomersAddress", * authorizations={}, * @SWG\Parameter( * name="customer_id", * description="Customer ID", * required=true, * type="integer", * format="int64", * paramType="form", * allowMultiple=false * ), * @SWG\Parameter( * name="country", * description="Country", * required=true, * type="string", * paramType="form", * allowMultiple=false * ), * @SWG\Parameter( * name="city", * description="City", * 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="zip_code", * description="Zip Code", * required=true, * type="string", * paramType="form", * allowMultiple=false * ), * @SWG\Parameter( * name="name", * description="Name", * required=true, * type="string", * paramType="form", * allowMultiple=false * ), * @SWG\Parameter( * name="street", * description="Street", * 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, ['customer_id' => 'required|numeric|exists:customers,id', 'country' => 'required|alpha|max:100', 'city' => 'required|alpha|max:100', 'phone' => 'required|max:100', 'zip_code' => 'required|regex:"^\\d{5}(?:[-\\s]\\d{4})?$"', 'name' => 'required', 'street' => 'required']); if ($validator->fails()) { $response = ['error' => $validator->errors()]; $statusCode = 500; } else { $params = ['customer_id' => $inputs['customer_id'], 'country' => $inputs['country'], 'city' => $inputs['city'], 'phone' => $inputs['phone'], 'zip_code' => $inputs['zip_code'], 'name' => $inputs['name'], 'street' => $inputs['street']]; $customersAddress = new Models\CustomersAddress(); $customersAddress->getRepository()->saveFromArray($params); $customersAddressView = new ModelViews\CustomersAddress($customersAddress); $response = $customersAddressView->get(); } return \Response::json($response, $statusCode); }