rsshub
Version:
Make RSS Great Again!
83 lines (81 loc) • 2.48 kB
JavaScript
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import "./helpers-DxBp0Pty.mjs";
import { t as art } from "./render-BQo6B4tL.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import path from "node:path";
//#region lib/routes/lmu/jobs.ts
init_esm_shims();
const apiUrl = "https://jobs.b-ite.com/api/v1/postings/search";
function findLabel(value, options) {
return options.find((option) => option.value === value)?.label ?? value;
}
async function handler() {
const { data: response } = await got_default.post(apiUrl, {
json: {
key: "7d4ebad4ecdfd3e99a89596c85c5e4be21cd9c12",
channel: 0,
locale: "en",
sort: {
by: "custom.bereich",
order: "asc"
},
origin: "https://www.lmu.de/en/about-lmu/working-at-lmu/job-portal/academic-staff/",
page: {
offset: 0,
num: 1e3
},
filter: {
locale: { in: ["en"] },
"custom.beschaeftigtengruppe": { in: ["02_wiss"] }
}
},
headers: {
"content-type": "application/json",
"bite-jobsapi-client": "v5-20230925-9df79de"
}
});
const jobPostings = response.jobPostings;
const bereichOptions = response.fields["custom.bereich"].options;
const verguetungOptions = response.fields["custom.verguetung"].options;
return {
title: "LMU Academic Staff Job Openings",
link: "https://www.lmu.de/en/about-lmu/working-at-lmu/job-portal/academic-staff/",
item: jobPostings.map((job) => {
const pubDate = parseDate(job.createdOn, "YYYY-MM-DDTHH:mm:ssZ");
const institutionLabel = findLabel(job.custom.bereich, bereichOptions);
const RemunerationGroupLabel = findLabel(job.custom.verguetung, verguetungOptions);
const description = art(path.join(__dirname, "templates/jobPosting-6ff08743.art"), {
institutionLabel,
RemunerationGroupLabel,
job
});
return {
title: job.title,
link: job.url,
description,
pubDate
};
})
};
}
const route = {
path: "/jobs",
name: "Job Openings",
url: "lmu.de",
example: "/lmu/jobs",
maintainers: ["StarDxxx"],
categories: ["university", "study"],
radar: [{
source: ["www.lmu.de/en/about-lmu/working-at-lmu/job-portal/academic-staff/"],
target: "/lmu/jobs"
}],
description: "RSS feed for LMU academic staff job openings.",
handler
};
//#endregion
export { route };