export async function retrieveTodaysCuration()

in lambda/rest-endpoints/src/curation.ts [58:86]


export async function retrieveTodaysCuration(
	region: string,
	variant: string,
): Promise<FeastAppContainer[]> {
	const s3response = await rawCurationDataForToday(region, variant);
	if (s3response.Body) {
		const rawData = await consumeReadable(
			s3response.Body as NodeJsRuntimeStreamingBlobTypes,
		);

		const rawJson = JSON.parse(rawData.toString()) as unknown;
		if (rawJson instanceof Array) {
			const data = (rawJson as unknown[]).map((d) =>
				FeastAppContainer.parse(d),
			);
			return data;
		} else {
			console.error(
				`Curation for ${region}/${variant} was not valid, no array at the root`,
			);
			throw new Error('Invalid curation data');
		}
	} else {
		console.error(
			`S3 object existed for ${region}/${variant} but no data recieved`,
		);
		throw new Error('No data received');
	}
}