filled('status')) { $query->where('status', $request->string('status')); } if ($request->filled('site_id')) { $query->where('site_id', $request->integer('site_id')); } if ($request->filled('social_account_id')) { $query->where('social_account_id', $request->integer('social_account_id')); } if ($request->boolean('due')) { $query->where('status', 'scheduled') ->where('scheduled_at', '<=', now()); } return PostResource::collection($query->orderByDesc('created_at')->get()); } public function show(Post $post) { return new PostResource($post); } public function store(StorePostRequest $request) { $post = Post::create($request->validated())->fresh(); return (new PostResource($post))->response()->setStatusCode(201); } public function update(UpdatePostRequest $request, Post $post) { $post->update($request->validated()); return new PostResource($post); } public function destroy(Post $post) { $post->delete(); return response()->noContent(); } }