def checkHasOptedIn()

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
            }
        }
    }