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

32 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-11-01 09:24:26 +08:00
import { Router } from 'express';
2025-11-10 13:58:06 +08:00
import { authenticate } from '../../middlewares/authenticate.js';
2025-11-01 09:24:26 +08:00
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();
2025-11-10 13:58:06 +08:00
router.post('/notification', validateRequest({ body: notificationSchema }), createTransactionFromNotificationHandler);
router.use(authenticate);
2025-11-01 09:24:26 +08:00
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);
export default router;