ModelLogController.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Resources\ModelLogResource;
  4. use App\Models\ModelLog;
  5. use App\Services\AuthService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Http\Response;
  8. use Illuminate\Support\Str;
  9. class ModelLogController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. *
  14. * @return Response
  15. */
  16. public function index(Request $request)
  17. {
  18. //
  19. $user = AuthService::current($request);
  20. if (! $user) {
  21. return $this->error(__('auth.failed'));
  22. }
  23. switch ($request->input('view')) {
  24. case 'model':
  25. // code..
  26. $table = ModelLog::where('model_id', $request->input('id'));
  27. break;
  28. default:
  29. // code...
  30. break;
  31. }
  32. if ($request->has('search')) {
  33. $table = $table->where('email', 'like', '%'.$request->input('search').'%');
  34. }
  35. $count = $table->count();
  36. $table = $table->orderBy(
  37. $request->input('order', 'updated_at'),
  38. $request->input('dir', 'desc')
  39. );
  40. $table = $table->skip($request->input('offset', 0))
  41. ->take($request->input('limit', 20));
  42. $result = $table->get();
  43. return $this->ok(['rows' => ModelLogResource::collection($result), 'total' => $count]);
  44. }
  45. /**
  46. * Store a newly created resource in storage.
  47. *
  48. * @return Response
  49. */
  50. public function store(Request $request)
  51. {
  52. //
  53. $modelLog = new ModelLog;
  54. $modelLog->uid = Str::uuid();
  55. $modelLog->model_id = $request->input('model_id');
  56. $modelLog->request_at = $request->input('request_at');
  57. $modelLog->request_headers = $request->input('request_headers');
  58. $modelLog->request_data = $request->input('request_data');
  59. $modelLog->response_headers = $request->input('response_headers');
  60. $modelLog->response_data = $request->input('response_data');
  61. $modelLog->status = $request->input('status');
  62. $modelLog->success = $request->input('success', true);
  63. $modelLog->save();
  64. return $this->ok(new ModelLogResource($modelLog));
  65. }
  66. /**
  67. * Display the specified resource.
  68. *
  69. * @return Response
  70. */
  71. public function show(ModelLog $modelLog)
  72. {
  73. //
  74. }
  75. /**
  76. * Update the specified resource in storage.
  77. *
  78. * @return Response
  79. */
  80. public function update(Request $request, ModelLog $modelLog)
  81. {
  82. //
  83. }
  84. /**
  85. * Remove the specified resource from storage.
  86. *
  87. * @return Response
  88. */
  89. public function destroy(ModelLog $modelLog)
  90. {
  91. //
  92. }
  93. }