ConfigurationController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Configuration;
  5. use App\Filters\ConfigurationFilters;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Cache;
  9. class ConfigurationController extends Controller
  10. {
  11. use AsyncResponse;
  12. public function index(Request $request,ConfigurationFilters $filters)
  13. {
  14. $this->gate('系统配置');
  15. $configurations = Configuration::query()->orderBy('id')->filter($filters)->paginate($request['paginate'] ?? 50);
  16. return view('/maintenance/configuration/index',compact('configurations'));
  17. }
  18. public function storeApi(Request $request)
  19. {
  20. $this->gate('系统配置-编辑');
  21. $params = $request->all();
  22. $params['operator'] = Auth::user()['id'];
  23. $configuration = Configuration::query()->create($params);
  24. Cache::put($params['name'],$configuration);
  25. if($configuration)$this->success($configuration->loadMissing('operator'));
  26. $this->error('创建失败');
  27. }
  28. public function updateApi(Request $request)
  29. {
  30. $this->gate('系统配置-编辑');
  31. $configuration = Configuration::query()->find($request['id']);
  32. if(!$configuration)$this->error('更新异常');
  33. $params = $request->only(['name','value','description']);
  34. $params['operator'] = Auth::user()['id'];
  35. $configuration->update($params);
  36. Cache::put($params['name'],$configuration);
  37. $this->success($configuration->loadMissing('operator'));
  38. }
  39. public function destroyApi($id)
  40. {
  41. $this->gate('系统配置-删除');
  42. Configuration::query()->where('id',$id)->delete();
  43. $this->success();
  44. }
  45. }