import SiteSettings from '../Features/site-settings/schema/site-settings.schema';

export type BusinessProfile = {
  name: string;
  tagline: string;
  location: string;
  phone: string;
  email: string;
  website: string;
};

const DEFAULTS = {
  key: 'global',
  name: 'mj.Lux Beauty Studio',
  tagline: 'Where Luxury Becomes You',
  location: 'Spintex Road, Accra, Ghana',
  phone: '020 723 4110',
  email: 'hello@mjluxbeauty.com',
};

function resolveWebsite() {
  const frontend = process.env.FRONTEND_URL?.trim();
  if (!frontend) return 'mjluxbeautysalon.com';
  try {
    return new URL(frontend).host;
  } catch {
    return frontend.replace(/^https?:\/\//, '');
  }
}

export async function getBusinessProfile(): Promise<BusinessProfile> {
  let settings = await SiteSettings.findOne({ key: 'global' }).lean();
  if (!settings) {
    settings = await SiteSettings.create(DEFAULTS);
  }

  return {
    name: settings.name || DEFAULTS.name,
    tagline: settings.tagline || 'Where Luxury Becomes You',
    location: settings.location || DEFAULTS.location,
    phone: settings.phone || DEFAULTS.phone,
    email: settings.email || DEFAULTS.email,
    website: resolveWebsite(),
  };
}
