Property system: - Rename belonging → property throughout (model, controller, routes, service) - Add property sub-models: buildingModel, landModel, belongingModel - Add property lifecycle events: createProperty, deleteProperty - Add propertyStatus component (model, controller, routes, service, seeder) - Add commodity and commodityTransaction model stubs Infrastructure: - Update transactionModel and transactionService - Update events/index.js for new property events - Update seeder (seederDBConnection, seederRunner) - Update typesense client configuration - Update upload utilities (bucket, minio) - Update featureModel and featureSeeder - Update categorySeeder - Update TsApiFeatures utility - Remove docker-compose.yml (moved to root) - Remove legacy belonging component files
32 lines
934 B
JavaScript
32 lines
934 B
JavaScript
// events/index.js
|
|
const { eventEmitter } = require('./eventEmitter')
|
|
const createProperty = require('../components/property/events/createProperty')
|
|
const deleteProperty = require('../components/property/events/deleteProperty')
|
|
const registerEventHandlers = () => {
|
|
// Register all event handlers
|
|
createProperty(eventEmitter)
|
|
deleteProperty(eventEmitter)
|
|
// Add additional error monitoring if needed
|
|
eventEmitter.on('error', (error) => {
|
|
console.error('Event handler error:', error)
|
|
})
|
|
|
|
console.log('Event handlers registered successfully')
|
|
}
|
|
|
|
const safeEmit = async (eventName, ...args) => {
|
|
try {
|
|
return eventEmitter.emit(eventName, ...args)
|
|
} catch (error) {
|
|
console.error(`Error safely emitting ${eventName}:`, error)
|
|
eventEmitter.emit('error', error)
|
|
return false
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
registerEventHandlers,
|
|
eventEmitter,
|
|
safeEmit,
|
|
}
|