in formstack-consents/src/main/scala/com/gu/identity/formstackconsents/IdentityClient.scala [57:78]
def checkHasOptedIn(formstackSubmission: FormstackSubmission): Boolean = {
val formId = formstackSubmission.formId
optInForms.find(f => f.formId == formstackSubmission.formId) match {
// Extra opt in is required
case Some(_) =>
formstackSubmission.opt_in match {
case Some(optInValue) => optInValue // opt in required. Field present as expected.
case None =>
logger.error(s"Opt in error: Missing required opt in data for FormID: $formId")
false // opt in required BUT missing expected opt in field.
}
// Extra opt in NOT required
case None =>
formstackSubmission.opt_in match {
case None => true // opt in not required. No unexpected opt_in field present
case Some(_) =>
logger.error(s"Opt in error: Unexpected data received for FormID: $formId")
false // opt in not required BUT unexpected opt_in field present
}
}
}