in libs/newsletters-data-client/src/lib/layout-storage/S3LayoutStorage.ts [93:122]
async readAll(): Promise<
SuccessfulStorageResponse<EditionsLayouts> | UnsuccessfulStorageResponse
> {
try {
const listOfObjectsKeys = await this.getListOfObjectsKeys();
const layouts: EditionsLayouts = {};
await Promise.all(
listOfObjectsKeys.map(async (key) => {
const editionId = this.keyToEditionId(key);
const s3Response = await this.fetchObject(key);
const responseAsLayout = await objectToLayout(s3Response);
if (responseAsLayout && editionId) {
layouts[editionId] = responseAsLayout;
}
}),
);
return {
ok: true,
data: layouts,
};
} catch (error) {
console.error(error);
return {
ok: false,
message: `failed to list newsletters`,
reason: StorageRequestFailureReason.S3Failure,
};
}
}