ExampleController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /*
  3. * This file is part of the Jiannei/lumen-api-starter.
  4. *
  5. * (c) Jiannei <longjian.huang@foxmail.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace App\Http\Controllers;
  11. use App\Repositories\Models\Base\Log;
  12. use Illuminate\Http\Request;
  13. use Jiannei\Response\Laravel\Support\Facades\Response;
  14. class ExampleController extends Controller
  15. {
  16. /**
  17. * Create a new controller instance.
  18. */
  19. public function __construct()
  20. {
  21. $this->middleware('enum:false');
  22. $this->middleware('throttle:10,1', ['only' => ['configurations']]);
  23. }
  24. public function configurations(Request $request)
  25. {
  26. return Response::success([
  27. 'app' => config('app'),
  28. 'auth' => config('auth'),
  29. 'broadcasting' => config('broadcasting'),
  30. 'cache' => config('cache'),
  31. 'database' => config('database'),
  32. 'filesystems' => config('filesystems'),
  33. 'logging' => config('logging'),
  34. 'queue' => config('queue'),
  35. 'services' => config('services'),
  36. ]);
  37. }
  38. public function logs()
  39. {
  40. return Response::success(Log::all());
  41. }
  42. public function syncRoles(Request $request)
  43. {
  44. $this->validate($request, [
  45. 'roles' => 'required|array',
  46. ]);
  47. $roles = $request->input('roles');
  48. $request->user()->syncRoles($roles);
  49. return Response::success($roles, '角色更新成功');
  50. }
  51. public function syncPermissions(Request $request)
  52. {
  53. $this->validate($request, [
  54. 'permissions' => 'required|array',
  55. ]);
  56. $permissions = $request->input('permissions');
  57. $request->user()->syncPermissions($permissions);
  58. return Response::success($permissions, '权限更新成功');
  59. }
  60. }