function itemResponseToIngestionLambdaInput()

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: [],
	};
}