Files
AITrader/app/routes/api/stocks/index.ts
T
henry 043c3d5afe feat: delete ticker from database when removed from portfolio
- Add DELETE support to /api/stocks endpoint via _method parameter
- Modify removeStock to delete db- prefixed entries from database
- Add confirmation dialog on delete button click
- Add test for stock deletion
2026-05-14 10:29:27 +02:00

30 lines
780 B
TypeScript

import { db } from "../../../lib/db.server";
export async function loader() {
const stocks = await db.stock.findMany({
orderBy: { ticker: "asc" },
});
return Response.json(stocks);
}
export async function action({ request }: { request: Request }) {
const formData = await request.formData();
const ticker = formData.get("ticker")?.toString().toUpperCase();
const method = formData.get("_method")?.toString() || "POST";
if (!ticker) {
return Response.json({ error: "Ticker is required" }, { status: 400 });
}
if (method === "DELETE") {
await db.stock.deleteMany({
where: { ticker },
});
return Response.json({ success: true });
}
const stock = await db.stock.create({
data: { ticker },
});
return Response.json(stock);
}