Exemple #1
0
 /**
  * @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);
 }