const mongoose = require('mongoose'); // Chaîne de connexion avec authentification (identifiants en clair) const db = 'mongodb://admin:azerty10@database_preprod:27017/mean-fatboar-db?authSource=admin'; const options = { useNewUrlParser: true, useUnifiedTopology: true, serverSelectionTimeoutMS: 5000, socketTimeoutMS: 45000, keepAlive: true, keepAliveInitialDelay: 300000, autoIndex: true, retryWrites: true, }; mongoose.connect(db, options) .then(() => { console.log("Successfully connected to the database."); mongoose.connection.db.createCollection("app_status", function(err, res) { if (err) { console.log("Collection déjà existante, ignoré."); } else { console.log("Collection app_status créée pour maintenir la base de données active."); mongoose.connection.db.collection("app_status").updateOne( { name: "system_status" }, { $set: { name: "system_status", lastChecked: new Date(), status: "active" } }, { upsert: true } ); } }); }) .catch(err => { console.log("Could not connect to the database.", err); }); // Gestion des erreurs et reconnexion automatique mongoose.connection.on('error', (err) => { console.log('Mongoose connection error: ', err); }); mongoose.connection.on('disconnected', () => { console.log('Mongoose connection disconnected'); setTimeout(() => { mongoose.connect(db, options).catch(err => { console.log("Reconnection failed: ", err); }); }, 5000); }); process.on('SIGINT', () => { mongoose.connection.close(() => { console.log('Mongoose connection closed due to app termination'); process.exit(0); }); }); module.exports = mongoose.connection; // let min = 999999999; // let max = 10000000000; // for (i = 0; i < 50000; i++) { // let code = Math.floor(Math.random() * (max - min + 1)) + min; // const ticke = new Ticket({ // code: code, // isUsed: false, // gains: "une entrée ou un dessert au choix", // date_used: new Date(), // index: 'index', // isServed: true // }); // ticke.save(); // } // const resto = new Restaurant({ // "index": 5, // "name": "FatBoar 5", // "adress": "20 Rue Houdart, 95700 Roissy-en-France, France", // "longitude": 2.515081, // "latitude": 49.002317 // }); // resto.save(); // const salt = bcrypt.genSaltSync(12); // password = bcrypt.hashSync('Pass@123', 12); // console.log('fgfg', password); // let date = new Date(1997, 1 , 12 , 20, 40); // const user = new User({ // firstname: " adrien", // lastname: "xxxxxxx", // email: "adrien@hotmail.fr", // role: 'admin', // birthday: date, // phonenumber: '0680705876', // isActive: true, // password: password // }); // user.save();