Files
AI-Bill/apps/backend/src/modules/transactions/transactions.router.ts

28 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-11-01 09:24:26 +08:00
import { Router } from 'express';
import { validateRequest } from '../../middlewares/validate-request.js';
import {
createTransactionSchema,
updateTransactionSchema,
transactionIdSchema,
notificationSchema
} from './transactions.schema.js';
import {
listTransactionsHandler,
createTransactionHandler,
getTransactionHandler,
updateTransactionHandler,
deleteTransactionHandler,
createTransactionFromNotificationHandler
} from './transactions.controller.js';
const router = Router();
router.get('/', listTransactionsHandler);
router.post('/', validateRequest({ body: createTransactionSchema }), createTransactionHandler);
router.get('/:id', validateRequest({ params: transactionIdSchema }), getTransactionHandler);
router.patch('/:id', validateRequest({ params: transactionIdSchema, body: updateTransactionSchema }), updateTransactionHandler);
router.delete('/:id', validateRequest({ params: transactionIdSchema }), deleteTransactionHandler);
router.post('/notification', validateRequest({ body: notificationSchema }), createTransactionFromNotificationHandler);
export default router;