public override async Task <AlertListReply> ListAlerts(Empty request, ServerCallContext context) { AppUser user = await _userManager.GetUserAsync(context.GetHttpContext().User); List <IAlert> alerts = await _alertManager.GetUserAlertsAsync(user); AlertListReply alertListReply = new AlertListReply { }; foreach (IAlert alert in alerts) { System.Type alertType = alert.GetType(); if (alertType == typeof(BruteforceUserAlert)) { BruteforceUserAlert castedAlert = (BruteforceUserAlert)alert; alertListReply.Alerts.Add( new Alert { BruteforceUserAlert = new Alert.Types.BruteforceUserAlert(), Level = Shared.ClientAndWeb.Security.Alert.Types.LevelEnum.Low, Id = alert.Id.ToString(), } ); } } return(alertListReply); }
private async Task IssueAlertIfUserIsNowBlocked(AppUser user) { if (await IsUserBlockedAsync(user)) { BruteforceUserAlert alert = new BruteforceUserAlert(user); await _alertManager.AddAlertAsync(alert); } }
public async Task <List <IAlert> > GetUserAlertsAsync(AppUser user) { List <UserSecurityAlert> alerts = await _authDbContext.UserSecurityAlerts.ToListAsync(); List <IAlert> alertList = new List <IAlert>(); foreach (UserSecurityAlert alert in alerts) { switch (alert.AlertType) { case AlertTypeEnum.BruteforceUserAlert: BruteforceUserAlert bruteforceUserAlert = new BruteforceUserAlert(user); bruteforceUserAlert.Id = alert.Id; alertList.Add(bruteforceUserAlert); break; } } return(alertList); }