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