Session.fromApi constructor

Session.fromApi(
  1. ApiSession session
)

Implementation

factory Session.fromApi(ApiSession session) {
  final token = JwtDecoder.decode(session.token!);
  assert(token.containsKey('uid'));

  final refreshToken = JwtDecoder.decode(session.refreshToken!);

  return Session(
    token: session.token!,
    refreshToken: session.refreshToken,
    created: session.created ?? false,
    vars: token.containsKey('vars') ? token['vars'] as Map<String, String>? : {},
    userId: token['uid'] as String,
    expiresAt: DateTime.fromMillisecondsSinceEpoch(
      (token['exp'] as int) * 1000,
    ),
    refreshExpiresAt: DateTime.fromMillisecondsSinceEpoch(
      (refreshToken['exp'] as int) * 1000,
    ),
  );
}