Class TrueFoundryUser

java.lang.Object
edu.internet2.middleware.grouper.app.truefoundry.TrueFoundryUser

public class TrueFoundryUser extends Object
  • Constructor Details

    • TrueFoundryUser

      public TrueFoundryUser()
  • Method Details

    • createTableTrueFoundryUser

      public static void createTableTrueFoundryUser(DdlVersionBean ddlVersionBean, Database database)
    • getId

      public String getId()
    • setId

      public void setId(String id)
    • getEmail

      public String getEmail()
    • setEmail

      public void setEmail(String email)
    • getDisplayName

      public String getDisplayName()
    • setDisplayName

      public void setDisplayName(String displayName)
    • getActive

      public Boolean getActive()
    • setActive

      public void setActive(Boolean active)
    • getActiveString

      public String getActiveString()
    • setActiveString

      public void setActiveString(String activeString)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • fromJson

      public static TrueFoundryUser fromJson(com.fasterxml.jackson.databind.JsonNode userNode)
      Convert from TrueFoundry subjects API response. Expects a user object from the "users" array.
      Parameters:
      userNode - a user object from the subjects response
      Returns:
      the TrueFoundryUser
    • toJson

      public com.fasterxml.jackson.databind.node.ObjectNode toJson(Set<String> fieldNamesToSet)
      Convert to a JSON representation of this user for MCP/admin display purposes.
      Parameters:
      fieldNamesToSet - field names to include, or null for all
      Returns:
      the user as a JSON ObjectNode
    • toRegisterJson

      public com.fasterxml.jackson.databind.node.ObjectNode toRegisterJson()
      Convert to JSON for the register endpoint (POST /api/svc/v1/users/register). Only email is sent; no ID is returned in the response.
      Returns:
      the register request body
    • toScimPatchDisplayNameJson

      public com.fasterxml.jackson.databind.node.ObjectNode toScimPatchDisplayNameJson()
      Convert to SCIM PATCH JSON for updating displayName. Uses the native user ID directly (no separate SCIM ID lookup needed). Note: do not create users via SCIM — only PATCH existing natively-registered users.
      Returns:
      the SCIM PatchOp request body
    • toProvisioningEntity

      public ProvisioningEntity toProvisioningEntity()
      Convert to a Grouper provisioning entity. TrueFoundry is email-based, so the provisioning entity ID is the user's email address. The email is also used as the SCIM user identifier for display name updates.
      Returns:
      the converted entity
    • fromProvisioningEntity

      public static TrueFoundryUser fromProvisioningEntity(ProvisioningEntity targetEntity, Set<String> fieldNamesToSet)
      Convert from a provisioning entity to a TrueFoundryUser. The provisioning entity ID is the user's email (TrueFoundry is email-based).
      Parameters:
      targetEntity - the Grouper provisioning entity to convert
      fieldNamesToSet - the field names to be set, or null for all
      Returns:
      the TrueFoundryUser created from the provisioning entity