28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
|
|
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;
|