INNER CODE UNIT · TypeScript
checkUserSignedTerms
cisagov/crossfeed · backend/src/api/app.ts:123
const checkUserSignedTerms = (req, res, next) => {
// Bypass ToU for CISA emails
const approvedEmailAddresses = ['@cisa.dhs.gov', '@associates.cisa.dhs.gov'];
if (process.env.NODE_ENV === 'test')
approvedEmailAddresses.push('@crossfeed.cisa.gov');
for (const email of approvedEmailAddresses) {
if (
req.requestContext.authorizer.email &&
req.requestContext.authorizer.email.endsWith(email)
)
return next();
}
if (
!req.requestContext.authorizer.dateAcceptedTerms ||
(req.requestContext.authorizer.acceptedTermsVersion &&
req.requestContext.authorizer.acceptedTermsVersion !==
getToUVersion(req.requestContext.authorizer))
) {