// Load environment variables THIS MUST BE AT THE TOP
const { networkInterfaces, hostname } = require("node:os");

const getHostNameOrIP = () => {
  // Try to get the hostname first
  const hostName = hostname();
  if (hostName) return hostName;

  const interfaces = networkInterfaces();
  for (const name of Object.keys(interfaces)) {
    for (const iface of interfaces[name]) {
      if (iface.family === "IPv4" && !iface.internal) {
        return iface.address;
      }
    }
  }

  return "127.0.0.1";
};

module.exports = getHostNameOrIP;
