import { Router } from 'express' import handler_edit from '../handlers/contracts-get/edit.js' import handler_new from '../handlers/contracts-get/new.js' import handler_search from '../handlers/contracts-get/search.js' import handler_view from '../handlers/contracts-get/view.js' import handler_doAddContractComment from '../handlers/contracts-post/doAddContractComment.js' import handler_doAddContractFee from '../handlers/contracts-post/doAddContractFee.js' import handler_doAddContractFeeCategory from '../handlers/contracts-post/doAddContractFeeCategory.js' import handler_doAddContractTransaction from '../handlers/contracts-post/doAddContractTransaction.js' import handler_doCopyContract from '../handlers/contracts-post/doCopyContract.js' import handler_doCreateContract from '../handlers/contracts-post/doCreateContract.js' import handler_doDeleteContract from '../handlers/contracts-post/doDeleteContract.js' import handler_doDeleteContractComment from '../handlers/contracts-post/doDeleteContractComment.js' import handler_doDeleteContractFee from '../handlers/contracts-post/doDeleteContractFee.js' import handler_doDeleteContractTransaction from '../handlers/contracts-post/doDeleteContractTransaction.js' import handler_doGetContractTypeFields from '../handlers/contracts-post/doGetContractTypeFields.js' import handler_doGetDynamicsGPDocument from '../handlers/contracts-post/doGetDynamicsGPDocument.js' import handler_doGetFees from '../handlers/contracts-post/doGetFees.js' import handler_doSearchContracts from '../handlers/contracts-post/doSearchContracts.js' import handler_doUpdateContract from '../handlers/contracts-post/doUpdateContract.js' import handler_doUpdateContractComment from '../handlers/contracts-post/doUpdateContractComment.js' import handler_doUpdateContractFeeQuantity from '../handlers/contracts-post/doUpdateContractFeeQuantity.js' import handler_doUpdateContractTransaction from '../handlers/contracts-post/doUpdateContractTransaction.js' import { updateGetHandler, updatePostHandler } from '../handlers/permissions.js' import { getConfigProperty } from '../helpers/config.helpers.js' export const router = Router() // Search router.get('/', handler_search) router.post( '/doSearchContracts', handler_doSearchContracts ) // Create router.get('/new', updateGetHandler, handler_new) router.post( '/doGetContractTypeFields', updatePostHandler, handler_doGetContractTypeFields ) router.post( '/doCreateContract', updatePostHandler, handler_doCreateContract ) // View router.get('/:contractId', handler_view) // Edit router.get( '/:contractId/edit', updateGetHandler, handler_edit ) router.post( '/doUpdateContract', updatePostHandler, handler_doUpdateContract ) router.post( '/doCopyContract', updatePostHandler, handler_doCopyContract ) router.post( '/doDeleteContract', updatePostHandler, handler_doDeleteContract ) // Comments router.post( '/doAddContractComment', updatePostHandler, handler_doAddContractComment ) router.post( '/doUpdateContractComment', updatePostHandler, handler_doUpdateContractComment ) router.post( '/doDeleteContractComment', updatePostHandler, handler_doDeleteContractComment ) // Fees router.post( '/doGetFees', updatePostHandler, handler_doGetFees ) router.post( '/doAddContractFee', updatePostHandler, handler_doAddContractFee ) router.post( '/doAddContractFeeCategory', updatePostHandler, handler_doAddContractFeeCategory ) router.post( '/doUpdateContractFeeQuantity', updatePostHandler, handler_doUpdateContractFeeQuantity ) router.post( '/doDeleteContractFee', updatePostHandler, handler_doDeleteContractFee ) // Transactions if (getConfigProperty('settings.dynamicsGP.integrationIsEnabled')) { router.post( '/doGetDynamicsGPDocument', updatePostHandler, handler_doGetDynamicsGPDocument ) } router.post( '/doAddContractTransaction', updatePostHandler, handler_doAddContractTransaction ) router.post( '/doUpdateContractTransaction', updatePostHandler, handler_doUpdateContractTransaction ) router.post( '/doDeleteContractTransaction', updatePostHandler, handler_doDeleteContractTransaction ) export default router