Files
mortgagefi-helper/app/api/tasks/[id]/route.ts
Siavash Sameni 6ae581ab2e feat(ui): Ghibli/Miyazaki reskin + Obsidian docs vault + project audit
UI: warm daylight design system (Tailwind v4 @theme palette, gh-* component
classes, watercolor grain, Zen Maru Gothic + Klee One fonts), animated SSR-safe
GhibliBackground (drifting clouds, meadow hills, soot sprites), and a full reskin
of navbar, connect button, dapp page, loan cards, settings modal, and readme.
Fixes the bg-white-on-dark loan-card inconsistency. Web3/business logic untouched.

Docs: converted docs/ into an Obsidian vault (frontmatter, [[wikilinks]],
callouts, Home MOC, folders Architecture/Operations/Audits) and added a
full-project audit note (Project Audit 2026-06). Redacted a real leaked Schedy
key value from the security audit example (rotate it at Schedy).

Also commits the previously-untracked server layer: app/api (cron + tasks routes)
and lib (redis, ssrf-guard, task-store).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 08:13:53 +04:00

20 lines
577 B
TypeScript

import { NextRequest, NextResponse } from 'next/server';
import { deleteTask } from '@/lib/task-store';
export async function DELETE(
_request: NextRequest,
{ params }: { params: Promise<{ id: string }> }
) {
const { id } = await params;
if (!id || !id.startsWith('task_')) {
return NextResponse.json({ error: 'Invalid task id' }, { status: 400 });
}
try {
await deleteTask(id);
return new NextResponse(null, { status: 204 });
} catch (e: any) {
return NextResponse.json({ error: e?.message || 'Failed to delete task' }, { status: 500 });
}
}