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');
}
}