jobs-monorepo/services/scraper-glassdoor/queries/save-job-description.ts
Elshimy Ziad Magdy Taha a195d3b8fe google scraper
2025-12-15 10:26:52 +05:00

33 lines
886 B
TypeScript

import sql from "../db/db";
import { Job } from "../types/job";
export const saveJobDescriptions = async (jobs: Job[]) => {
if (jobs.length === 0) {
console.log("No jobs to save descriptions for.");
return;
}
try {
const jobDescriptionsForDb = jobs.map((job) => ({
job_id: job.id,
description: job.description,
job_criteria: job.criteria,
}));
await sql`
INSERT INTO public.job_descriptions ${sql(
jobDescriptionsForDb,
"job_id",
"description",
"job_criteria"
)}
ON CONFLICT (job_id) DO UPDATE SET
description = EXCLUDED.description,
job_criteria = EXCLUDED.job_criteria,
updated_at = CURRENT_TIMESTAMP
`;
console.log(`Updated descriptions for ${jobs.length} jobs.`);
} catch (error) {
console.error("Error updating job descriptions:", error);
}
};