AccessToken.fromJson constructor

AccessToken.fromJson(
  1. Map<String, dynamic> json
)

convert the data provided for the platform channel to one instance of AccessToken

json data returned by the platform channel

Implementation

factory AccessToken.fromJson(Map<String, dynamic> json) {
  late final DateTime dataAccessExpirationTime;

  if (json['dataAccessExpirationTime'] is String) {
    dataAccessExpirationTime = DateTime.parse(
      json['dataAccessExpirationTime'],
    );
  } else {
    dataAccessExpirationTime = DateTime.fromMillisecondsSinceEpoch(
      json['dataAccessExpirationTime'],
    );
  }

  return AccessToken(
    userId: json['userId'],
    token: json['token'],
    expires: DateTime.fromMillisecondsSinceEpoch(
      json['expires'].clamp(
        minMillisecondsSinceEpoch,
        maxMillisecondsSinceEpoch,
      ),
    ),
    lastRefresh: DateTime.fromMillisecondsSinceEpoch(json['lastRefresh']),
    applicationId: json['applicationId'],
    graphDomain: json['graphDomain'],
    isExpired: json['isExpired'],
    declinedPermissions: json['declinedPermissions'] != null
        ? List<String>.from(json['declinedPermissions'])
        : null,
    grantedPermissions: json['grantedPermissions'] != null
        ? List<String>.from(json['grantedPermissions'])
        : null,
    dataAccessExpirationTime: dataAccessExpirationTime,
  );
}