def requiredCustomProfileField()

in app/model/User.scala [44:71]


  def requiredCustomProfileField(oktaUser: OktaUser, fieldName: String): String =
    oktaUser.getProfile.getAdditionalProperties.get(fieldName).asInstanceOf[String]

  object writes {

    // Not implicit because there will be multiple representations of a User and we want to be explicit about which one we're using
    val me: Writes[User] = user =>
      Json.obj(
        "identityId" -> user.legacyIdentityId,
        "emailAddress" -> user.emailAddress,
        "emailValidated" -> user.emailValidated,
        "username" -> user.userName,
        "title" -> user.name.title,
        "firstName" -> user.name.firstName,
        "lastName" -> user.name.lastName,
        "addressLine1" -> user.address.line1,
        "addressLine2" -> user.address.line2,
        "addressLine3" -> user.address.line3,
        "addressLine4" -> user.address.line4,
        "postcode" -> user.address.postcode,
        "isoCountryCode" -> user.address.country.map(_.code),
        "internationalDiallingCode" -> user.phoneNumber.map(_.countryCode),
        "localNumber" -> user.phoneNumber.map(_.localNumber),
        "registrationLocation" -> user.registrationLocation,
        "registrationLocationState" -> user.registrationLocationState,
        "permissions" -> user.permissions
      )
  }