export async function subscribeGroups()

in packages/app/src/cloudwatch.ts [34:64]


export async function subscribeGroups(
	cloudwatchLogs: CloudWatchLogs,
	groups: LogGroup[],
	filterName: string,
	targetLambda: string,
): Promise<void> {
	await Promise.all(
		groups.map(async (group) => {
			const subscriptions = await getSubscriptions(
				cloudwatchLogs,
				group.logGroupName!,
				filterName,
			);
			const subscriptionExists = subscriptions.some(
				(sub) =>
					sub.filterName === filterName && sub.destinationArn === targetLambda,
			);
			if (!subscriptionExists) {
				console.log(
					`Adding subscription for ${group.logGroupName!} with name ${filterName}`,
				);
				await putSubscription(
					cloudwatchLogs,
					group.logGroupName!,
					filterName,
					targetLambda,
				);
			}
		}),
	);
}