Files
budget/src/routes/(protected)/api/budget/[slug]/transaction/+server.js
2025-07-27 12:12:22 -04:00

45 lines
1.5 KiB
JavaScript

import { addBudgetTransaction, updateBudgetTransaction, deleteBudgetTransaction } from '$lib/db.js';
export async function POST({ params, request }) {
const { slug } = params;
let body = await request.json();
const { transactionId, amount, notes } = body;
console.log({ slug, transactionId, amount });
// Call the deleteBudget function from db.js (budgetId, transactionId, amount)
return addBudgetTransaction(slug, transactionId, amount, notes)
.then(() => new Response(`Budget transaction added successfully`, { status: 200 }))
.catch(
(err) => new Response(`Error adding transaction to budget ${err.message}`, { status: 500 })
);
}
export async function PATCH({ params, request }) {
const { slug } = params;
let body = await request.json();
const { amount, notes, transactionId } = body;
console.log({ slug, transactionId, amount });
return updateBudgetTransaction(transactionId, amount, notes)
.then(() => new Response(`Budget transaction updated successfully`, { status: 200 }))
.catch(
(err) => new Response(`Error updating transaction in budget ${err.message}`, { status: 500 })
);
}
export async function DELETE({ params, request }) {
const { slug } = params;
const { transactionId } = slug;
console.log({ slug });
return deleteBudgetTransaction(slug)
.then(() => new Response(`Budget transaction deleted successfully`, { status: 200 }))
.catch(
(err) =>
new Response(`Error deleting transaction from budget ${err.message}`, { status: 500 })
);
}