const mysql = require('mysql');

const amqp = require('amqplib');

const rabbitMqConnectionUrl = 'amqp://guest:guest@localhost:5672/prakash';

const connection = mysql.createConnection({

 host: 'localhost',

 user: 'root',

 password: 'root@123',

 database: 'abc',

});


connection.connect((error) => {

 if (error) {

   console.error('Error connecting to MySQL: ' + error.stack);

   return;

 }

 console.log('Connected to MySQL as id ' + connection.threadId);

});

async function connectRabbitMq() {

 const connection = await amqp.connect(rabbitMqConnectionUrl);

 const channel = await connection.createChannel();

 console.log('Connected to RabbitMQ');

 return channel;

}

async function start() {

   const channel = await connectRabbitMq();

   const queueName = 'pk';


   channel.assertQueue(queueName, {

       durable: true,

   });

  var name = "prakash"

  var add = "buxar";

 var message = [`${name}`, `${add}`];

    channel.sendToQueue(queueName, Buffer.from(JSON.stringify(message)),{ persistent: true });

   channel.consume(queueName, (message) => {

     msgArr = message.content.toString();

     var obj = JSON.parse(msgArr);

    

     var data = {

       name: obj[0],

       address: obj[1]

     };

       console.log("data is= ", data.name);

       console.log("data is= ",data.address);

        // connection.query(`INSERT INTO users (name, address) VALUES (?,?)`, JSON.parse(message.content.toString()), (error) => {

       //   if (error) {

       //     console.error('Error saving message to MySQL:', error);

       //   } else {

       //     console.log('Message saved to MySQL');

       //   }


      

       // });

     // }

   });

}

start();