const { Server } = require('socket.io');

let io;
module.exports = function(server) {
  // Inisialisasi Socket.IO dengan server HTTP
  io = new Server(server, {
    cors: {
      origin: "https://wabill.antmedia.id", // Sesuaikan dengan URL Vue.js
      methods: ["GET", "POST"],
      credentials: true
    }
  });

  // Event handler untuk koneksi socket
  io.on('connection', (socket) => {
    console.log('User connected:', socket.id);

    // Mendengarkan pesan dari client
    socket.on('message', (msg) => {
      console.log('Message received from client:', msg);

      // Mengirim pesan kembali ke semua client yang terhubung
      io.emit('message', msg);
    });

    // Event ketika client terputus
    socket.on('disconnect', () => {
      console.log('User disconnected:', socket.id);
    });
  });

  return io;
};

module.exports.sendnotif = (type, message, data) => {
    const payload = {
        type,
        message,
        data
    }
    io.emit('message', payload)
}