Files
mbmanager-api/setup/databaseConnection.js
2026-08-19 05:06:19 +03:30

44 lines
1.7 KiB
JavaScript

const mongoose = require('mongoose')
const port = process.env.PORT || 3000
const env = process.env.NODE_ENV || 'development'
module.exports = (app) => {
let connectionString
if (env === 'development') {
connectionString = process.env.MONGODB_URL
} else if (env === 'test') {
connectionString = process.env.MONGODB_URL
} else if (env === 'production') {
connectionString = process.env.MONGODB_URL
}
mongoose
.connect(connectionString, {})
.then(async function () {
console.log('MongoDB Database Connected')
const MyModel = mongoose.model('MyCollection', new mongoose.Schema({ name: String }))
// Create a document to force MongoDB to actually create the DB and collection
await MyModel.create({ name: 'test' })
// Auto-sync permissions defined in permissionList.js
const { syncPermissions } = require('../components/permission/permissionService')
await syncPermissions()
// Ensure default MinIO buckets exist (temp, properties, documents)
const { ensureBucketsExist } = require('../utils/upload/bucket')
await ensureBucketsExist(['temp', 'properties', 'documents']).catch((err) => {
console.error('Failed to ensure default MinIO buckets:', err)
})
// Initialize cron jobs
const { initCronJobs } = require('../jobs/index')
initCronJobs()
app.listen(port, function () {
console.log('Server Started On Port ' + port)
})
})
.catch(function (err) {
console.log(err)
})
}