generate crud for post