/** * @SWG\Property(name="qty", type="integer", required=true) */ public function get() { $addonModel = $this->_model->addon()->first(); $addonView = new ModelViews\Addon($addonModel); return ['addon' => $addonView->get(), 'qty' => $this->_model->qty]; }
/** * @SWG\Api( * path="/addon/all", * @SWG\Operation( * nickname="Get all addons", * method="GET", * summary="Find all addons", * notes="Returns all addons", * type="array", * @SWG\Items("Addon"), * authorizations={}, * @SWG\Parameter( * name="type_id", * description="ID of addons type", * required=false, * type="integer", * paramType="query", * allowMultiple=false * ), * @SWG\Parameter( * name="price_type", * description="Price Type", * required=false, * type="string", * enum="['price', 'percent']", * paramType="query", * allowMultiple=false * ), * @SWG\ResponseMessage(code=500, message="Internal server error") * ) * ) */ public function all() { $statusCode = 200; $response = []; $inputs = \Input::all(); $validator = Validator::make($inputs, ['type_id' => 'numeric']); if ($validator->fails()) { $response = ['error' => $validator->errors()]; $statusCode = 500; } else { $addonModels = new Models\Addon(); if (isset($inputs['type_id']) && $inputs['type_id']) { $addonModels = $addonModels->where('addons_type_id', $inputs['type_id']); } if (isset($inputs['price_type']) && $inputs['price_type']) { $addonModels = $addonModels->where('price_type', $inputs['price_type']); } foreach ($addonModels->get() as $addonModel) { $addonView = new ModelViews\Addon($addonModel); $response[] = $addonView->get(); } } return \Response::json($response, $statusCode); }