← back to Rentv Adintel

src/search/queries.js

91 lines

'use strict';
/**
 * §14 search-query templates.
 *
 * Each function takes { companyName, companyDomain } and returns the exact
 * query strings listed in §14. These feed a permitted search-provider API OR
 * become one-click manual search URLs. The two site:linkedin.com/in templates
 * and the site:linkedin.com/company template produce HUMAN-CLICK search queries
 * only — the app NEVER fetches linkedin.com (§6.3/§6.4, §14).
 */

function q(companyName) {
  return `"${companyName}"`;
}

/** All §14 templates, in order, as a flat array of query strings. */
function allQueries({ companyName, companyDomain } = {}) {
  const name = companyName || '';
  const domain = (companyDomain || '').replace(/^https?:\/\//, '').replace(/^www\./, '').replace(/\/.*$/, '');
  const c = q(name);
  const out = [
    `${c} commercial real estate California marketing`,
    `${c} Arizona commercial real estate sponsor`,
    `${c} media contact`,
    `${c} press release marketing director`,
    `${c} partnerships events`,
  ];
  if (domain) {
    out.push(`site:${domain} contact marketing`);
    out.push(`site:${domain} newsroom "media contact"`);
  }
  out.push(`site:linkedin.com/company ${c}`);
  out.push(`site:linkedin.com/in (marketing OR communications OR partnerships OR "business development") ${c} California`);
  out.push(`site:linkedin.com/in (marketing OR communications OR partnerships OR "business development") ${c} Arizona`);
  out.push(`${c} sponsor OR exhibitor OR advertising`);
  return out;
}

// --- Individual named templates (for callers that want them one at a time) ---

function marketingQuery({ companyName }) {
  return `${q(companyName)} commercial real estate California marketing`;
}
function arizonaSponsorQuery({ companyName }) {
  return `${q(companyName)} Arizona commercial real estate sponsor`;
}
function mediaContactQuery({ companyName }) {
  return `${q(companyName)} media contact`;
}
function pressReleaseQuery({ companyName }) {
  return `${q(companyName)} press release marketing director`;
}
function partnershipsQuery({ companyName }) {
  return `${q(companyName)} partnerships events`;
}
function siteContactQuery({ companyDomain }) {
  const d = (companyDomain || '').replace(/^www\./, '');
  return `site:${d} contact marketing`;
}
function siteNewsroomQuery({ companyDomain }) {
  const d = (companyDomain || '').replace(/^www\./, '');
  return `site:${d} newsroom "media contact"`;
}
function linkedinCompanyQuery({ companyName }) {
  return `site:linkedin.com/company ${q(companyName)}`;
}
function linkedinInCaliforniaQuery({ companyName }) {
  return `site:linkedin.com/in (marketing OR communications OR partnerships OR "business development") ${q(companyName)} California`;
}
function linkedinInArizonaQuery({ companyName }) {
  return `site:linkedin.com/in (marketing OR communications OR partnerships OR "business development") ${q(companyName)} Arizona`;
}
function sponsorExhibitorQuery({ companyName }) {
  return `${q(companyName)} sponsor OR exhibitor OR advertising`;
}

module.exports = {
  allQueries,
  marketingQuery,
  arizonaSponsorQuery,
  mediaContactQuery,
  pressReleaseQuery,
  partnershipsQuery,
  siteContactQuery,
  siteNewsroomQuery,
  linkedinCompanyQuery,
  linkedinInCaliforniaQuery,
  linkedinInArizonaQuery,
  sponsorExhibitorQuery,
};