first commit
Some checks failed
ci / ci (22, ubuntu-latest) (push) Has been cancelled

This commit is contained in:
AlucardDev
2026-08-28 23:32:07 +03:00
commit 7d4ff5962c
35 changed files with 15426 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
import { z } from 'zod'
import { db, schema } from 'hub:db'
import { and, eq } from 'drizzle-orm'
const ParamsSchema = z.object({
id: z.coerce.number().int()
})
const BodySchema = z.object({
completed: z.boolean()
})
export default eventHandler(async (event) => {
const { id } = await getValidatedRouterParams(event, ParamsSchema.parse)
const { completed } = await readValidatedBody(event, BodySchema.parse)
const { user } = await requireUserSession(event)
// Update todo for the current user
const updatedTodos = await db.update(schema.todos).set({
completed: completed ? 1 : 0
}).where(and(
eq(schema.todos.id, id),
eq(schema.todos.userId, user.id)
)).returning()
const todo = updatedTodos[0]
if (!todo) {
throw createError({
statusCode: 404,
message: 'Todo not found'
})
}
return todo
})