/** * @SWG\Property(name="addons", type="Addon", required=true) */ public function get() { $photoModel = $this->_model->photo()->first(); $photoView = new ModelViews\Photo($photoModel); $formatModel = $this->_model->format()->first(); $formatView = new ModelViews\Format($formatModel); $ordersItemsAddons = []; foreach ($this->_model->ordersItemsAddons()->get() as $ordersItemsAddonModel) { $ordersItemsAddonView = new ModelViews\OrdersItemsAddon($ordersItemsAddonModel); $ordersItemsAddons[] = $ordersItemsAddonView->get(); } return ['id' => $this->_model->id, 'photo' => $photoView->get(), 'qty' => $this->_model->qty, 'price_per_item' => $this->_model->price_per_item, 'format' => $formatView->get(), 'addons' => $ordersItemsAddons]; }
/** * @SWG\Api( * path="/photo/add", * @SWG\Operation( * nickname="Add new photo", * method="POST", * summary="Add new photo", * notes="Returns photo", * type="Photo", * authorizations={}, * @SWG\Parameter( * name="customer_id", * description="Customer ID", * required=true, * type="integer", * format="int64", * paramType="form", * allowMultiple=false * ), * @SWG\Parameter( * name="image", * description="Image", * type="file", * required=true, * allowMultiple=true, * paramType="body" * ), * @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', 'image' => 'required|image']); if ($validator->fails()) { $response = ['error' => $validator->errors()]; $statusCode = 500; } else { $params = ['customer_id' => $inputs['customer_id'], 'image' => $inputs['image']]; $photo = new Models\Photo(); $photo->getRepository()->saveFromArray($params); $photoView = new ModelViews\Photo($photo); $response = $photoView->get(); } return \Response::json($response, $statusCode); }
/** * @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; }