deleteTodo.ts 474 B

123456789101112
  1. import { brivenError, mutation, type Ctx } from '@briven/cli/server';
  2. interface Args {
  3. id: string;
  4. }
  5. export default mutation(async (ctx: Ctx, args: Args) => {
  6. if (!args.id) throw new brivenError('validation_failed', 'id is required', { status: 400 });
  7. const affected = await ctx.db('todos').delete().where({ id: args.id });
  8. if (affected === 0) throw new brivenError('not_found', `no todo ${args.id}`, { status: 404 });
  9. return { id: args.id, deleted: true };
  10. });