create-cloudflare
Version:
A CLI for creating and deploying new applications to Cloudflare.
57 lines (51 loc) • 1.18 kB
text/typescript
import { Bool, OpenAPIRoute, Str } from "chanfana";
import { z } from "zod";
import { type AppContext, Task } from "../types";
export class TaskDelete extends OpenAPIRoute {
schema = {
tags: ["Tasks"],
summary: "Delete a Task",
request: {
params: z.object({
taskSlug: Str({ description: "Task slug" }),
}),
},
responses: {
"200": {
description: "Returns if the task was deleted successfully",
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 slug
const { taskSlug } = data.params;
// Implement your own object deletion here
// Return the deleted task for confirmation
return {
result: {
task: {
name: "Build something awesome with Cloudflare Workers",
slug: taskSlug,
description: "Lorem Ipsum",
completed: true,
due_date: "2022-12-24",
},
},
success: true,
};
}
}