view) { case 'user': $table = Recent::where('user_uid', $request->get('id')); break; default: return $this->error('known view'); break; } if ($request->has('type')) { $table->where('type', $request->get('type')); } $table->orderBy($request->get('order', 'updated_at'), $request->get('dir', 'desc')); $count = $table->count(); $table->skip($request->get("offset", 0)) ->take($request->get('limit', 1000)); $result = $table->get(); return $this->ok(["rows" => RecentResource::collection($result), "count" => $count]); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $user = AuthApi::current($request); if (!$user) { return $this->error(__('auth.failed'), [], 401); } $validated = $request->validate([ 'type' => 'required', 'article_id' => 'required', ]); $row = Recent::firstOrNew([ "type" => $request->get("type"), "article_id" => $request->get("article_id"), "user_uid" => $user['user_uid'], ], [ "id" => Str::uuid(), ]); $row->param = $request->get("param", null); $row->save(); return $this->ok(new RecentResource($row)); } /** * Display the specified resource. * * @param \App\Models\Recent $recent * @return \Illuminate\Http\Response */ public function show(Recent $recent) { // return $this->ok(new RecentResource($recent)); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\Recent $recent * @return \Illuminate\Http\Response */ public function update(Request $request, Recent $recent) { // } /** * Remove the specified resource from storage. * * @param \App\Models\Recent $recent * @return \Illuminate\Http\Response */ public function destroy(Recent $recent) { // } }