public UserUnverifyHistoryItem(UnverifyLog logItem) { var data = logItem.Json.ToObject <UnverifyLogSet>(); AuditID = logItem.ID; IsSelfUnverify = data.IsSelfUnverify; Time = TimeSpan.FromSeconds(Convert.ToInt32(data.TimeFor)); Reason = data.Reason; }
public async Task LogOperationAsync(UnverifyLogOperation operation, IUser fromUser, IGuild guild, UnverifyLogDataBase data) { var entity = new UnverifyLog() { Data = JsonConvert.SerializeObject(data), DateTime = DateTime.Now, GuildID = guild.Id.ToString(), Operation = operation, FromUserID = fromUser.Id.ToString() }; await Context.UnverifyLog.AddAsync(entity).ConfigureAwait(false); await Context.SaveChangesAsync().ConfigureAwait(false); }
public void LogOperation(UnverifyLogOperation operation, IUser fromUser, IGuild guild, IUser toUser, object data) { var entity = new UnverifyLog() { Data = JsonConvert.SerializeObject(data), DateTime = DateTime.Now, GuildIDSnowflake = guild.Id, Operation = operation, FromUserIDSnowflake = fromUser.Id, DestUserIDSnowflake = toUser.Id }; Context.UnverifyLog.Add(entity); Context.SaveChanges(); }
public async Task <UnverifyLog> SaveLogOperationAsync(UnverifyLogOperation operation, JObject jsonData, long fromUserID, long toUserID) { var entity = new UnverifyLog() { CreatedAt = DateTime.Now, FromUserID = fromUserID, Json = jsonData, Operation = operation, ToUserID = toUserID }; await GrillBotRepository.AddAsync(entity); await GrillBotRepository.CommitAsync(); return(entity); }
public UnverifyAuditItem(UnverifyLog log, DiscordSocketClient client) { ID = log.ID; Operation = log.Operation; DateTime = log.DateTime; Guild = client.GetGuild(log.GuildIDSnowflake); switch (log.Operation) { case UnverifyLogOperation.AutoRemove: case UnverifyLogOperation.Remove: { var data = log.Json.ToObject <UnverifyLogRemove>(); RemoveLogData = new AuditItemRemoveOperation() { OverridedChannels = data.Overrides.Select(o => Guild.GetChannel(o.ChannelIdSnowflake)).Where(o => o != null).ToList(), Roles = data.Roles.Select(o => Guild.GetRole(o)).ToList() }; } break; case UnverifyLogOperation.Set: { var data = log.Json.ToObject <UnverifyLogSet>(); SetLogData = new AuditItemSetOperation() { OverridedChannels = data.Overrides.Select(o => Guild.GetChannel(o.ChannelIdSnowflake)).Where(o => o != null).ToList(), Roles = data.Roles.Select(o => Guild.GetRole(o)).ToList(), Reason = data.Reason, StartAt = data.StartAt, Time = data.TimeFor, IsSelfUnverify = data.IsSelfUnverify, Subjects = data.Subjects ?? new List <string>() }; } break; case UnverifyLogOperation.Update: UpdateLogData = new AuditItemUpdateOperation() { Time = log.Json.ToObject <UnverifyLogUpdate>().TimeFor }; break; } }
public UnverifyLogItem(UnverifyLog entity, DiscordSocketClient client) { var guild = client.GetGuild(entity.FromUser.GuildIDSnowflake); ID = entity.ID; Operation = entity.Operation; DateTime = entity.CreatedAt; FromUser = guild.GetUserFromGuildAsync(entity.FromUser.UserIDSnowflake).Result; ToUser = guild.GetUserFromGuildAsync(entity.ToUser.UserIDSnowflake).Result; switch (entity.Operation) { case UnverifyLogOperation.Autoremove: case UnverifyLogOperation.Remove: case UnverifyLogOperation.Recover: var removeLogData = entity.Json.ToObject <UnverifyLogRemove>(); RemoveData = new UnverifyRemoveOperation() { ReturnedChannels = removeLogData.ReturnedOverrides.Select(o => guild.GetChannel(o.ChannelID)).Where(o => o != null).ToList(), ReturnedRoles = removeLogData.ReturnedRoles.Select(o => guild.GetRole(o)).Where(o => o != null).ToList() }; break; case UnverifyLogOperation.Selfunverify: case UnverifyLogOperation.Unverify: var logData = entity.Json.ToObject <UnverifyLogSet>(); Profile = new UnverifyUserProfile() { EndDateTime = logData.EndDateTime, Reason = logData.Reason, StartDateTime = logData.StartDateTime, ChannelsToKeep = logData.ChannelsToKeep.Select(o => new ChannelOverwrite(guild.GetChannel(o.ChannelID), new OverwritePermissions(o.AllowValue, o.DenyValue))).Where(o => o.Channel != null).ToList(), ChannelsToRemove = logData.ChannelsToRemove.Select(o => new ChannelOverwrite(guild.GetChannel(o.ChannelID), new OverwritePermissions(o.AllowValue, o.DenyValue))).Where(o => o.Channel != null).ToList(), RolesToKeep = logData.RolesToKeep.Select(o => guild.GetRole(o)).Where(o => o != null).ToList(), RolesToRemove = logData.RolesToRemove.Select(o => guild.GetRole(o)).Where(o => o != null).ToList() }; break; case UnverifyLogOperation.Update: UpdateData = entity.Json.ToObject <UnverifyLogUpdate>(); break; } }