VueRouterController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Requests\VueRouterRequest;
  4. use App\Http\Resources\VueRouterResource;
  5. use App\Models\VueRouter;
  6. use App\Utils\Admin;
  7. use Illuminate\Http\Request;
  8. class VueRouterController extends AdminBaseController
  9. {
  10. public function store(VueRouterRequest $request, VueRouter $vueRouter)
  11. {
  12. $inputs = $request->validated();
  13. $vueRouter = $vueRouter->create($inputs);
  14. if (!empty($q = $request->post('roles', []))) {
  15. $vueRouter->roles()->attach($q);
  16. }
  17. return $this->created(VueRouterResource::make($vueRouter));
  18. }
  19. public function update(VueRouterRequest $request, VueRouter $vueRouter)
  20. {
  21. $inputs = $request->validated();
  22. $vueRouter->update($inputs);
  23. if (isset($inputs['roles'])) {
  24. $vueRouter->roles()->sync($inputs['roles']);
  25. }
  26. return $this->created(VueRouterResource::make($vueRouter));
  27. }
  28. public function edit(VueRouter $vueRouter)
  29. {
  30. $vueRouter->load('roles');
  31. return $this->ok(VueRouterResource::make($vueRouter)->onlyRolePermissionIds());
  32. }
  33. public function index(Request $request, VueRouter $vueRouter)
  34. {
  35. $id = Admin::user()->id;
  36. if($id == 1){
  37. return $this->ok($vueRouter->treeExcept((int) $request->input('except'))->toTree());
  38. }else{
  39. return $this->ok($vueRouter->treeWithAuth()->toTree());
  40. }
  41. }
  42. public function destroy(VueRouter $vueRouter)
  43. {
  44. $vueRouter->delete();
  45. return $this->noContent();
  46. }
  47. public function batchUpdate(Request $request, VueRouter $vueRouter)
  48. {
  49. $vueRouter->saveOrder($request->input('_order', []));
  50. return $this->created();
  51. }
  52. }