id; $data['user_id'] = Auth::id(); if ($data['status'] === 'published' && empty($data['published_at'])) { $data['published_at'] = now(); } return Post::create($data); } /** * Update the specified post. * * @param Post $post * @param array $data * @return Post */ public function updatePost(Post $post, array $data): Post { if ($data['status'] === 'published' && !$post->published_at && !$data['published_at']) { $data['published_at'] = now(); } $post->update($data); return $post; } /** * Remove the specified post. * * @param Post $post * @return bool */ public function deletePost(Post $post): bool { return (bool) $post->delete(); } }