fix: Update AP and AR controllers
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
494a5f2306
commit
5775585a98
@ -182,7 +182,7 @@ export function createAPController(dataSource: DataSource): Router {
|
|||||||
* POST /:id/cancel
|
* POST /:id/cancel
|
||||||
* Cancela una cuenta por pagar
|
* Cancela una cuenta por pagar
|
||||||
*/
|
*/
|
||||||
router.post('/:id/cancel', async (req: Request, res: Response) => {
|
router.post('/:id/cancel', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -191,7 +191,8 @@ export function createAPController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { reason } = req.body;
|
const { reason } = req.body;
|
||||||
if (!reason) {
|
if (!reason) {
|
||||||
return res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ap = await service.cancel(ctx, req.params.id, reason);
|
const ap = await service.cancel(ctx, req.params.id, reason);
|
||||||
@ -243,7 +244,7 @@ export function createAPController(dataSource: DataSource): Router {
|
|||||||
* POST /payments/:id/cancel
|
* POST /payments/:id/cancel
|
||||||
* Cancela un pago
|
* Cancela un pago
|
||||||
*/
|
*/
|
||||||
router.post('/payments/:id/cancel', async (req: Request, res: Response) => {
|
router.post('/payments/:id/cancel', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -252,7 +253,8 @@ export function createAPController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { reason } = req.body;
|
const { reason } = req.body;
|
||||||
if (!reason) {
|
if (!reason) {
|
||||||
return res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const payment = await service.cancelPayment(ctx, req.params.id, reason);
|
const payment = await service.cancelPayment(ctx, req.params.id, reason);
|
||||||
|
|||||||
@ -92,7 +92,7 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
* GET /collection-forecast
|
* GET /collection-forecast
|
||||||
* Obtiene pronóstico de cobranza
|
* Obtiene pronóstico de cobranza
|
||||||
*/
|
*/
|
||||||
router.get('/collection-forecast', async (req: Request, res: Response) => {
|
router.get('/collection-forecast', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -103,7 +103,8 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
const endDate = new Date(req.query.endDate as string);
|
const endDate = new Date(req.query.endDate as string);
|
||||||
|
|
||||||
if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {
|
if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {
|
||||||
return res.status(400).json({ error: 'Fechas inválidas' });
|
res.status(400).json({ error: 'Fechas inválidas' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
@ -122,7 +123,7 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
* GET /:id
|
* GET /:id
|
||||||
* Obtiene una cuenta por cobrar por ID
|
* Obtiene una cuenta por cobrar por ID
|
||||||
*/
|
*/
|
||||||
router.get('/:id', async (req: Request, res: Response) => {
|
router.get('/:id', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -131,7 +132,8 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const ar = await service.findById(ctx, req.params.id);
|
const ar = await service.findById(ctx, req.params.id);
|
||||||
if (!ar) {
|
if (!ar) {
|
||||||
return res.status(404).json({ error: 'Cuenta por cobrar no encontrada' });
|
res.status(404).json({ error: 'Cuenta por cobrar no encontrada' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
res.json(ar);
|
res.json(ar);
|
||||||
@ -180,7 +182,7 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
* POST /:id/cancel
|
* POST /:id/cancel
|
||||||
* Cancela una cuenta por cobrar
|
* Cancela una cuenta por cobrar
|
||||||
*/
|
*/
|
||||||
router.post('/:id/cancel', async (req: Request, res: Response) => {
|
router.post('/:id/cancel', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -189,7 +191,8 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { reason } = req.body;
|
const { reason } = req.body;
|
||||||
if (!reason) {
|
if (!reason) {
|
||||||
return res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ar = await service.cancel(ctx, req.params.id, reason);
|
const ar = await service.cancel(ctx, req.params.id, reason);
|
||||||
@ -203,7 +206,7 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
* POST /:id/write-off
|
* POST /:id/write-off
|
||||||
* Castiga una cuenta por cobrar
|
* Castiga una cuenta por cobrar
|
||||||
*/
|
*/
|
||||||
router.post('/:id/write-off', async (req: Request, res: Response) => {
|
router.post('/:id/write-off', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -212,7 +215,8 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { reason } = req.body;
|
const { reason } = req.body;
|
||||||
if (!reason) {
|
if (!reason) {
|
||||||
return res.status(400).json({ error: 'Se requiere motivo de castigo' });
|
res.status(400).json({ error: 'Se requiere motivo de castigo' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ar = await service.writeOff(ctx, req.params.id, reason);
|
const ar = await service.writeOff(ctx, req.params.id, reason);
|
||||||
@ -226,7 +230,7 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
* POST /:id/collection-attempt
|
* POST /:id/collection-attempt
|
||||||
* Registra intento de cobranza
|
* Registra intento de cobranza
|
||||||
*/
|
*/
|
||||||
router.post('/:id/collection-attempt', async (req: Request, res: Response) => {
|
router.post('/:id/collection-attempt', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -235,7 +239,8 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { notes } = req.body;
|
const { notes } = req.body;
|
||||||
if (!notes) {
|
if (!notes) {
|
||||||
return res.status(400).json({ error: 'Se requieren notas de la gestión' });
|
res.status(400).json({ error: 'Se requieren notas de la gestión' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const ar = await service.recordCollectionAttempt(ctx, req.params.id, notes);
|
const ar = await service.recordCollectionAttempt(ctx, req.params.id, notes);
|
||||||
@ -287,7 +292,7 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
* POST /collections/:id/cancel
|
* POST /collections/:id/cancel
|
||||||
* Cancela un cobro
|
* Cancela un cobro
|
||||||
*/
|
*/
|
||||||
router.post('/collections/:id/cancel', async (req: Request, res: Response) => {
|
router.post('/collections/:id/cancel', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -296,7 +301,8 @@ export function createARController(dataSource: DataSource): Router {
|
|||||||
|
|
||||||
const { reason } = req.body;
|
const { reason } = req.body;
|
||||||
if (!reason) {
|
if (!reason) {
|
||||||
return res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
res.status(400).json({ error: 'Se requiere motivo de cancelación' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const collection = await service.cancelCollection(ctx, req.params.id, reason);
|
const collection = await service.cancelCollection(ctx, req.params.id, reason);
|
||||||
|
|||||||
@ -65,7 +65,7 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
|||||||
* GET /accounts/:id
|
* GET /accounts/:id
|
||||||
* Obtiene una cuenta bancaria por ID
|
* Obtiene una cuenta bancaria por ID
|
||||||
*/
|
*/
|
||||||
router.get('/accounts/:id', async (req: Request, res: Response) => {
|
router.get('/accounts/:id', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -74,7 +74,8 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
|||||||
|
|
||||||
const account = await service.findAccountById(ctx, req.params.id);
|
const account = await service.findAccountById(ctx, req.params.id);
|
||||||
if (!account) {
|
if (!account) {
|
||||||
return res.status(404).json({ error: 'Cuenta bancaria no encontrada' });
|
res.status(404).json({ error: 'Cuenta bancaria no encontrada' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
res.json(account);
|
res.json(account);
|
||||||
@ -178,7 +179,7 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
|||||||
* GET /movements/:id
|
* GET /movements/:id
|
||||||
* Obtiene un movimiento por ID
|
* Obtiene un movimiento por ID
|
||||||
*/
|
*/
|
||||||
router.get('/movements/:id', async (req: Request, res: Response) => {
|
router.get('/movements/:id', async (req: Request, res: Response): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const ctx = {
|
const ctx = {
|
||||||
tenantId: req.headers['x-tenant-id'] as string,
|
tenantId: req.headers['x-tenant-id'] as string,
|
||||||
@ -187,7 +188,8 @@ export function createBankReconciliationController(dataSource: DataSource): Rout
|
|||||||
|
|
||||||
const movement = await service.findMovementById(ctx, req.params.id);
|
const movement = await service.findMovementById(ctx, req.params.id);
|
||||||
if (!movement) {
|
if (!movement) {
|
||||||
return res.status(404).json({ error: 'Movimiento no encontrado' });
|
res.status(404).json({ error: 'Movimiento no encontrado' });
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
res.json(movement);
|
res.json(movement);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user