← 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,
};