async function downloader()

in src/salesforce_downloader.ts [25:45]


async function downloader() {
	console.log('Fetching config from S3.');
	const config = await fetchConfig();
	const salesforce = await authenticate(config);
	console.log('Getting home delivery folder');
	const folders: Array<Folder & S3Folder> = [
		config.fulfilments.homedelivery.downloadFolder,
		...Object.keys(config.fulfilments.weekly).map(
			(k) =>
				config.fulfilments.weekly[k as keyof Config['fulfilments']['weekly']]
					.downloadFolder,
		),
	];
	const promises = folders.map((folder) =>
		download(config, salesforce, folder),
	);
	const result = await Promise.all(promises);
	return result.reduce((acc, val) => {
		return { ...acc, ...val };
	}, {});
}