/** * Cache the category. * * @param \Learner\Repositories\CategoryRepositoryInterface $cateRepository */ public function __construct(CategoryRepositoryInterface $cateRepository) { $this->cateRepository = $cateRepository; if (!Cache::has('categories')) { $categories = $this->cateRepository->listNameAndImageWithRelation(); Cache::put('categories', $categories, 24 * 60); } $this->categories = Cache::get('categories'); }
/** * Delete a category. * * /admin/categories/{id} * * @param Request $request * @param integer $id * * @return \Illuminate\Http\JsonResponse */ public function destory(Request $request, $id) { $truePassword = Auth::user()->password; if (Hash::check($request->get('password'), $truePassword)) { // delete image. ImageManager::delete($this->categories->findImageById($id)); // remove from db. $this->categories->deleteById($id); Log::info(lang("log.deleteCategorySuccess", "You delete a category.")); return $this->responseJson(['message' => '删除成功!']); } Log::warning(lang("log.deleteCategoryError", "MayBe Someone want delete your category.")); return $this->responseJson(['error' => '密码错误,记录日志'], 403); }
/** * Find all series in a category. * * /categories/{name} get * * @param string $name * * @return \Illuminate\View\View */ public function show($name) { $category = $this->categories->findRelationByName($name); return view('categories.show', compact('category')); }
/** * Return all series and relation. * * /admin/series get * * @return Illuminate\Database\Eloquent\Collection|\Learner\Models\Series[] */ public function index() { $series = $this->series->findAllWithRelation(); $categories = $this->categories->listIdAndName(); return $this->responseJson(compact('series', 'categories')); }