create-cloudflare
Version:
A CLI for creating and deploying new applications to Cloudflare.
59 lines (53 loc) • 1.15 kB
text/typescript
import { Bool, OpenAPIRoute } from "chanfana";
import { z } from "zod";
import { type AppContext, Task } from "../types";
export class TaskCreate extends OpenAPIRoute {
schema = {
tags: ["Tasks"],
summary: "Create a new Task",
request: {
body: {
content: {
"application/json": {
schema: Task,
},
},
},
},
responses: {
"200": {
description: "Returns the created task",
content: {
"application/json": {
schema: z.object({
series: z.object({
success: Bool(),
result: z.object({
task: Task,
}),
}),
}),
},
},
},
},
};
async handle(c: AppContext) {
// Get validated data
const data = await this.getValidatedData<typeof this.schema>();
// Retrieve the validated request body
const taskToCreate = data.body;
// Implement your own object insertion here
// return the new task
return {
success: true,
task: {
name: taskToCreate.name,
slug: taskToCreate.slug,
description: taskToCreate.description,
completed: taskToCreate.completed,
due_date: taskToCreate.due_date,
},
};
}
}