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

36 lines
908 B
TypeScript

import { getQuery } from 'h3';
import {
fetchTransactions,
type TransactionStatus,
} from '~/utils/finance-repository';
import { useResponseSuccess } from '~/utils/response';
const DEFAULT_STATUSES: TransactionStatus[] = [
'draft',
'pending',
'approved',
'rejected',
'paid',
];
export default defineEventHandler(async (event) => {
const query = getQuery(event);
const includeDeleted = query.includeDeleted === 'true';
const type = query.type as string | undefined;
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[])
: DEFAULT_STATUSES;
const reimbursements = fetchTransactions({
includeDeleted,
type,
statuses,
});
return useResponseSuccess(reimbursements);
});