| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- const mongoose = require('mongoose');
- // Chaîne de connexion avec authentification (identifiants en clair)
- const db = 'mongodb://admin:azerty10@database_prod: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();
|