User constructor

User(
  1. {required dynamic user,
  2. required IdTokenResult accessToken,
  3. required dynamic refreshToken,
  4. required FusabaseAuth auth}
)

Constructs a User.

user User data map. accessToken Access token. refreshToken Refresh token. auth Auth instance.

Initializes various fields from user data.

Example:

final user = User(user: userData, accessToken: token, refreshToken: refresh, auth: auth);

Implementation

User({
  required dynamic user,
  required IdTokenResult accessToken,
  required refreshToken,
  required FusabaseAuth auth,
}) : _auth = auth,
     _refreshToken = refreshToken,
     _accessToken = accessToken,
     _fusabaseToken = null,
     __logLevel = auth.app.logLevel,
     _ocid = user["ocid"],
     _schemas = user["schemas"],
     _phoneNumber =
         user["phoneNumbers"] != null
             ? user["phoneNumbers"][0]["value"]
             : null,
     _photoURL = user["photos"] != null ? user["photos"][0]["value"] : null,
     _displayName = user["displayName"],
     _metadata = UserMetadata(
       parseTimestampString(user["meta"]["created"]),
       parseTimestampString(user["meta"]["lastSignIn"]),
     ),
     _providerData = [
       UserInfo(<dynamic, dynamic>{
         "uid": user["id"],
         "displayName": user["displayName"],
         "email": user["emails"][0]["value"],
         "phoneNumber":
             user["phoneNumbers"] != null
                 ? user["phoneNumbers"][0]["value"]
                 : null,
         "photoURL":
             user["photos"] != null ? user["photos"][0]["value"] : null,
         "providerId": user["idp_name"],
       }),
     ],
     _email = user["emails"][0]["value"], // Look at this
     _uid = user["id"],
     _isAnonymous = false,
     _options = auth.options,
     _userHelper =
         auth.config.authType == 'idcs'
             ? IDCSUserHelper(
               options: auth.options,
               config: auth.config,
               logLevel: auth.app.logLevel,
             )
             : ONPREMUserHelper(
               options: auth.options,
               config: auth.config,
               logLevel: auth.app.logLevel,
             ) {
  _userHelper._setApp(auth.app);
}