lockoutRemaining static method
Implementation
static Duration? lockoutRemaining(
String realmUri,
String authId,
RealmLimitSettings limits,
) {
if (!_trackingEnabled(limits)) {
_realmFailures.remove(realmUri);
return null;
}
final now = DateTime.now();
_removeExpiredRecords(realmUri, now);
final realmMap = _realmFailures[realmUri];
final record = realmMap?[_authIdKey(authId)];
final lockedUntil = record?.lockedUntil;
if (lockedUntil == null) {
return null;
}
if (lockedUntil.isAfter(now)) {
return lockedUntil.difference(now);
}
realmMap!.remove(_authIdKey(authId));
if (realmMap.isEmpty) {
_realmFailures.remove(realmUri);
}
return null;
}