ConfigurationController.php 1.6 KB

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