Spaces:
Runtime error
Runtime error
automated-invoice-processing-agent-backend
/
src
/controllers
/propertyware
/glAccounts.controller.ts
import { Request, Response } from 'express'; | |
import { logger } from '../../utils/logger'; | |
import PWGlaccounts from '../../models/pwGlaccounts'; | |
import { syncGlAccountsFromJsonService } from '../../shared/services/glaccounts.service'; | |
const ExpenseAccountTypes = ['Expense', 'Income', 'Current Liability', 'Current Asset', 'Equity']; | |
export const fetchGLAccountsData = async (req: Request, res: Response) => { | |
try { | |
const glAccounts = await PWGlaccounts.findAll({ | |
attributes: [['pw_id', 'id'], 'name'], | |
order: [['name', 'ASC']], | |
}); | |
res.status(200).json(glAccounts); | |
} catch (error) { | |
logger.error('Error fetching GL accounts:', error); | |
logger.error(error); | |
res.status(500).json({ error: 'Error fetching GL accounts' }); | |
} | |
}; | |
export const fetchGLAccountsWithDetails = async (req: Request, res: Response) => { | |
try { | |
const glAccounts = await PWGlaccounts.findAll({ | |
attributes: [['pw_id', 'id'], 'name', ['account_number', 'accountNumber']], | |
order: [['name', 'ASC']], | |
}); | |
res.status(200).json(glAccounts); | |
} catch (error) { | |
logger.error('Error fetching GL accounts:', error); | |
logger.error(error); | |
res.status(500).json({ error: 'Error fetching GL accounts' }); | |
} | |
}; | |
export const syncGLAccounts = async (req: Request, res: Response) => { | |
try { | |
const result = await syncGlAccountsFromJsonService(); | |
res.status(200).json(result); | |
} catch (error) { | |
logger.error('Error syncing GL accounts:', error); | |
logger.error(error); | |
res.status(500).json({ error: 'Error syncing GL accounts' }); | |
} | |
}; | |