export function createDigestForAccount()

in packages/cloudbuster/src/digests.ts [42:77]


export function createDigestForAccount(
	accountFindings: cloudbuster_fsbp_vulnerabilities[],
): Digest | undefined {
	const vulnCutOffInDays = 60;

	const cutOffDate = new Date();
	cutOffDate.setDate(cutOffDate.getDate() - vulnCutOffInDays);
	const recentFindings = accountFindings.filter(
		(f) => f.first_observed_at && f.first_observed_at > cutOffDate,
	);

	if (recentFindings.length === 0 || !recentFindings[0]) {
		return undefined;
	}

	const [finding] = recentFindings;

	const { aws_account_name, aws_account_id } = finding;
	if (aws_account_name && aws_account_id) {
		return {
			accountId: aws_account_id,

			accountName: aws_account_name,
			actions: createCta(aws_account_name),
			subject: `Security Hub findings for AWS account ${aws_account_name}`,
			message: createEmailBody(
				recentFindings,
				vulnCutOffInDays,
				aws_account_name,
				stringToSeverity(finding.severity),
			),
		};
	} else {
		return undefined;
	}
}