in poller-lambdas/src/pollers/reuters/reutersPoller.ts [144:184]
function itemResponseToIngestionLambdaInput(
item: z.infer<typeof ReutersItemSchema>,
): IngestorInputBody {
const { bodyXhtmlRich, bodyXhtml } = item;
const bodyHtml = parse(bodyXhtmlRich ?? bodyXhtml ?? '').querySelector(
'body',
)?.innerHTML;
return {
originalContentText: item.bodyXhtmlRich,
uri: item.uri,
'source-feed': 'Reuters-Newswires',
usn: item.usn,
version: item.version,
type: item.type,
firstVersion: item.firstCreated,
versionCreated: item.versionCreated,
dateTimeSent: item.versionCreated,
originalUrn: item.versionedGuid,
slug: item.slug,
headline: item.headLine,
byline: item.byLine,
priority: item.urgency?.toString() ?? '',
subjects: {
code: item.subject
.map((subject) => subject.code)
.filter((_): _ is string => _ !== undefined),
},
mediaCatCodes: '',
keywords: [],
organisation: { symbols: [] },
tabVtxt: 'X',
status: item.pubStatus,
usage: item.usageTerms,
ednote: '',
abstract: item.fragment,
body_text: bodyHtml,
copyrightNotice: item.copyrightNotice,
language: item.language,
imageIds: [],
};
}