fix: return 404 for non-exist posts
add: API for deleting a post