Files
kt-financial-system/apps/backend/api/finance/transactions.get.ts
2025-11-04 16:06:44 +08:00

29 lines
835 B
TypeScript

import { getQuery } from 'h3';
import {
fetchTransactions,
type TransactionStatus,
} from '~/utils/finance-repository';
import { useResponseSuccess } from '~/utils/response';
export default defineEventHandler(async (event) => {
const query = getQuery(event);
const type = query.type as string | undefined;
const includeDeleted = query.includeDeleted === 'true';
const rawStatuses = (query.statuses ?? query.status) as
| string
| undefined;
const statuses = rawStatuses
? (rawStatuses
.split(',')
.map((item) => item.trim())
.filter((item) => item.length > 0) as TransactionStatus[])
: (['approved', 'paid'] satisfies TransactionStatus[]);
const transactions = fetchTransactions({
type,
includeDeleted,
statuses,
});
return useResponseSuccess(transactions);
});