getValidToken method

FutureOr<APIToken?> getValidToken(
  1. String username, {
  2. required bool autoCreate,
})

Implementation

FutureOr<APIToken?> getValidToken(String username,
    {required bool autoCreate}) {
  return getUsernameValidTokens(username).resolveMapped((userTokens) {
    if (userTokens.isEmpty) {
      if (!autoCreate) return null;

      var token = createToken(username);
      userTokens.add(token);

      autoValidateAllTokens();

      return token;
    }

    if (userTokens.length == 1) {
      return userTokens.first;
    }

    userTokens.sort();
    var token = userTokens.last;
    return token;
  });
}