courseRepository = $courseRepo; } /** * Display a listing of the Course. * GET|HEAD /courses * * @param Request $request * @return Response */ public function index(Request $request) { $courses = $this->courseRepository->all( $request->except(['skip', 'limit']), $request->get('skip'), $request->get('limit') ); return $this->sendResponse($courses->toArray(), 'Courses retrieved successfully'); } /** * Store a newly created Course in storage. * POST /courses * * @param CreateCourseAPIRequest $request * * @return Response */ public function store(CreateCourseAPIRequest $request) { $input = $request->all(); $course = $this->courseRepository->create($input); return $this->sendResponse($course->toArray(), 'Course saved successfully'); } /** * Display the specified Course. * GET|HEAD /courses/{id} * * @param int $id * * @return Response */ public function show($id) { /** @var Course $course */ $course = $this->courseRepository->find($id); if (empty($course)) { return $this->sendError('Course not found'); } return $this->sendResponse($course->toArray(), 'Course retrieved successfully'); } /** * Update the specified Course in storage. * PUT/PATCH /courses/{id} * * @param int $id * @param UpdateCourseAPIRequest $request * * @return Response */ public function update($id, UpdateCourseAPIRequest $request) { $input = $request->all(); /** @var Course $course */ $course = $this->courseRepository->find($id); if (empty($course)) { return $this->sendError('Course not found'); } $course = $this->courseRepository->update($input, $id); return $this->sendResponse($course->toArray(), 'Course updated successfully'); } /** * Remove the specified Course from storage. * DELETE /courses/{id} * * @param int $id * * @throws \Exception * * @return Response */ public function destroy($id) { /** @var Course $course */ $course = $this->courseRepository->find($id); if (empty($course)) { return $this->sendError('Course not found'); } $course->delete(); return $this->sendSuccess('Course deleted successfully'); } }