import { Router } from 'express'; import { authenticate } from '../../middlewares/authenticate.js'; 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.post('/notification', validateRequest({ body: notificationSchema }), createTransactionFromNotificationHandler); router.use(authenticate); 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;