From 40b4ebf0fa8ff1799334089404b656cb9828ab1a Mon Sep 17 00:00:00 2001 From: Toastie Date: Thu, 12 Sep 2024 15:44:35 +1200 Subject: [PATCH] migrations, query fixes, fixes for mysql and postgres. In progress --- .gitignore | 5 +- src/EllieBot.Tests/GroupGreetTests.cs | 76 - src/EllieBot/Bot.cs | 60 +- src/EllieBot/Db/EllieContext.cs | 13 + .../Db/Extensions/GuildConfigExtensions.cs | 124 +- .../20240911104906_greet-settings.Designer.cs | 3790 ++++++++++++ .../Mysql/20240911104906_greet-settings.cs | 202 + .../Mysql/MysqlContextModelSnapshot.cs | 5433 ++++++++--------- .../PostgreSql/20220916194523_autopub.cs | 10 - .../20240911104857_greet-settings.Designer.cs | 3785 ++++++++++++ .../20240911104857_greet-settings.cs | 196 + .../PostgreSqlContextModelSnapshot.cs | 5427 ++++++++-------- .../20240911104847_greet-settings.Designer.cs | 2925 +++++++++ .../Sqlite/20240911104847_greet-settings.cs | 219 + .../Sqlite/EllieSqliteContextModelSnapshot.cs | 3860 ++++++------ .../Administration/GreetBye/GreetCommands.cs | 305 +- .../Administration/GreetBye/GreetGrouper.cs | 71 - .../Administration/GreetBye/GreetService.cs | 350 +- .../Administration/GreetBye/GreetSettings.cs | 69 +- .../UserPunish/UserPunishService.cs | 29 +- .../Expressions/EllieExpressionExtensions.cs | 2 +- src/EllieBot/Modules/Help/HelpService.cs | 2 +- .../Utility/Repeater/RepeaterService.cs | 2 +- .../Services/Impl/BotCredsProvider.cs | 24 +- .../Extensions/EnumerableExtensions.cs | 16 + src/EllieBot/_common/Configs/BotConfig.cs | 14 - .../Replacements/Impl/ReplacementContext.cs | 15 +- .../Replacements/Impl/ReplacementService.cs | 12 +- .../data/strings/commands/commands.en-US.yml | 4 +- 29 files changed, 18970 insertions(+), 8070 deletions(-) delete mode 100644 src/EllieBot.Tests/GroupGreetTests.cs create mode 100644 src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.Designer.cs create mode 100644 src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.cs create mode 100644 src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.Designer.cs create mode 100644 src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.cs create mode 100644 src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.Designer.cs create mode 100644 src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.cs delete mode 100644 src/EllieBot/Modules/Administration/GreetBye/GreetGrouper.cs diff --git a/.gitignore b/.gitignore index 8330cb8..8c045b8 100644 --- a/.gitignore +++ b/.gitignore @@ -20,9 +20,8 @@ src/EllieBot/credentials.json src/EllieBot/old_credentials.json src/EllieBot/credentials.json.bak src/EllieBot/data/EllieBot.db -build.ps1 -build.sh -test.ps1 +ellie-menu.ps1 +package.sh # Created by https://www.gitignore.io/api/visualstudio,visualstudiocode,windows,linux,macos diff --git a/src/EllieBot.Tests/GroupGreetTests.cs b/src/EllieBot.Tests/GroupGreetTests.cs deleted file mode 100644 index ba2bf37..0000000 --- a/src/EllieBot.Tests/GroupGreetTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System.Linq; -using System.Threading.Tasks; -using Ellie.Common; -using EllieBot.Services; -using NUnit.Framework; - -namespace EllieBot.Tests -{ - public class GroupGreetTests - { - private GreetGrouper _grouper; - - [SetUp] - public void Setup() - => _grouper = new GreetGrouper(); - - [Test] - public void CreateTest() - { - var created = _grouper.CreateOrAdd(0, 5); - - Assert.True(created); - } - - [Test] - public void CreateClearTest() - { - _grouper.CreateOrAdd(0, 5); - _grouper.ClearGroup(0, 5, out var items); - - Assert.AreEqual(0, items.Count()); - } - - [Test] - public void NotCreatedTest() - { - _grouper.CreateOrAdd(0, 5); - var created = _grouper.CreateOrAdd(0, 4); - - Assert.False(created); - } - - [Test] - public void ClearAddedTest() - { - _grouper.CreateOrAdd(0, 5); - _grouper.CreateOrAdd(0, 4); - _grouper.ClearGroup(0, 5, out var items); - - var list = items.ToList(); - - Assert.AreEqual(1, list.Count, $"Count was {list.Count}"); - Assert.AreEqual(4, list[0]); - } - - [Test] - public async Task ClearManyTest() - { - _grouper.CreateOrAdd(0, 5); - - // add 15 items - await Enumerable.Range(10, 15) - .Select(x => Task.Run(() => _grouper.CreateOrAdd(0, x))).WhenAll(); - - // get 5 at most - _grouper.ClearGroup(0, 5, out var items); - var list = items.ToList(); - Assert.AreEqual(5, list.Count, $"Count was {list.Count}"); - - // try to get 15, but there should be 10 left - _grouper.ClearGroup(0, 15, out items); - list = items.ToList(); - Assert.AreEqual(10, list.Count, $"Count was {list.Count}"); - } - } -} \ No newline at end of file diff --git a/src/EllieBot/Bot.cs b/src/EllieBot/Bot.cs index 3ea8ffa..af69cee 100644 --- a/src/EllieBot/Bot.cs +++ b/src/EllieBot/Bot.cs @@ -1,5 +1,6 @@ #nullable disable using DryIoc; +using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; using EllieBot.Common.Configs; @@ -88,18 +89,18 @@ public sealed class Bot : IBot public IReadOnlyList GetCurrentGuildIds() - => Client.Guilds.Select(x => x.Id).ToList().ToList(); + => Client.Guilds.Select(x => x.Id).ToList().AsReadOnly(); - private void AddServices() + private async Task AddServices() { - var startingGuildIdList = GetCurrentGuildIds(); + var startingGuildIdList = GetCurrentGuildIds().ToList(); var startTime = Stopwatch.GetTimestamp(); var bot = Client.CurrentUser; - using (var uow = _db.GetDbContext()) + await using (var uow = _db.GetDbContext()) { + AllGuildConfigs = await uow.GuildConfigs.GetAllGuildConfigs(startingGuildIdList); uow.EnsureUserCreated(bot.Id, bot.Username, bot.Discriminator, bot.AvatarId); - AllGuildConfigs = uow.Set().GetAllGuildConfigs(startingGuildIdList).ToImmutableArray(); } // var svcs = new StandardKernel(new NinjectSettings() @@ -161,7 +162,8 @@ public sealed class Bot : IBot LoadTypeReaders(a); } - Log.Information("All services loaded in {ServiceLoadTime:F2}s", Stopwatch.GetElapsedTime(startTime).TotalSeconds); + Log.Information("All services loaded in {ServiceLoadTime:F2}s", + Stopwatch.GetElapsedTime(startTime).TotalSeconds); } private void LoadTypeReaders(Assembly assembly) @@ -265,7 +267,7 @@ public sealed class Bot : IBot Log.Information("Shard {ShardId} loading services...", Client.ShardId); try { - AddServices(); + await AddServices(); } catch (Exception ex) { @@ -273,7 +275,9 @@ public sealed class Bot : IBot Helpers.ReadErrorAndExit(9); } - Log.Information("Shard {ShardId} connected in {Elapsed:F2}s", Client.ShardId, Stopwatch.GetElapsedTime(startTime).TotalSeconds); + Log.Information("Shard {ShardId} connected in {Elapsed:F2}s", + Client.ShardId, + Stopwatch.GetElapsedTime(startTime).TotalSeconds); var commandHandler = Services.GetRequiredService(); // start handling messages received in commandhandler @@ -338,26 +342,26 @@ public sealed class Bot : IBot if (arg.Exception is { InnerException: WebSocketClosedException { CloseCode: 4014 } }) { Log.Error(""" - Login failed. - - *** Please enable privileged intents *** - - Certain Ellie features require Discord's privileged gateway intents. - These include greeting and goodbye messages, as well as creating the Owner message channels for DM forwarding. - - How to enable privileged intents: - 1. Head over to the Discord Developer Portal https://discord.com/developers/applications/ - 2. Select your Application. - 3. Click on `Bot` in the left side navigation panel, and scroll down to the intents section. - 4. Enable all intents. - 5. Restart your bot. - - Read this only if your bot is in 100 or more servers: - - You'll need to apply to use the intents with Discord, but for small selfhosts, all that is required is enabling the intents in the developer portal. - Yes, this is a new thing from Discord, as of October 2020. No, there's nothing we can do about it. Yes, we're aware it worked before. - While waiting for your bot to be accepted, you can change the 'usePrivilegedIntents' inside your creds.yml to 'false', although this will break many of the ellie's features - """); + Login failed. + + *** Please enable privileged intents *** + + Certain Ellie features require Discord's privileged gateway intents. + These include greeting and goodbye messages, as well as creating the Owner message channels for DM forwarding. + + How to enable privileged intents: + 1. Head over to the Discord Developer Portal https://discord.com/developers/applications/ + 2. Select your Application. + 3. Click on `Bot` in the left side navigation panel, and scroll down to the intents section. + 4. Enable all intents. + 5. Restart your bot. + + Read this only if your bot is in 100 or more servers: + + You'll need to apply to use the intents with Discord, but for small selfhosts, all that is required is enabling the intents in the developer portal. + Yes, this is a new thing from Discord, as of October 2020. No, there's nothing we can do about it. Yes, we're aware it worked before. + While waiting for your bot to be accepted, you can change the 'usePrivilegedIntents' inside your creds.yml to 'false', although this will break many of the ellie's features + """); return Task.CompletedTask; } diff --git a/src/EllieBot/Db/EllieContext.cs b/src/EllieBot/Db/EllieContext.cs index afc50ca..724a862 100644 --- a/src/EllieBot/Db/EllieContext.cs +++ b/src/EllieBot/Db/EllieContext.cs @@ -10,6 +10,7 @@ namespace EllieBot.Db; public abstract class EllieContext : DbContext { public DbSet GuildConfigs { get; set; } + public DbSet GreetSettings { get; set; } public DbSet Quotes { get; set; } public DbSet Reminders { get; set; } @@ -678,6 +679,18 @@ public abstract class EllieContext : DbContext .OnDelete(DeleteBehavior.Cascade); #endregion + + #region GreetSettings + + modelBuilder + .Entity(gs => gs.HasIndex(x => new + { + x.GuildId, + x.GreetType + }) + .IsUnique()); + + #endregion } #if DEBUG diff --git a/src/EllieBot/Db/Extensions/GuildConfigExtensions.cs b/src/EllieBot/Db/Extensions/GuildConfigExtensions.cs index 842fe4e..de4d47f 100644 --- a/src/EllieBot/Db/Extensions/GuildConfigExtensions.cs +++ b/src/EllieBot/Db/Extensions/GuildConfigExtensions.cs @@ -1,4 +1,5 @@ #nullable disable +using LinqToDB.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using EllieBot.Db.Models; @@ -32,8 +33,8 @@ public static class GuildConfigExtensions { var conf = ctx.GuildConfigsForId(guildId, set => set.Include(y => y.StreamRole) - .Include(y => y.StreamRole.Whitelist) - .Include(y => y.StreamRole.Blacklist)); + .Include(y => y.StreamRole.Whitelist) + .Include(y => y.StreamRole.Blacklist)); if (conf.StreamRole is null) conf.StreamRole = new(); @@ -42,19 +43,28 @@ public static class GuildConfigExtensions } private static IQueryable IncludeEverything(this DbSet configs) - => configs.AsQueryable() - .AsSplitQuery() - .Include(gc => gc.CommandCooldowns) - .Include(gc => gc.FollowedStreams) - .Include(gc => gc.StreamRole) - .Include(gc => gc.XpSettings) - .ThenInclude(x => x.ExclusionList) - .Include(gc => gc.DelMsgOnCmdChannels); + => configs + .AsSplitQuery() + .Include(gc => gc.CommandCooldowns) + .Include(gc => gc.FollowedStreams) + .Include(gc => gc.StreamRole) + .Include(gc => gc.DelMsgOnCmdChannels) + .Include(gc => gc.XpSettings) + .ThenInclude(x => x.ExclusionList); - public static IEnumerable GetAllGuildConfigs( + public static async Task GetAllGuildConfigs( this DbSet configs, - IReadOnlyList availableGuilds) - => configs.IncludeEverything().AsNoTracking().Where(x => availableGuilds.Contains(x.GuildId)).ToList(); + List availableGuilds) + { + var result = await configs + .AsQueryable() + .Include(x => x.CommandCooldowns) + .Where(x => availableGuilds.Contains(x.GuildId)) + .AsNoTracking() + .ToArrayAsync(); + + return result; + } /// /// Gets and creates if it doesn't exist a config for a guild. @@ -80,13 +90,14 @@ public static class GuildConfigExtensions if (config is null) { - ctx.Set().Add(config = new() - { - GuildId = guildId, - Permissions = Permissionv2.GetDefaultPermlist, - WarningsInitialized = true, - WarnPunishments = DefaultWarnPunishments - }); + ctx.Set() + .Add(config = new() + { + GuildId = guildId, + Permissions = Permissionv2.GetDefaultPermlist, + WarningsInitialized = true, + WarnPunishments = DefaultWarnPunishments + }); ctx.SaveChanges(); } @@ -122,18 +133,18 @@ public static class GuildConfigExtensions public static LogSetting LogSettingsFor(this DbContext ctx, ulong guildId) { var logSetting = ctx.Set() - .AsQueryable() - .Include(x => x.LogIgnores) - .Where(x => x.GuildId == guildId) - .FirstOrDefault(); + .AsQueryable() + .Include(x => x.LogIgnores) + .Where(x => x.GuildId == guildId) + .FirstOrDefault(); if (logSetting is null) { ctx.Set() - .Add(logSetting = new() - { - GuildId = guildId - }); + .Add(logSetting = new() + { + GuildId = guildId + }); ctx.SaveChanges(); } @@ -149,18 +160,20 @@ public static class GuildConfigExtensions public static GuildConfig GcWithPermissionsFor(this DbContext ctx, ulong guildId) { - var config = ctx.Set().AsQueryable() - .Where(gc => gc.GuildId == guildId) - .Include(gc => gc.Permissions) - .FirstOrDefault(); + var config = ctx.Set() + .AsQueryable() + .Where(gc => gc.GuildId == guildId) + .Include(gc => gc.Permissions) + .FirstOrDefault(); if (config is null) // if there is no guildconfig, create new one { - ctx.Set().Add(config = new() - { - GuildId = guildId, - Permissions = Permissionv2.GetDefaultPermlist - }); + ctx.Set() + .Add(config = new() + { + GuildId = guildId, + Permissions = Permissionv2.GetDefaultPermlist + }); ctx.SaveChanges(); } else if (config.Permissions is null || !config.Permissions.Any()) // if no perms, add default ones @@ -177,20 +190,21 @@ public static class GuildConfigExtensions public static IEnumerable GetFollowedStreams(this DbSet configs, List included) => configs.AsQueryable() - .Where(gc => included.Contains(gc.GuildId)) - .Include(gc => gc.FollowedStreams) - .SelectMany(gc => gc.FollowedStreams) - .ToList(); + .Where(gc => included.Contains(gc.GuildId)) + .Include(gc => gc.FollowedStreams) + .SelectMany(gc => gc.FollowedStreams) + .ToList(); + public static XpSettings XpSettingsFor(this DbContext ctx, ulong guildId) { var gc = ctx.GuildConfigsForId(guildId, set => set.Include(x => x.XpSettings) - .ThenInclude(x => x.RoleRewards) - .Include(x => x.XpSettings) - .ThenInclude(x => x.CurrencyRewards) - .Include(x => x.XpSettings) - .ThenInclude(x => x.ExclusionList)); + .ThenInclude(x => x.RoleRewards) + .Include(x => x.XpSettings) + .ThenInclude(x => x.CurrencyRewards) + .Include(x => x.XpSettings) + .ThenInclude(x => x.ExclusionList)); if (gc.XpSettings is null) gc.XpSettings = new(); @@ -200,15 +214,15 @@ public static class GuildConfigExtensions public static IEnumerable GetGeneratingChannels(this DbSet configs) => configs.AsQueryable() - .Include(x => x.GenerateCurrencyChannelIds) - .Where(x => x.GenerateCurrencyChannelIds.Any()) - .SelectMany(x => x.GenerateCurrencyChannelIds) - .Select(x => new GeneratingChannel - { - ChannelId = x.ChannelId, - GuildId = x.GuildConfig.GuildId - }) - .ToArray(); + .Include(x => x.GenerateCurrencyChannelIds) + .Where(x => x.GenerateCurrencyChannelIds.Any()) + .SelectMany(x => x.GenerateCurrencyChannelIds) + .Select(x => new GeneratingChannel + { + ChannelId = x.ChannelId, + GuildId = x.GuildConfig.GuildId + }) + .ToArray(); public class GeneratingChannel { diff --git a/src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.Designer.cs b/src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.Designer.cs new file mode 100644 index 0000000..d9fd474 --- /dev/null +++ b/src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.Designer.cs @@ -0,0 +1,3790 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using EllieBot.Db; + +#nullable disable + +namespace EllieBot.Migrations.Mysql +{ + [DbContext(typeof(MysqlContext))] + [Migration("20240911104906_greet-settings")] + partial class greetsettings + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); + + modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("int") + .HasColumnName("action"); + + b.Property("ActionDurationMinutes") + .HasColumnType("int") + .HasColumnName("actiondurationminutes"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("MinAge") + .HasColumnType("time(6)") + .HasColumnName("minage"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_antialtsetting"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antialtsetting_guildconfigid"); + + b.ToTable("antialtsetting", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("int") + .HasColumnName("action"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("PunishDuration") + .HasColumnType("int") + .HasColumnName("punishduration"); + + b.Property("Seconds") + .HasColumnType("int") + .HasColumnName("seconds"); + + b.Property("UserThreshold") + .HasColumnType("int") + .HasColumnName("userthreshold"); + + b.HasKey("Id") + .HasName("pk_antiraidsetting"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antiraidsetting_guildconfigid"); + + b.ToTable("antiraidsetting", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AntiSpamSettingId") + .HasColumnType("int") + .HasColumnName("antispamsettingid"); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.HasKey("Id") + .HasName("pk_antispamignore"); + + b.HasIndex("AntiSpamSettingId") + .HasDatabaseName("ix_antispamignore_antispamsettingid"); + + b.ToTable("antispamignore", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("int") + .HasColumnName("action"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("MessageThreshold") + .HasColumnType("int") + .HasColumnName("messagethreshold"); + + b.Property("MuteTime") + .HasColumnType("int") + .HasColumnName("mutetime"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_antispamsetting"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antispamsetting_guildconfigid"); + + b.ToTable("antispamsetting", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_todosarchive"); + + b.ToTable("todosarchive", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("ChannelName") + .HasColumnType("longtext") + .HasColumnName("channelname"); + + b.Property("CommandText") + .HasColumnType("longtext") + .HasColumnName("commandtext"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("GuildName") + .HasColumnType("longtext") + .HasColumnName("guildname"); + + b.Property("Interval") + .HasColumnType("int") + .HasColumnName("interval"); + + b.Property("VoiceChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("voicechannelid"); + + b.Property("VoiceChannelName") + .HasColumnType("longtext") + .HasColumnName("voicechannelname"); + + b.HasKey("Id") + .HasName("pk_autocommands"); + + b.ToTable("autocommands", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.HasKey("Id") + .HasName("pk_autopublishchannel"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_autopublishchannel_guildid"); + + b.ToTable("autopublishchannel", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AutoDelete") + .HasColumnType("tinyint(1)") + .HasColumnName("autodelete"); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.HasKey("Id") + .HasName("pk_autotranslatechannels"); + + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_autotranslatechannels_channelid"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_autotranslatechannels_guildid"); + + b.ToTable("autotranslatechannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("int") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Source") + .HasColumnType("longtext") + .HasColumnName("source"); + + b.Property("Target") + .HasColumnType("longtext") + .HasColumnName("target"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_autotranslateusers"); + + b.HasAlternateKey("ChannelId", "UserId") + .HasName("ak_autotranslateusers_channelid_userid"); + + b.ToTable("autotranslateusers", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("PruneDays") + .HasColumnType("int") + .HasColumnName("prunedays"); + + b.Property("Text") + .HasColumnType("longtext") + .HasColumnName("text"); + + b.HasKey("Id") + .HasName("pk_bantemplates"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_bantemplates_guildid"); + + b.ToTable("bantemplates", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BankUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Balance") + .HasColumnType("bigint") + .HasColumnName("balance"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_bankusers"); + + b.HasIndex("UserId") + .IsUnique() + .HasDatabaseName("ix_bankusers_userid"); + + b.ToTable("bankusers", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("ItemId") + .HasColumnType("bigint unsigned") + .HasColumnName("itemid"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => + { + b.Property("ClubId") + .HasColumnType("int") + .HasColumnName("clubid"); + + b.Property("UserId") + .HasColumnType("int") + .HasColumnName("userid"); + + b.HasKey("ClubId", "UserId") + .HasName("pk_clubapplicants"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_clubapplicants_userid"); + + b.ToTable("clubapplicants", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => + { + b.Property("ClubId") + .HasColumnType("int") + .HasColumnName("clubid"); + + b.Property("UserId") + .HasColumnType("int") + .HasColumnName("userid"); + + b.HasKey("ClubId", "UserId") + .HasName("pk_clubbans"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_clubbans_userid"); + + b.ToTable("clubbans", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Description") + .HasColumnType("longtext") + .HasColumnName("description"); + + b.Property("ImageUrl") + .HasColumnType("longtext") + .HasColumnName("imageurl"); + + b.Property("Name") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasColumnName("name") + .UseCollation("utf8mb4_bin"); + + b.Property("OwnerId") + .HasColumnType("int") + .HasColumnName("ownerid"); + + b.Property("Xp") + .HasColumnType("int") + .HasColumnName("xp"); + + b.HasKey("Id") + .HasName("pk_clubs"); + + b.HasIndex("Name") + .IsUnique() + .HasDatabaseName("ix_clubs_name"); + + b.HasIndex("OwnerId") + .IsUnique() + .HasDatabaseName("ix_clubs_ownerid"); + + b.ToTable("clubs", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Mapping") + .HasColumnType("longtext") + .HasColumnName("mapping"); + + b.Property("Trigger") + .HasColumnType("longtext") + .HasColumnName("trigger"); + + b.HasKey("Id") + .HasName("pk_commandalias"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandalias_guildconfigid"); + + b.ToTable("commandalias", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("CommandName") + .HasColumnType("longtext") + .HasColumnName("commandname"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Seconds") + .HasColumnType("int") + .HasColumnName("seconds"); + + b.HasKey("Id") + .HasName("pk_commandcooldown"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandcooldown_guildconfigid"); + + b.ToTable("commandcooldown", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Extra") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("extra"); + + b.Property("Note") + .HasColumnType("longtext") + .HasColumnName("note"); + + b.Property("OtherId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned") + .HasColumnName("otherid") + .HasDefaultValueSql("NULL"); + + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("type"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_currencytransactions"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_currencytransactions_userid"); + + b.ToTable("currencytransactions", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("State") + .HasColumnType("tinyint(1)") + .HasColumnName("state"); + + b.HasKey("Id") + .HasName("pk_delmsgoncmdchannel"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid"); + + b.ToTable("delmsgoncmdchannel", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Command") + .HasColumnType("varchar(255)") + .HasColumnName("command"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Perm") + .HasColumnType("bigint unsigned") + .HasColumnName("perm"); + + b.HasKey("Id") + .HasName("pk_discordpermoverrides"); + + b.HasIndex("GuildId", "Command") + .IsUnique() + .HasDatabaseName("ix_discordpermoverrides_guildid_command"); + + b.ToTable("discordpermoverrides", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AvatarId") + .HasColumnType("longtext") + .HasColumnName("avatarid"); + + b.Property("ClubId") + .HasColumnType("int") + .HasColumnName("clubid"); + + b.Property("CurrencyAmount") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("currencyamount"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Discriminator") + .HasColumnType("longtext") + .HasColumnName("discriminator"); + + b.Property("IsClubAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("isclubadmin"); + + b.Property("NotifyOnLevelUp") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("notifyonlevelup"); + + b.Property("TotalXp") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("totalxp"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_discorduser"); + + b.HasAlternateKey("UserId") + .HasName("ak_discorduser_userid"); + + b.HasIndex("ClubId") + .HasDatabaseName("ix_discorduser_clubid"); + + b.HasIndex("CurrencyAmount") + .HasDatabaseName("ix_discorduser_currencyamount"); + + b.HasIndex("TotalXp") + .HasDatabaseName("ix_discorduser_totalxp"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_discorduser_userid"); + + b.ToTable("discorduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("ItemId") + .HasColumnType("bigint unsigned") + .HasColumnName("itemid"); + + b.Property("ItemType") + .HasColumnType("int") + .HasColumnName("itemtype"); + + b.Property("XpSettingsId") + .HasColumnType("int") + .HasColumnName("xpsettingsid"); + + b.HasKey("Id") + .HasName("pk_excludeditem"); + + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_excludeditem_xpsettingsid"); + + b.ToTable("excludeditem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); + + b.Property("Url") + .IsRequired() + .HasColumnType("varchar(255)") + .HasColumnName("url"); + + b.HasKey("Id") + .HasName("pk_feedsub"); + + b.HasAlternateKey("GuildConfigId", "Url") + .HasName("ak_feedsub_guildconfigid_url"); + + b.ToTable("feedsub", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_filterchannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterchannelid_guildconfigid"); + + b.ToTable("filterchannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_filterlinkschannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterlinkschannelid_guildconfigid"); + + b.ToTable("filterlinkschannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_filterwordschannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterwordschannelid_guildconfigid"); + + b.ToTable("filterwordschannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Word") + .HasColumnType("longtext") + .HasColumnName("word"); + + b.HasKey("Id") + .HasName("pk_filteredword"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filteredword_guildconfigid"); + + b.ToTable("filteredword", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_followedstream"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_followedstream_guildconfigid"); + + b.ToTable("followedstream", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_gcchannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_gcchannelid_guildconfigid"); + + b.ToTable("gcchannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Bet") + .HasColumnType("decimal(65,30)") + .HasColumnName("bet"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Feature") + .HasColumnType("varchar(255)") + .HasColumnName("feature"); + + b.Property("PaidOut") + .HasColumnType("decimal(65,30)") + .HasColumnName("paidout"); + + b.HasKey("Id") + .HasName("pk_gamblingstats"); + + b.HasIndex("Feature") + .IsUnique() + .HasDatabaseName("ix_gamblingstats_feature"); + + b.ToTable("gamblingstats", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("EndsAt") + .HasColumnType("datetime(6)") + .HasColumnName("endsat"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); + + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); + + b.HasKey("Id") + .HasName("pk_giveawaymodel"); + + b.ToTable("giveawaymodel", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("GiveawayId") + .HasColumnType("int") + .HasColumnName("giveawayid"); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_giveawayuser"); + + b.HasIndex("GiveawayId", "UserId") + .IsUnique() + .HasDatabaseName("ix_giveawayuser_giveawayid_userid"); + + b.ToTable("giveawayuser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.Property("Number") + .HasColumnType("int") + .HasColumnName("number"); + + b.HasKey("Id") + .HasName("pk_groupname"); + + b.HasIndex("GuildConfigId", "Number") + .IsUnique() + .HasDatabaseName("ix_groupname_guildconfigid_number"); + + b.ToTable("groupname", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AutoAssignRoleIds") + .HasColumnType("longtext") + .HasColumnName("autoassignroleids"); + + b.Property("AutoDeleteSelfAssignedRoleMessages") + .HasColumnType("tinyint(1)") + .HasColumnName("autodeleteselfassignedrolemessages"); + + b.Property("CleverbotEnabled") + .HasColumnType("tinyint(1)") + .HasColumnName("cleverbotenabled"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("DeleteMessageOnCommand") + .HasColumnType("tinyint(1)") + .HasColumnName("deletemessageoncommand"); + + b.Property("DeleteStreamOnlineMessage") + .HasColumnType("tinyint(1)") + .HasColumnName("deletestreamonlinemessage"); + + b.Property("DisableGlobalExpressions") + .HasColumnType("tinyint(1)") + .HasColumnName("disableglobalexpressions"); + + b.Property("ExclusiveSelfAssignedRoles") + .HasColumnType("tinyint(1)") + .HasColumnName("exclusiveselfassignedroles"); + + b.Property("FilterInvites") + .HasColumnType("tinyint(1)") + .HasColumnName("filterinvites"); + + b.Property("FilterLinks") + .HasColumnType("tinyint(1)") + .HasColumnName("filterlinks"); + + b.Property("FilterWords") + .HasColumnType("tinyint(1)") + .HasColumnName("filterwords"); + + b.Property("GameVoiceChannel") + .HasColumnType("bigint unsigned") + .HasColumnName("gamevoicechannel"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Locale") + .HasColumnType("longtext") + .HasColumnName("locale"); + + b.Property("MuteRoleName") + .HasColumnType("longtext") + .HasColumnName("muterolename"); + + b.Property("NotifyStreamOffline") + .HasColumnType("tinyint(1)") + .HasColumnName("notifystreamoffline"); + + b.Property("PermissionRole") + .HasColumnType("longtext") + .HasColumnName("permissionrole"); + + b.Property("Prefix") + .HasColumnType("longtext") + .HasColumnName("prefix"); + + b.Property("StickyRoles") + .HasColumnType("tinyint(1)") + .HasColumnName("stickyroles"); + + b.Property("TimeZoneId") + .HasColumnType("longtext") + .HasColumnName("timezoneid"); + + b.Property("VerboseErrors") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(true) + .HasColumnName("verboseerrors"); + + b.Property("VerbosePermissions") + .HasColumnType("tinyint(1)") + .HasColumnName("verbosepermissions"); + + b.Property("WarnExpireAction") + .HasColumnType("int") + .HasColumnName("warnexpireaction"); + + b.Property("WarnExpireHours") + .HasColumnType("int") + .HasColumnName("warnexpirehours"); + + b.Property("WarningsInitialized") + .HasColumnType("tinyint(1)") + .HasColumnName("warningsinitialized"); + + b.HasKey("Id") + .HasName("pk_guildconfigs"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_guildconfigs_guildid"); + + b.HasIndex("WarnExpireHours") + .HasDatabaseName("ix_guildconfigs_warnexpirehours"); + + b.ToTable("guildconfigs", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b => + { + b.Property("GuildId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("GuildId")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.HasKey("GuildId") + .HasName("pk_honeypotchannels"); + + b.ToTable("honeypotchannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("ItemType") + .HasColumnType("int") + .HasColumnName("itemtype"); + + b.Property("LogItemId") + .HasColumnType("bigint unsigned") + .HasColumnName("logitemid"); + + b.Property("LogSettingId") + .HasColumnType("int") + .HasColumnName("logsettingid"); + + b.HasKey("Id") + .HasName("pk_ignoredlogchannels"); + + b.HasIndex("LogSettingId", "LogItemId", "ItemType") + .IsUnique() + .HasDatabaseName("ix_ignoredlogchannels_logsettingid_logitemid_itemtype"); + + b.ToTable("ignoredlogchannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_imageonlychannels"); + + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_imageonlychannels_channelid"); + + b.ToTable("imageonlychannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelCreatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelcreatedid"); + + b.Property("ChannelDestroyedId") + .HasColumnType("bigint unsigned") + .HasColumnName("channeldestroyedid"); + + b.Property("ChannelUpdatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelupdatedid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("LogOtherId") + .HasColumnType("bigint unsigned") + .HasColumnName("logotherid"); + + b.Property("LogUserPresenceId") + .HasColumnType("bigint unsigned") + .HasColumnName("loguserpresenceid"); + + b.Property("LogVoicePresenceId") + .HasColumnType("bigint unsigned") + .HasColumnName("logvoicepresenceid"); + + b.Property("LogVoicePresenceTTSId") + .HasColumnType("bigint unsigned") + .HasColumnName("logvoicepresencettsid"); + + b.Property("LogWarnsId") + .HasColumnType("bigint unsigned") + .HasColumnName("logwarnsid"); + + b.Property("MessageDeletedId") + .HasColumnType("bigint unsigned") + .HasColumnName("messagedeletedid"); + + b.Property("MessageUpdatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageupdatedid"); + + b.Property("ThreadCreatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("threadcreatedid"); + + b.Property("ThreadDeletedId") + .HasColumnType("bigint unsigned") + .HasColumnName("threaddeletedid"); + + b.Property("UserBannedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userbannedid"); + + b.Property("UserJoinedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userjoinedid"); + + b.Property("UserLeftId") + .HasColumnType("bigint unsigned") + .HasColumnName("userleftid"); + + b.Property("UserMutedId") + .HasColumnType("bigint unsigned") + .HasColumnName("usermutedid"); + + b.Property("UserUnbannedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userunbannedid"); + + b.Property("UserUpdatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userupdatedid"); + + b.HasKey("Id") + .HasName("pk_logsettings"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_logsettings_guildid"); + + b.ToTable("logsettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AutoDisconnect") + .HasColumnType("tinyint(1)") + .HasColumnName("autodisconnect"); + + b.Property("AutoPlay") + .HasColumnType("tinyint(1)") + .HasColumnName("autoplay"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("MusicChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("musicchannelid"); + + b.Property("PlayerRepeat") + .HasColumnType("int") + .HasColumnName("playerrepeat"); + + b.Property("QualityPreset") + .HasColumnType("int") + .HasColumnName("qualitypreset"); + + b.Property("Volume") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(100) + .HasColumnName("volume"); + + b.HasKey("Id") + .HasName("pk_musicplayersettings"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_musicplayersettings_guildid"); + + b.ToTable("musicplayersettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Author") + .HasColumnType("longtext") + .HasColumnName("author"); + + b.Property("AuthorId") + .HasColumnType("bigint unsigned") + .HasColumnName("authorid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("pk_musicplaylists"); + + b.ToTable("musicplaylists", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_muteduserid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_muteduserid_guildconfigid"); + + b.ToTable("muteduserid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AllowTarget") + .HasColumnType("tinyint(1)") + .HasColumnName("allowtarget"); + + b.Property("AutoDeleteTrigger") + .HasColumnType("tinyint(1)") + .HasColumnName("autodeletetrigger"); + + b.Property("ContainsAnywhere") + .HasColumnType("tinyint(1)") + .HasColumnName("containsanywhere"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("DmResponse") + .HasColumnType("tinyint(1)") + .HasColumnName("dmresponse"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Reactions") + .HasColumnType("longtext") + .HasColumnName("reactions"); + + b.Property("Response") + .HasColumnType("longtext") + .HasColumnName("response"); + + b.Property("Trigger") + .HasColumnType("longtext") + .HasColumnName("trigger"); + + b.HasKey("Id") + .HasName("pk_expressions"); + + b.ToTable("expressions", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("UserId")); + + b.Property("AmountCents") + .HasColumnType("int") + .HasColumnName("amountcents"); + + b.Property("LastCharge") + .HasColumnType("datetime(6)") + .HasColumnName("lastcharge"); + + b.Property("UniquePlatformUserId") + .HasColumnType("varchar(255)") + .HasColumnName("uniqueplatformuserid"); + + b.Property("ValidThru") + .HasColumnType("datetime(6)") + .HasColumnName("validthru"); + + b.HasKey("UserId") + .HasName("pk_patrons"); + + b.HasIndex("UniquePlatformUserId") + .IsUnique() + .HasDatabaseName("ix_patrons_uniqueplatformuserid"); + + b.ToTable("patrons", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Index") + .HasColumnType("int") + .HasColumnName("index"); + + b.Property("IsCustomCommand") + .HasColumnType("tinyint(1)") + .HasColumnName("iscustomcommand"); + + b.Property("PrimaryTarget") + .HasColumnType("int") + .HasColumnName("primarytarget"); + + b.Property("PrimaryTargetId") + .HasColumnType("bigint unsigned") + .HasColumnName("primarytargetid"); + + b.Property("SecondaryTarget") + .HasColumnType("int") + .HasColumnName("secondarytarget"); + + b.Property("SecondaryTargetName") + .HasColumnType("longtext") + .HasColumnName("secondarytargetname"); + + b.Property("State") + .HasColumnType("tinyint(1)") + .HasColumnName("state"); + + b.HasKey("Id") + .HasName("pk_permissions"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_permissions_guildconfigid"); + + b.ToTable("permissions", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); + + b.Property("Password") + .HasColumnType("longtext") + .HasColumnName("password"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_plantedcurrency"); + + b.HasIndex("ChannelId") + .HasDatabaseName("ix_plantedcurrency_channelid"); + + b.HasIndex("MessageId") + .IsUnique() + .HasDatabaseName("ix_plantedcurrency_messageid"); + + b.ToTable("plantedcurrency", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("MusicPlaylistId") + .HasColumnType("int") + .HasColumnName("musicplaylistid"); + + b.Property("Provider") + .HasColumnType("longtext") + .HasColumnName("provider"); + + b.Property("ProviderType") + .HasColumnType("int") + .HasColumnName("providertype"); + + b.Property("Query") + .HasColumnType("longtext") + .HasColumnName("query"); + + b.Property("Title") + .HasColumnType("longtext") + .HasColumnName("title"); + + b.Property("Uri") + .HasColumnType("longtext") + .HasColumnName("uri"); + + b.HasKey("Id") + .HasName("pk_playlistsong"); + + b.HasIndex("MusicPlaylistId") + .HasDatabaseName("ix_playlistsong_musicplaylistid"); + + b.ToTable("playlistsong", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AuthorId") + .HasColumnType("bigint unsigned") + .HasColumnName("authorid"); + + b.Property("AuthorName") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("authorname"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Keyword") + .IsRequired() + .HasColumnType("varchar(255)") + .HasColumnName("keyword"); + + b.Property("Text") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("text"); + + b.HasKey("Id") + .HasName("pk_quotes"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_quotes_guildid"); + + b.HasIndex("Keyword") + .HasDatabaseName("ix_quotes_keyword"); + + b.ToTable("quotes", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Emote") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnName("emote"); + + b.Property("Group") + .HasColumnType("int") + .HasColumnName("group"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("LevelReq") + .HasColumnType("int") + .HasColumnName("levelreq"); + + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_reactionroles"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_reactionroles_guildid"); + + b.HasIndex("MessageId", "Emote") + .IsUnique() + .HasDatabaseName("ix_reactionroles_messageid_emote"); + + b.ToTable("reactionroles", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("IsPrivate") + .HasColumnType("tinyint(1)") + .HasColumnName("isprivate"); + + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); + + b.Property("ServerId") + .HasColumnType("bigint unsigned") + .HasColumnName("serverid"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.Property("When") + .HasColumnType("datetime(6)") + .HasColumnName("when"); + + b.HasKey("Id") + .HasName("pk_reminders"); + + b.HasIndex("When") + .HasDatabaseName("ix_reminders_when"); + + b.ToTable("reminders", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Interval") + .HasColumnType("time(6)") + .HasColumnName("interval"); + + b.Property("LastMessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("lastmessageid"); + + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); + + b.Property("NoRedundant") + .HasColumnType("tinyint(1)") + .HasColumnName("noredundant"); + + b.Property("StartTimeOfDay") + .HasColumnType("time(6)") + .HasColumnName("starttimeofday"); + + b.HasKey("Id") + .HasName("pk_repeaters"); + + b.ToTable("repeaters", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AmountRewardedThisMonth") + .HasColumnType("bigint") + .HasColumnName("amountrewardedthismonth"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("LastReward") + .HasColumnType("datetime(6)") + .HasColumnName("lastreward"); + + b.Property("PlatformUserId") + .HasColumnType("varchar(255)") + .HasColumnName("platformuserid"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_rewardedusers"); + + b.HasIndex("PlatformUserId") + .IsUnique() + .HasDatabaseName("ix_rewardedusers_platformuserid"); + + b.ToTable("rewardedusers", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Status") + .HasColumnType("longtext") + .HasColumnName("status"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_rotatingstatus"); + + b.ToTable("rotatingstatus", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Group") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("group"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("LevelRequirement") + .HasColumnType("int") + .HasColumnName("levelrequirement"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_selfassignableroles"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique() + .HasDatabaseName("ix_selfassignableroles_guildid_roleid"); + + b.ToTable("selfassignableroles", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AuthorId") + .HasColumnType("bigint unsigned") + .HasColumnName("authorid"); + + b.Property("Command") + .HasColumnType("longtext") + .HasColumnName("command"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Index") + .HasColumnType("int") + .HasColumnName("index"); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.Property("Price") + .HasColumnType("int") + .HasColumnName("price"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.Property("RoleName") + .HasColumnType("longtext") + .HasColumnName("rolename"); + + b.Property("RoleRequirement") + .HasColumnType("bigint unsigned") + .HasColumnName("rolerequirement"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_shopentry"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_shopentry_guildconfigid"); + + b.ToTable("shopentry", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("ShopEntryId") + .HasColumnType("int") + .HasColumnName("shopentryid"); + + b.Property("Text") + .HasColumnType("longtext") + .HasColumnName("text"); + + b.HasKey("Id") + .HasName("pk_shopentryitem"); + + b.HasIndex("ShopEntryId") + .HasDatabaseName("ix_shopentryitem_shopentryid"); + + b.ToTable("shopentryitem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_slowmodeignoredrole"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid"); + + b.ToTable("slowmodeignoredrole", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_slowmodeignoreduser"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid"); + + b.ToTable("slowmodeignoreduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("RoleIds") + .HasColumnType("longtext") + .HasColumnName("roleids"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_stickyroles"); + + b.HasIndex("GuildId", "UserId") + .IsUnique() + .HasDatabaseName("ix_stickyroles_guildid_userid"); + + b.ToTable("stickyroles", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_streamonlinemessages"); + + b.ToTable("streamonlinemessages", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("StreamRoleSettingsId") + .HasColumnType("int") + .HasColumnName("streamrolesettingsid"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_streamroleblacklisteduser"); + + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid"); + + b.ToTable("streamroleblacklisteduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AddRoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("addroleid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Enabled") + .HasColumnType("tinyint(1)") + .HasColumnName("enabled"); + + b.Property("FromRoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("fromroleid"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Keyword") + .HasColumnType("longtext") + .HasColumnName("keyword"); + + b.HasKey("Id") + .HasName("pk_streamrolesettings"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_streamrolesettings_guildconfigid"); + + b.ToTable("streamrolesettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("StreamRoleSettingsId") + .HasColumnType("int") + .HasColumnName("streamrolesettingsid"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_streamrolewhitelisteduser"); + + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid"); + + b.ToTable("streamrolewhitelisteduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("ArchiveId") + .HasColumnType("int") + .HasColumnName("archiveid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("IsDone") + .HasColumnType("tinyint(1)") + .HasColumnName("isdone"); + + b.Property("Todo") + .HasColumnType("longtext") + .HasColumnName("todo"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_todos"); + + b.HasIndex("ArchiveId") + .HasDatabaseName("ix_todos_archiveid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_todos_userid"); + + b.ToTable("todos", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("UnbanAt") + .HasColumnType("datetime(6)") + .HasColumnName("unbanat"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_unbantimer"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unbantimer_guildconfigid"); + + b.ToTable("unbantimer", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("UnmuteAt") + .HasColumnType("datetime(6)") + .HasColumnName("unmuteat"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_unmutetimer"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unmutetimer_guildconfigid"); + + b.ToTable("unmutetimer", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.Property("UnbanAt") + .HasColumnType("datetime(6)") + .HasColumnName("unbanat"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_unroletimer"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unroletimer_guildconfigid"); + + b.ToTable("unroletimer", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AwardedXp") + .HasColumnType("bigint") + .HasColumnName("awardedxp"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("NotifyOnLevelUp") + .HasColumnType("int") + .HasColumnName("notifyonlevelup"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.Property("Xp") + .HasColumnType("bigint") + .HasColumnName("xp"); + + b.HasKey("Id") + .HasName("pk_userxpstats"); + + b.HasIndex("AwardedXp") + .HasDatabaseName("ix_userxpstats_awardedxp"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_userxpstats_guildid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_userxpstats_userid"); + + b.HasIndex("Xp") + .HasDatabaseName("ix_userxpstats_xp"); + + b.HasIndex("UserId", "GuildId") + .IsUnique() + .HasDatabaseName("ix_userxpstats_userid_guildid"); + + b.ToTable("userxpstats", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.Property("VoiceChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("voicechannelid"); + + b.HasKey("Id") + .HasName("pk_vcroleinfo"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_vcroleinfo_guildconfigid"); + + b.ToTable("vcroleinfo", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AffinityId") + .HasColumnType("int") + .HasColumnName("affinityid"); + + b.Property("ClaimerId") + .HasColumnType("int") + .HasColumnName("claimerid"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Price") + .HasColumnType("bigint") + .HasColumnName("price"); + + b.Property("WaifuId") + .HasColumnType("int") + .HasColumnName("waifuid"); + + b.HasKey("Id") + .HasName("pk_waifuinfo"); + + b.HasIndex("AffinityId") + .HasDatabaseName("ix_waifuinfo_affinityid"); + + b.HasIndex("ClaimerId") + .HasDatabaseName("ix_waifuinfo_claimerid"); + + b.HasIndex("Price") + .HasDatabaseName("ix_waifuinfo_price"); + + b.HasIndex("WaifuId") + .IsUnique() + .HasDatabaseName("ix_waifuinfo_waifuid"); + + b.ToTable("waifuinfo", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("ItemEmoji") + .HasColumnType("longtext") + .HasColumnName("itememoji"); + + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); + + b.Property("WaifuInfoId") + .HasColumnType("int") + .HasColumnName("waifuinfoid"); + + b.HasKey("Id") + .HasName("pk_waifuitem"); + + b.HasIndex("WaifuInfoId") + .HasDatabaseName("ix_waifuitem_waifuinfoid"); + + b.ToTable("waifuitem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("NewId") + .HasColumnType("int") + .HasColumnName("newid"); + + b.Property("OldId") + .HasColumnType("int") + .HasColumnName("oldid"); + + b.Property("UpdateType") + .HasColumnType("int") + .HasColumnName("updatetype"); + + b.Property("UserId") + .HasColumnType("int") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_waifuupdates"); + + b.HasIndex("NewId") + .HasDatabaseName("ix_waifuupdates_newid"); + + b.HasIndex("OldId") + .HasDatabaseName("ix_waifuupdates_oldid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_waifuupdates_userid"); + + b.ToTable("waifuupdates", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Warning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Forgiven") + .HasColumnType("tinyint(1)") + .HasColumnName("forgiven"); + + b.Property("ForgivenBy") + .HasColumnType("longtext") + .HasColumnName("forgivenby"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("Moderator") + .HasColumnType("longtext") + .HasColumnName("moderator"); + + b.Property("Reason") + .HasColumnType("longtext") + .HasColumnName("reason"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.Property("Weight") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(1L) + .HasColumnName("weight"); + + b.HasKey("Id") + .HasName("pk_warnings"); + + b.HasIndex("DateAdded") + .HasDatabaseName("ix_warnings_dateadded"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_warnings_guildid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_warnings_userid"); + + b.ToTable("warnings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Count") + .HasColumnType("int") + .HasColumnName("count"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("Punishment") + .HasColumnType("int") + .HasColumnName("punishment"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.Property("Time") + .HasColumnType("int") + .HasColumnName("time"); + + b.HasKey("Id") + .HasName("pk_warningpunishment"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_warningpunishment_guildconfigid"); + + b.ToTable("warningpunishment", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("Amount") + .HasColumnType("int") + .HasColumnName("amount"); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Level") + .HasColumnType("int") + .HasColumnName("level"); + + b.Property("XpSettingsId") + .HasColumnType("int") + .HasColumnName("xpsettingsid"); + + b.HasKey("Id") + .HasName("pk_xpcurrencyreward"); + + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid"); + + b.ToTable("xpcurrencyreward", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("Level") + .HasColumnType("int") + .HasColumnName("level"); + + b.Property("Remove") + .HasColumnType("tinyint(1)") + .HasColumnName("remove"); + + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); + + b.Property("XpSettingsId") + .HasColumnType("int") + .HasColumnName("xpsettingsid"); + + b.HasKey("Id") + .HasName("pk_xprolereward"); + + b.HasIndex("XpSettingsId", "Level") + .IsUnique() + .HasDatabaseName("ix_xprolereward_xpsettingsid_level"); + + b.ToTable("xprolereward", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); + + b.Property("ServerExcluded") + .HasColumnType("tinyint(1)") + .HasColumnName("serverexcluded"); + + b.HasKey("Id") + .HasName("pk_xpsettings"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_xpsettings_guildconfigid"); + + b.ToTable("xpsettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); + + b.Property("IsUsing") + .HasColumnType("tinyint(1)") + .HasColumnName("isusing"); + + b.Property("ItemKey") + .IsRequired() + .HasColumnType("varchar(255)") + .HasColumnName("itemkey"); + + b.Property("ItemType") + .HasColumnType("int") + .HasColumnName("itemtype"); + + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_xpshopowneditem"); + + b.HasIndex("UserId", "ItemType", "ItemKey") + .IsUnique() + .HasDatabaseName("ix_xpshopowneditem_userid_itemtype_itemkey"); + + b.ToTable("xpshopowneditem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Services.GreetSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AutoDeleteTimer") + .HasColumnType("int") + .HasColumnName("autodeletetimer"); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("GreetType") + .HasColumnType("int") + .HasColumnName("greettype"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("IsEnabled") + .HasColumnType("tinyint(1)") + .HasColumnName("isenabled"); + + b.Property("MessageText") + .HasColumnType("longtext") + .HasColumnName("messagetext"); + + b.HasKey("Id") + .HasName("pk_greetsettings"); + + b.HasIndex("GuildId", "GreetType") + .IsUnique() + .HasDatabaseName("ix_greetsettings_guildid_greettype"); + + b.ToTable("greetsettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiAltSetting") + .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiRaidSetting") + .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => + { + b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_antispamignore_antispamsetting_antispamsettingid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiSpamSetting") + .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => + { + b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") + .WithMany("Users") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_autotranslateusers_autotranslatechannels_channelid"); + + b.Navigation("Channel"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Applicants") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_clubs_clubid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_discorduser_userid"); + + b.Navigation("Club"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Bans") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_clubs_clubid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_discorduser_userid"); + + b.Navigation("Club"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("fk_clubs_discorduser_ownerid"); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("DelMsgOnCmdChannels") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Members") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.NoAction) + .HasConstraintName("fk_discorduser_clubs_clubid"); + + b.Navigation("Club"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("ExclusionList") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("FeedSubs") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterLinksChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => + { + b.HasOne("EllieBot.Db.Models.GiveawayModel", null) + .WithMany("Participants") + .HasForeignKey("GiveawayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_giveawayuser_giveawaymodel_giveawayid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("SelfAssignableRoleGroupNames") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_groupname_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => + { + b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") + .WithMany("LogIgnores") + .HasForeignKey("LogSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_ignoredlogchannels_logsettings_logsettingid"); + + b.Navigation("LogSetting"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("Permissions") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_permissions_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => + { + b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_playlistsong_musicplaylists_musicplaylistid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => + { + b.HasOne("EllieBot.Db.Models.ShopEntry", null) + .WithMany("Items") + .HasForeignKey("ShopEntryId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentryitem_shopentry_shopentryid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Blacklist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamroleblacklisteduser_streamrolesettings_streamrolesetti~"); + + b.Navigation("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("StreamRole") + .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Whitelist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolewhitelisteduser_streamrolesettings_streamrolesetti~"); + + b.Navigation("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => + { + b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) + .WithMany("Items") + .HasForeignKey("ArchiveId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_todos_todosarchive_archiveid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnbanTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnroleTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId") + .HasConstraintName("fk_waifuinfo_discorduser_affinityid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId") + .HasConstraintName("fk_waifuinfo_discorduser_claimerid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuinfo_discorduser_waifuid"); + + b.Navigation("Affinity"); + + b.Navigation("Claimer"); + + b.Navigation("Waifu"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => + { + b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") + .WithMany("Items") + .HasForeignKey("WaifuInfoId") + .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid"); + + b.Navigation("WaifuInfo"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId") + .HasConstraintName("fk_waifuupdates_discorduser_newid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId") + .HasConstraintName("fk_waifuupdates_discorduser_oldid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuupdates_discorduser_userid"); + + b.Navigation("New"); + + b.Navigation("Old"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_warningpunishment_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("CurrencyRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpcurrencyreward_xpsettings_xpsettingsid"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("RoleRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xprolereward_xpsettings_xpsettingsid"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("XpSettings") + .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.Navigation("IgnoredChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => + { + b.Navigation("Users"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.Navigation("Applicants"); + + b.Navigation("Bans"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => + { + b.Navigation("Participants"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => + { + b.Navigation("AntiAltSetting"); + + b.Navigation("AntiRaidSetting"); + + b.Navigation("AntiSpamSetting"); + + b.Navigation("CommandAliases"); + + b.Navigation("CommandCooldowns"); + + b.Navigation("DelMsgOnCmdChannels"); + + b.Navigation("FeedSubs"); + + b.Navigation("FilterInvitesChannelIds"); + + b.Navigation("FilterLinksChannelIds"); + + b.Navigation("FilterWordsChannelIds"); + + b.Navigation("FilteredWords"); + + b.Navigation("FollowedStreams"); + + b.Navigation("GenerateCurrencyChannelIds"); + + b.Navigation("MutedUsers"); + + b.Navigation("Permissions"); + + b.Navigation("SelfAssignableRoleGroupNames"); + + b.Navigation("ShopEntries"); + + b.Navigation("SlowmodeIgnoredRoles"); + + b.Navigation("SlowmodeIgnoredUsers"); + + b.Navigation("StreamRole"); + + b.Navigation("UnbanTimer"); + + b.Navigation("UnmuteTimers"); + + b.Navigation("UnroleTimer"); + + b.Navigation("VcRoleInfos"); + + b.Navigation("WarnPunishments"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => + { + b.Navigation("LogIgnores"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => + { + b.Navigation("Songs"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.Navigation("Blacklist"); + + b.Navigation("Whitelist"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.Navigation("CurrencyRewards"); + + b.Navigation("ExclusionList"); + + b.Navigation("RoleRewards"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.cs b/src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.cs new file mode 100644 index 0000000..5bbb193 --- /dev/null +++ b/src/EllieBot/Migrations/Mysql/20240911104906_greet-settings.cs @@ -0,0 +1,202 @@ +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace EllieBot.Migrations.Mysql +{ + /// + public partial class greetsettings : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "autodeletebyemessagestimer", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "autodeletegreetmessagestimer", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "boostmessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "boostmessagechannelid", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "boostmessagedeleteafter", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "byemessagechannelid", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "channelbyemessagetext", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "channelgreetmessagetext", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "dmgreetmessagetext", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "greetmessagechannelid", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "sendboostmessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "sendchannelbyemessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "sendchannelgreetmessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "senddmgreetmessage", + table: "guildconfigs"); + + migrationBuilder.CreateTable( + name: "greetsettings", + columns: table => new + { + id = table.Column(type: "int", nullable: false) + .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), + guildid = table.Column(type: "bigint unsigned", nullable: false), + greettype = table.Column(type: "int", nullable: false), + messagetext = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + isenabled = table.Column(type: "tinyint(1)", nullable: false), + channelid = table.Column(type: "bigint unsigned", nullable: true), + autodeletetimer = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("pk_greetsettings", x => x.id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateIndex( + name: "ix_greetsettings_guildid_greettype", + table: "greetsettings", + columns: new[] { "guildid", "greettype" }, + unique: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "greetsettings"); + + migrationBuilder.AddColumn( + name: "autodeletebyemessagestimer", + table: "guildconfigs", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "autodeletegreetmessagestimer", + table: "guildconfigs", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "boostmessage", + table: "guildconfigs", + type: "longtext", + nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "boostmessagechannelid", + table: "guildconfigs", + type: "bigint unsigned", + nullable: false, + defaultValue: 0ul); + + migrationBuilder.AddColumn( + name: "boostmessagedeleteafter", + table: "guildconfigs", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "byemessagechannelid", + table: "guildconfigs", + type: "bigint unsigned", + nullable: false, + defaultValue: 0ul); + + migrationBuilder.AddColumn( + name: "channelbyemessagetext", + table: "guildconfigs", + type: "longtext", + nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "channelgreetmessagetext", + table: "guildconfigs", + type: "longtext", + nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "dmgreetmessagetext", + table: "guildconfigs", + type: "longtext", + nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.AddColumn( + name: "greetmessagechannelid", + table: "guildconfigs", + type: "bigint unsigned", + nullable: false, + defaultValue: 0ul); + + migrationBuilder.AddColumn( + name: "sendboostmessage", + table: "guildconfigs", + type: "tinyint(1)", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "sendchannelbyemessage", + table: "guildconfigs", + type: "tinyint(1)", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "sendchannelgreetmessage", + table: "guildconfigs", + type: "tinyint(1)", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "senddmgreetmessage", + table: "guildconfigs", + type: "tinyint(1)", + nullable: false, + defaultValue: false); + } + } +} diff --git a/src/EllieBot/Migrations/Mysql/MysqlContextModelSnapshot.cs b/src/EllieBot/Migrations/Mysql/MysqlContextModelSnapshot.cs index 964a3ea..2f4a13d 100644 --- a/src/EllieBot/Migrations/Mysql/MysqlContextModelSnapshot.cs +++ b/src/EllieBot/Migrations/Mysql/MysqlContextModelSnapshot.cs @@ -17,3783 +17,3770 @@ namespace EllieBot.Migrations.Mysql { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.4") + .HasAnnotation("ProductVersion", "8.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Action") - .HasColumnType("int") - .HasColumnName("action"); + b.Property("Action") + .HasColumnType("int") + .HasColumnName("action"); - b.Property("ActionDurationMinutes") - .HasColumnType("int") - .HasColumnName("actiondurationminutes"); + b.Property("ActionDurationMinutes") + .HasColumnType("int") + .HasColumnName("actiondurationminutes"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("MinAge") - .HasColumnType("time(6)") - .HasColumnName("minage"); + b.Property("MinAge") + .HasColumnType("time(6)") + .HasColumnName("minage"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_antialtsetting"); + b.HasKey("Id") + .HasName("pk_antialtsetting"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_antialtsetting_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antialtsetting_guildconfigid"); - b.ToTable("antialtsetting", (string)null); - }); + b.ToTable("antialtsetting", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Action") - .HasColumnType("int") - .HasColumnName("action"); + b.Property("Action") + .HasColumnType("int") + .HasColumnName("action"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("PunishDuration") - .HasColumnType("int") - .HasColumnName("punishduration"); + b.Property("PunishDuration") + .HasColumnType("int") + .HasColumnName("punishduration"); - b.Property("Seconds") - .HasColumnType("int") - .HasColumnName("seconds"); + b.Property("Seconds") + .HasColumnType("int") + .HasColumnName("seconds"); - b.Property("UserThreshold") - .HasColumnType("int") - .HasColumnName("userthreshold"); + b.Property("UserThreshold") + .HasColumnType("int") + .HasColumnName("userthreshold"); - b.HasKey("Id") - .HasName("pk_antiraidsetting"); + b.HasKey("Id") + .HasName("pk_antiraidsetting"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_antiraidsetting_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antiraidsetting_guildconfigid"); - b.ToTable("antiraidsetting", (string)null); - }); + b.ToTable("antiraidsetting", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AntiSpamSettingId") - .HasColumnType("int") - .HasColumnName("antispamsettingid"); + b.Property("AntiSpamSettingId") + .HasColumnType("int") + .HasColumnName("antispamsettingid"); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.HasKey("Id") - .HasName("pk_antispamignore"); + b.HasKey("Id") + .HasName("pk_antispamignore"); - b.HasIndex("AntiSpamSettingId") - .HasDatabaseName("ix_antispamignore_antispamsettingid"); + b.HasIndex("AntiSpamSettingId") + .HasDatabaseName("ix_antispamignore_antispamsettingid"); - b.ToTable("antispamignore", (string)null); - }); + b.ToTable("antispamignore", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Action") - .HasColumnType("int") - .HasColumnName("action"); + b.Property("Action") + .HasColumnType("int") + .HasColumnName("action"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("MessageThreshold") - .HasColumnType("int") - .HasColumnName("messagethreshold"); + b.Property("MessageThreshold") + .HasColumnType("int") + .HasColumnName("messagethreshold"); - b.Property("MuteTime") - .HasColumnType("int") - .HasColumnName("mutetime"); + b.Property("MuteTime") + .HasColumnType("int") + .HasColumnName("mutetime"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_antispamsetting"); + b.HasKey("Id") + .HasName("pk_antispamsetting"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_antispamsetting_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antispamsetting_guildconfigid"); - b.ToTable("antispamsetting", (string)null); - }); + b.ToTable("antispamsetting", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_todosarchive"); + b.HasKey("Id") + .HasName("pk_todosarchive"); - b.ToTable("todosarchive", (string)null); - }); + b.ToTable("todosarchive", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("ChannelName") - .HasColumnType("longtext") - .HasColumnName("channelname"); + b.Property("ChannelName") + .HasColumnType("longtext") + .HasColumnName("channelname"); - b.Property("CommandText") - .HasColumnType("longtext") - .HasColumnName("commandtext"); + b.Property("CommandText") + .HasColumnType("longtext") + .HasColumnName("commandtext"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("GuildName") - .HasColumnType("longtext") - .HasColumnName("guildname"); + b.Property("GuildName") + .HasColumnType("longtext") + .HasColumnName("guildname"); - b.Property("Interval") - .HasColumnType("int") - .HasColumnName("interval"); + b.Property("Interval") + .HasColumnType("int") + .HasColumnName("interval"); - b.Property("VoiceChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("voicechannelid"); + b.Property("VoiceChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("voicechannelid"); - b.Property("VoiceChannelName") - .HasColumnType("longtext") - .HasColumnName("voicechannelname"); + b.Property("VoiceChannelName") + .HasColumnType("longtext") + .HasColumnName("voicechannelname"); - b.HasKey("Id") - .HasName("pk_autocommands"); + b.HasKey("Id") + .HasName("pk_autocommands"); - b.ToTable("autocommands", (string)null); - }); + b.ToTable("autocommands", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.HasKey("Id") - .HasName("pk_autopublishchannel"); + b.HasKey("Id") + .HasName("pk_autopublishchannel"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_autopublishchannel_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_autopublishchannel_guildid"); - b.ToTable("autopublishchannel", (string)null); - }); + b.ToTable("autopublishchannel", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AutoDelete") - .HasColumnType("tinyint(1)") - .HasColumnName("autodelete"); + b.Property("AutoDelete") + .HasColumnType("tinyint(1)") + .HasColumnName("autodelete"); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.HasKey("Id") - .HasName("pk_autotranslatechannels"); + b.HasKey("Id") + .HasName("pk_autotranslatechannels"); - b.HasIndex("ChannelId") - .IsUnique() - .HasDatabaseName("ix_autotranslatechannels_channelid"); + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_autotranslatechannels_channelid"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_autotranslatechannels_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_autotranslatechannels_guildid"); - b.ToTable("autotranslatechannels", (string)null); - }); + b.ToTable("autotranslatechannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("int") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("int") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Source") - .HasColumnType("longtext") - .HasColumnName("source"); + b.Property("Source") + .HasColumnType("longtext") + .HasColumnName("source"); - b.Property("Target") - .HasColumnType("longtext") - .HasColumnName("target"); + b.Property("Target") + .HasColumnType("longtext") + .HasColumnName("target"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_autotranslateusers"); + b.HasKey("Id") + .HasName("pk_autotranslateusers"); - b.HasAlternateKey("ChannelId", "UserId") - .HasName("ak_autotranslateusers_channelid_userid"); + b.HasAlternateKey("ChannelId", "UserId") + .HasName("ak_autotranslateusers_channelid_userid"); - b.ToTable("autotranslateusers", (string)null); - }); + b.ToTable("autotranslateusers", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("PruneDays") - .HasColumnType("int") - .HasColumnName("prunedays"); + b.Property("PruneDays") + .HasColumnType("int") + .HasColumnName("prunedays"); - b.Property("Text") - .HasColumnType("longtext") - .HasColumnName("text"); + b.Property("Text") + .HasColumnType("longtext") + .HasColumnName("text"); - b.HasKey("Id") - .HasName("pk_bantemplates"); + b.HasKey("Id") + .HasName("pk_bantemplates"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_bantemplates_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_bantemplates_guildid"); - b.ToTable("bantemplates", (string)null); - }); + b.ToTable("bantemplates", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.BankUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Balance") - .HasColumnType("bigint") - .HasColumnName("balance"); + b.Property("Balance") + .HasColumnType("bigint") + .HasColumnName("balance"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_bankusers"); + b.HasKey("Id") + .HasName("pk_bankusers"); - b.HasIndex("UserId") - .IsUnique() - .HasDatabaseName("ix_bankusers_userid"); + b.HasIndex("UserId") + .IsUnique() + .HasDatabaseName("ix_bankusers_userid"); - b.ToTable("bankusers", (string)null); - }); + b.ToTable("bankusers", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("ItemId") - .HasColumnType("bigint unsigned") - .HasColumnName("itemid"); + b.Property("ItemId") + .HasColumnType("bigint unsigned") + .HasColumnName("itemid"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_blacklist"); + b.HasKey("Id") + .HasName("pk_blacklist"); - b.ToTable("blacklist", (string)null); - }); + b.ToTable("blacklist", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => - { - b.Property("ClubId") - .HasColumnType("int") - .HasColumnName("clubid"); + { + b.Property("ClubId") + .HasColumnType("int") + .HasColumnName("clubid"); - b.Property("UserId") - .HasColumnType("int") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("int") + .HasColumnName("userid"); - b.HasKey("ClubId", "UserId") - .HasName("pk_clubapplicants"); + b.HasKey("ClubId", "UserId") + .HasName("pk_clubapplicants"); - b.HasIndex("UserId") - .HasDatabaseName("ix_clubapplicants_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_clubapplicants_userid"); - b.ToTable("clubapplicants", (string)null); - }); + b.ToTable("clubapplicants", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => - { - b.Property("ClubId") - .HasColumnType("int") - .HasColumnName("clubid"); + { + b.Property("ClubId") + .HasColumnType("int") + .HasColumnName("clubid"); - b.Property("UserId") - .HasColumnType("int") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("int") + .HasColumnName("userid"); - b.HasKey("ClubId", "UserId") - .HasName("pk_clubbans"); + b.HasKey("ClubId", "UserId") + .HasName("pk_clubbans"); - b.HasIndex("UserId") - .HasDatabaseName("ix_clubbans_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_clubbans_userid"); - b.ToTable("clubbans", (string)null); - }); + b.ToTable("clubbans", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Description") - .HasColumnType("longtext") - .HasColumnName("description"); + b.Property("Description") + .HasColumnType("longtext") + .HasColumnName("description"); - b.Property("ImageUrl") - .HasColumnType("longtext") - .HasColumnName("imageurl"); + b.Property("ImageUrl") + .HasColumnType("longtext") + .HasColumnName("imageurl"); - b.Property("Name") - .HasMaxLength(20) - .HasColumnType("varchar(20)") - .HasColumnName("name") - .UseCollation("utf8mb4_bin"); + b.Property("Name") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasColumnName("name") + .UseCollation("utf8mb4_bin"); - b.Property("OwnerId") - .HasColumnType("int") - .HasColumnName("ownerid"); + b.Property("OwnerId") + .HasColumnType("int") + .HasColumnName("ownerid"); - b.Property("Xp") - .HasColumnType("int") - .HasColumnName("xp"); + b.Property("Xp") + .HasColumnType("int") + .HasColumnName("xp"); - b.HasKey("Id") - .HasName("pk_clubs"); + b.HasKey("Id") + .HasName("pk_clubs"); - b.HasIndex("Name") - .IsUnique() - .HasDatabaseName("ix_clubs_name"); + b.HasIndex("Name") + .IsUnique() + .HasDatabaseName("ix_clubs_name"); - b.HasIndex("OwnerId") - .IsUnique() - .HasDatabaseName("ix_clubs_ownerid"); + b.HasIndex("OwnerId") + .IsUnique() + .HasDatabaseName("ix_clubs_ownerid"); - b.ToTable("clubs", (string)null); - }); + b.ToTable("clubs", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Mapping") - .HasColumnType("longtext") - .HasColumnName("mapping"); + b.Property("Mapping") + .HasColumnType("longtext") + .HasColumnName("mapping"); - b.Property("Trigger") - .HasColumnType("longtext") - .HasColumnName("trigger"); + b.Property("Trigger") + .HasColumnType("longtext") + .HasColumnName("trigger"); - b.HasKey("Id") - .HasName("pk_commandalias"); + b.HasKey("Id") + .HasName("pk_commandalias"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_commandalias_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandalias_guildconfigid"); - b.ToTable("commandalias", (string)null); - }); + b.ToTable("commandalias", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("CommandName") - .HasColumnType("longtext") - .HasColumnName("commandname"); + b.Property("CommandName") + .HasColumnType("longtext") + .HasColumnName("commandname"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Seconds") - .HasColumnType("int") - .HasColumnName("seconds"); + b.Property("Seconds") + .HasColumnType("int") + .HasColumnName("seconds"); - b.HasKey("Id") - .HasName("pk_commandcooldown"); + b.HasKey("Id") + .HasName("pk_commandcooldown"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_commandcooldown_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandcooldown_guildconfigid"); - b.ToTable("commandcooldown", (string)null); - }); + b.ToTable("commandcooldown", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Amount") - .HasColumnType("bigint") - .HasColumnName("amount"); + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Extra") - .IsRequired() - .HasColumnType("longtext") - .HasColumnName("extra"); + b.Property("Extra") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("extra"); - b.Property("Note") - .HasColumnType("longtext") - .HasColumnName("note"); + b.Property("Note") + .HasColumnType("longtext") + .HasColumnName("note"); - b.Property("OtherId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint unsigned") - .HasColumnName("otherid") - .HasDefaultValueSql("NULL"); + b.Property("OtherId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned") + .HasColumnName("otherid") + .HasDefaultValueSql("NULL"); - b.Property("Type") - .IsRequired() - .HasColumnType("longtext") - .HasColumnName("type"); + b.Property("Type") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("type"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_currencytransactions"); + b.HasKey("Id") + .HasName("pk_currencytransactions"); - b.HasIndex("UserId") - .HasDatabaseName("ix_currencytransactions_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_currencytransactions_userid"); - b.ToTable("currencytransactions", (string)null); - }); + b.ToTable("currencytransactions", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("State") - .HasColumnType("tinyint(1)") - .HasColumnName("state"); + b.Property("State") + .HasColumnType("tinyint(1)") + .HasColumnName("state"); - b.HasKey("Id") - .HasName("pk_delmsgoncmdchannel"); + b.HasKey("Id") + .HasName("pk_delmsgoncmdchannel"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid"); - b.ToTable("delmsgoncmdchannel", (string)null); - }); + b.ToTable("delmsgoncmdchannel", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Command") - .HasColumnType("varchar(255)") - .HasColumnName("command"); + b.Property("Command") + .HasColumnType("varchar(255)") + .HasColumnName("command"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Perm") - .HasColumnType("bigint unsigned") - .HasColumnName("perm"); + b.Property("Perm") + .HasColumnType("bigint unsigned") + .HasColumnName("perm"); - b.HasKey("Id") - .HasName("pk_discordpermoverrides"); + b.HasKey("Id") + .HasName("pk_discordpermoverrides"); - b.HasIndex("GuildId", "Command") - .IsUnique() - .HasDatabaseName("ix_discordpermoverrides_guildid_command"); + b.HasIndex("GuildId", "Command") + .IsUnique() + .HasDatabaseName("ix_discordpermoverrides_guildid_command"); - b.ToTable("discordpermoverrides", (string)null); - }); + b.ToTable("discordpermoverrides", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AvatarId") - .HasColumnType("longtext") - .HasColumnName("avatarid"); + b.Property("AvatarId") + .HasColumnType("longtext") + .HasColumnName("avatarid"); - b.Property("ClubId") - .HasColumnType("int") - .HasColumnName("clubid"); + b.Property("ClubId") + .HasColumnType("int") + .HasColumnName("clubid"); - b.Property("CurrencyAmount") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasDefaultValue(0L) - .HasColumnName("currencyamount"); + b.Property("CurrencyAmount") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("currencyamount"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Discriminator") - .HasColumnType("longtext") - .HasColumnName("discriminator"); + b.Property("Discriminator") + .HasColumnType("longtext") + .HasColumnName("discriminator"); - b.Property("IsClubAdmin") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)") - .HasDefaultValue(false) - .HasColumnName("isclubadmin"); + b.Property("IsClubAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("isclubadmin"); - b.Property("NotifyOnLevelUp") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("notifyonlevelup"); + b.Property("NotifyOnLevelUp") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("notifyonlevelup"); - b.Property("TotalXp") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasDefaultValue(0L) - .HasColumnName("totalxp"); + b.Property("TotalXp") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("totalxp"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.Property("Username") - .HasColumnType("longtext") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_discorduser"); + b.HasKey("Id") + .HasName("pk_discorduser"); - b.HasAlternateKey("UserId") - .HasName("ak_discorduser_userid"); + b.HasAlternateKey("UserId") + .HasName("ak_discorduser_userid"); - b.HasIndex("ClubId") - .HasDatabaseName("ix_discorduser_clubid"); + b.HasIndex("ClubId") + .HasDatabaseName("ix_discorduser_clubid"); - b.HasIndex("CurrencyAmount") - .HasDatabaseName("ix_discorduser_currencyamount"); + b.HasIndex("CurrencyAmount") + .HasDatabaseName("ix_discorduser_currencyamount"); - b.HasIndex("TotalXp") - .HasDatabaseName("ix_discorduser_totalxp"); + b.HasIndex("TotalXp") + .HasDatabaseName("ix_discorduser_totalxp"); - b.HasIndex("UserId") - .HasDatabaseName("ix_discorduser_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_discorduser_userid"); - b.ToTable("discorduser", (string)null); - }); + b.ToTable("discorduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("ItemId") - .HasColumnType("bigint unsigned") - .HasColumnName("itemid"); + b.Property("ItemId") + .HasColumnType("bigint unsigned") + .HasColumnName("itemid"); - b.Property("ItemType") - .HasColumnType("int") - .HasColumnName("itemtype"); + b.Property("ItemType") + .HasColumnType("int") + .HasColumnName("itemtype"); - b.Property("XpSettingsId") - .HasColumnType("int") - .HasColumnName("xpsettingsid"); + b.Property("XpSettingsId") + .HasColumnType("int") + .HasColumnName("xpsettingsid"); - b.HasKey("Id") - .HasName("pk_excludeditem"); + b.HasKey("Id") + .HasName("pk_excludeditem"); - b.HasIndex("XpSettingsId") - .HasDatabaseName("ix_excludeditem_xpsettingsid"); + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_excludeditem_xpsettingsid"); - b.ToTable("excludeditem", (string)null); - }); + b.ToTable("excludeditem", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Message") - .HasColumnType("longtext") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); - b.Property("Url") - .IsRequired() - .HasColumnType("varchar(255)") - .HasColumnName("url"); + b.Property("Url") + .IsRequired() + .HasColumnType("varchar(255)") + .HasColumnName("url"); - b.HasKey("Id") - .HasName("pk_feedsub"); + b.HasKey("Id") + .HasName("pk_feedsub"); - b.HasAlternateKey("GuildConfigId", "Url") - .HasName("ak_feedsub_guildconfigid_url"); + b.HasAlternateKey("GuildConfigId", "Url") + .HasName("ak_feedsub_guildconfigid_url"); - b.ToTable("feedsub", (string)null); - }); + b.ToTable("feedsub", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_filterchannelid"); + b.HasKey("Id") + .HasName("pk_filterchannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filterchannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterchannelid_guildconfigid"); - b.ToTable("filterchannelid", (string)null); - }); + b.ToTable("filterchannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_filterlinkschannelid"); + b.HasKey("Id") + .HasName("pk_filterlinkschannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filterlinkschannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterlinkschannelid_guildconfigid"); - b.ToTable("filterlinkschannelid", (string)null); - }); + b.ToTable("filterlinkschannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_filterwordschannelid"); + b.HasKey("Id") + .HasName("pk_filterwordschannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filterwordschannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterwordschannelid_guildconfigid"); - b.ToTable("filterwordschannelid", (string)null); - }); + b.ToTable("filterwordschannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Word") - .HasColumnType("longtext") - .HasColumnName("word"); + b.Property("Word") + .HasColumnType("longtext") + .HasColumnName("word"); - b.HasKey("Id") - .HasName("pk_filteredword"); + b.HasKey("Id") + .HasName("pk_filteredword"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filteredword_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filteredword_guildconfigid"); - b.ToTable("filteredword", (string)null); - }); + b.ToTable("filteredword", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Message") - .HasColumnType("longtext") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.Property("Username") - .HasColumnType("longtext") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_followedstream"); + b.HasKey("Id") + .HasName("pk_followedstream"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_followedstream_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_followedstream_guildconfigid"); - b.ToTable("followedstream", (string)null); - }); + b.ToTable("followedstream", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_gcchannelid"); + b.HasKey("Id") + .HasName("pk_gcchannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_gcchannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_gcchannelid_guildconfigid"); - b.ToTable("gcchannelid", (string)null); - }); + b.ToTable("gcchannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Bet") - .HasColumnType("decimal(65,30)") - .HasColumnName("bet"); + b.Property("Bet") + .HasColumnType("decimal(65,30)") + .HasColumnName("bet"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Feature") - .HasColumnType("varchar(255)") - .HasColumnName("feature"); + b.Property("Feature") + .HasColumnType("varchar(255)") + .HasColumnName("feature"); - b.Property("PaidOut") - .HasColumnType("decimal(65,30)") - .HasColumnName("paidout"); + b.Property("PaidOut") + .HasColumnType("decimal(65,30)") + .HasColumnName("paidout"); - b.HasKey("Id") - .HasName("pk_gamblingstats"); + b.HasKey("Id") + .HasName("pk_gamblingstats"); - b.HasIndex("Feature") - .IsUnique() - .HasDatabaseName("ix_gamblingstats_feature"); + b.HasIndex("Feature") + .IsUnique() + .HasDatabaseName("ix_gamblingstats_feature"); - b.ToTable("gamblingstats", (string)null); - }); + b.ToTable("gamblingstats", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("EndsAt") - .HasColumnType("datetime(6)") - .HasColumnName("endsat"); + b.Property("EndsAt") + .HasColumnType("datetime(6)") + .HasColumnName("endsat"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Message") - .HasColumnType("longtext") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); - b.Property("MessageId") - .HasColumnType("bigint unsigned") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); - b.HasKey("Id") - .HasName("pk_giveawaymodel"); + b.HasKey("Id") + .HasName("pk_giveawaymodel"); - b.ToTable("giveawaymodel", (string)null); - }); + b.ToTable("giveawaymodel", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("GiveawayId") - .HasColumnType("int") - .HasColumnName("giveawayid"); + b.Property("GiveawayId") + .HasColumnType("int") + .HasColumnName("giveawayid"); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_giveawayuser"); + b.HasKey("Id") + .HasName("pk_giveawayuser"); - b.HasIndex("GiveawayId", "UserId") - .IsUnique() - .HasDatabaseName("ix_giveawayuser_giveawayid_userid"); + b.HasIndex("GiveawayId", "UserId") + .IsUnique() + .HasDatabaseName("ix_giveawayuser_giveawayid_userid"); - b.ToTable("giveawayuser", (string)null); - }); + b.ToTable("giveawayuser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.Property("Number") - .HasColumnType("int") - .HasColumnName("number"); + b.Property("Number") + .HasColumnType("int") + .HasColumnName("number"); - b.HasKey("Id") - .HasName("pk_groupname"); + b.HasKey("Id") + .HasName("pk_groupname"); - b.HasIndex("GuildConfigId", "Number") - .IsUnique() - .HasDatabaseName("ix_groupname_guildconfigid_number"); + b.HasIndex("GuildConfigId", "Number") + .IsUnique() + .HasDatabaseName("ix_groupname_guildconfigid_number"); - b.ToTable("groupname", (string)null); - }); + b.ToTable("groupname", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AutoAssignRoleIds") - .HasColumnType("longtext") - .HasColumnName("autoassignroleids"); + b.Property("AutoAssignRoleIds") + .HasColumnType("longtext") + .HasColumnName("autoassignroleids"); - b.Property("AutoDeleteByeMessagesTimer") - .HasColumnType("int") - .HasColumnName("autodeletebyemessagestimer"); + b.Property("AutoDeleteSelfAssignedRoleMessages") + .HasColumnType("tinyint(1)") + .HasColumnName("autodeleteselfassignedrolemessages"); - b.Property("AutoDeleteGreetMessagesTimer") - .HasColumnType("int") - .HasColumnName("autodeletegreetmessagestimer"); + b.Property("CleverbotEnabled") + .HasColumnType("tinyint(1)") + .HasColumnName("cleverbotenabled"); - b.Property("AutoDeleteSelfAssignedRoleMessages") - .HasColumnType("tinyint(1)") - .HasColumnName("autodeleteselfassignedrolemessages"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("BoostMessage") - .HasColumnType("longtext") - .HasColumnName("boostmessage"); + b.Property("DeleteMessageOnCommand") + .HasColumnType("tinyint(1)") + .HasColumnName("deletemessageoncommand"); - b.Property("BoostMessageChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("boostmessagechannelid"); + b.Property("DeleteStreamOnlineMessage") + .HasColumnType("tinyint(1)") + .HasColumnName("deletestreamonlinemessage"); - b.Property("BoostMessageDeleteAfter") - .HasColumnType("int") - .HasColumnName("boostmessagedeleteafter"); + b.Property("DisableGlobalExpressions") + .HasColumnType("tinyint(1)") + .HasColumnName("disableglobalexpressions"); - b.Property("ByeMessageChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("byemessagechannelid"); + b.Property("ExclusiveSelfAssignedRoles") + .HasColumnType("tinyint(1)") + .HasColumnName("exclusiveselfassignedroles"); - b.Property("ChannelByeMessageText") - .HasColumnType("longtext") - .HasColumnName("channelbyemessagetext"); + b.Property("FilterInvites") + .HasColumnType("tinyint(1)") + .HasColumnName("filterinvites"); - b.Property("ChannelGreetMessageText") - .HasColumnType("longtext") - .HasColumnName("channelgreetmessagetext"); + b.Property("FilterLinks") + .HasColumnType("tinyint(1)") + .HasColumnName("filterlinks"); - b.Property("CleverbotEnabled") - .HasColumnType("tinyint(1)") - .HasColumnName("cleverbotenabled"); + b.Property("FilterWords") + .HasColumnType("tinyint(1)") + .HasColumnName("filterwords"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("GameVoiceChannel") + .HasColumnType("bigint unsigned") + .HasColumnName("gamevoicechannel"); - b.Property("DeleteMessageOnCommand") - .HasColumnType("tinyint(1)") - .HasColumnName("deletemessageoncommand"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("DeleteStreamOnlineMessage") - .HasColumnType("tinyint(1)") - .HasColumnName("deletestreamonlinemessage"); + b.Property("Locale") + .HasColumnType("longtext") + .HasColumnName("locale"); - b.Property("DisableGlobalExpressions") - .HasColumnType("tinyint(1)") - .HasColumnName("disableglobalexpressions"); + b.Property("MuteRoleName") + .HasColumnType("longtext") + .HasColumnName("muterolename"); - b.Property("DmGreetMessageText") - .HasColumnType("longtext") - .HasColumnName("dmgreetmessagetext"); + b.Property("NotifyStreamOffline") + .HasColumnType("tinyint(1)") + .HasColumnName("notifystreamoffline"); - b.Property("ExclusiveSelfAssignedRoles") - .HasColumnType("tinyint(1)") - .HasColumnName("exclusiveselfassignedroles"); + b.Property("PermissionRole") + .HasColumnType("longtext") + .HasColumnName("permissionrole"); - b.Property("FilterInvites") - .HasColumnType("tinyint(1)") - .HasColumnName("filterinvites"); + b.Property("Prefix") + .HasColumnType("longtext") + .HasColumnName("prefix"); - b.Property("FilterLinks") - .HasColumnType("tinyint(1)") - .HasColumnName("filterlinks"); + b.Property("StickyRoles") + .HasColumnType("tinyint(1)") + .HasColumnName("stickyroles"); - b.Property("FilterWords") - .HasColumnType("tinyint(1)") - .HasColumnName("filterwords"); + b.Property("TimeZoneId") + .HasColumnType("longtext") + .HasColumnName("timezoneid"); - b.Property("GameVoiceChannel") - .HasColumnType("bigint unsigned") - .HasColumnName("gamevoicechannel"); + b.Property("VerboseErrors") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(true) + .HasColumnName("verboseerrors"); - b.Property("GreetMessageChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("greetmessagechannelid"); + b.Property("VerbosePermissions") + .HasColumnType("tinyint(1)") + .HasColumnName("verbosepermissions"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("WarnExpireAction") + .HasColumnType("int") + .HasColumnName("warnexpireaction"); - b.Property("Locale") - .HasColumnType("longtext") - .HasColumnName("locale"); + b.Property("WarnExpireHours") + .HasColumnType("int") + .HasColumnName("warnexpirehours"); - b.Property("MuteRoleName") - .HasColumnType("longtext") - .HasColumnName("muterolename"); + b.Property("WarningsInitialized") + .HasColumnType("tinyint(1)") + .HasColumnName("warningsinitialized"); - b.Property("NotifyStreamOffline") - .HasColumnType("tinyint(1)") - .HasColumnName("notifystreamoffline"); + b.HasKey("Id") + .HasName("pk_guildconfigs"); - b.Property("PermissionRole") - .HasColumnType("longtext") - .HasColumnName("permissionrole"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_guildconfigs_guildid"); - b.Property("Prefix") - .HasColumnType("longtext") - .HasColumnName("prefix"); + b.HasIndex("WarnExpireHours") + .HasDatabaseName("ix_guildconfigs_warnexpirehours"); - b.Property("SendBoostMessage") - .HasColumnType("tinyint(1)") - .HasColumnName("sendboostmessage"); - - b.Property("SendChannelByeMessage") - .HasColumnType("tinyint(1)") - .HasColumnName("sendchannelbyemessage"); - - b.Property("SendChannelGreetMessage") - .HasColumnType("tinyint(1)") - .HasColumnName("sendchannelgreetmessage"); - - b.Property("SendDmGreetMessage") - .HasColumnType("tinyint(1)") - .HasColumnName("senddmgreetmessage"); - - b.Property("StickyRoles") - .HasColumnType("tinyint(1)") - .HasColumnName("stickyroles"); - - b.Property("TimeZoneId") - .HasColumnType("longtext") - .HasColumnName("timezoneid"); - - b.Property("VerboseErrors") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint(1)") - .HasDefaultValue(true) - .HasColumnName("verboseerrors"); - - b.Property("VerbosePermissions") - .HasColumnType("tinyint(1)") - .HasColumnName("verbosepermissions"); - - b.Property("WarnExpireAction") - .HasColumnType("int") - .HasColumnName("warnexpireaction"); - - b.Property("WarnExpireHours") - .HasColumnType("int") - .HasColumnName("warnexpirehours"); - - b.Property("WarningsInitialized") - .HasColumnType("tinyint(1)") - .HasColumnName("warningsinitialized"); - - b.HasKey("Id") - .HasName("pk_guildconfigs"); - - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_guildconfigs_guildid"); - - b.HasIndex("WarnExpireHours") - .HasDatabaseName("ix_guildconfigs_warnexpirehours"); - - b.ToTable("guildconfigs", (string)null); - }); + b.ToTable("guildconfigs", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b => - { - b.Property("GuildId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + { + b.Property("GuildId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("GuildId")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("GuildId")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.HasKey("GuildId") - .HasName("pk_honeypotchannels"); + b.HasKey("GuildId") + .HasName("pk_honeypotchannels"); - b.ToTable("honeypotchannels", (string)null); - }); + b.ToTable("honeypotchannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("ItemType") - .HasColumnType("int") - .HasColumnName("itemtype"); + b.Property("ItemType") + .HasColumnType("int") + .HasColumnName("itemtype"); - b.Property("LogItemId") - .HasColumnType("bigint unsigned") - .HasColumnName("logitemid"); + b.Property("LogItemId") + .HasColumnType("bigint unsigned") + .HasColumnName("logitemid"); - b.Property("LogSettingId") - .HasColumnType("int") - .HasColumnName("logsettingid"); + b.Property("LogSettingId") + .HasColumnType("int") + .HasColumnName("logsettingid"); - b.HasKey("Id") - .HasName("pk_ignoredlogchannels"); + b.HasKey("Id") + .HasName("pk_ignoredlogchannels"); - b.HasIndex("LogSettingId", "LogItemId", "ItemType") - .IsUnique() - .HasDatabaseName("ix_ignoredlogchannels_logsettingid_logitemid_itemtype"); + b.HasIndex("LogSettingId", "LogItemId", "ItemType") + .IsUnique() + .HasDatabaseName("ix_ignoredlogchannels_logsettingid_logitemid_itemtype"); - b.ToTable("ignoredlogchannels", (string)null); - }); + b.ToTable("ignoredlogchannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_imageonlychannels"); + b.HasKey("Id") + .HasName("pk_imageonlychannels"); - b.HasIndex("ChannelId") - .IsUnique() - .HasDatabaseName("ix_imageonlychannels_channelid"); + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_imageonlychannels_channelid"); - b.ToTable("imageonlychannels", (string)null); - }); + b.ToTable("imageonlychannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelCreatedId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelcreatedid"); + b.Property("ChannelCreatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelcreatedid"); - b.Property("ChannelDestroyedId") - .HasColumnType("bigint unsigned") - .HasColumnName("channeldestroyedid"); + b.Property("ChannelDestroyedId") + .HasColumnType("bigint unsigned") + .HasColumnName("channeldestroyedid"); - b.Property("ChannelUpdatedId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelupdatedid"); + b.Property("ChannelUpdatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelupdatedid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("LogOtherId") - .HasColumnType("bigint unsigned") - .HasColumnName("logotherid"); + b.Property("LogOtherId") + .HasColumnType("bigint unsigned") + .HasColumnName("logotherid"); - b.Property("LogUserPresenceId") - .HasColumnType("bigint unsigned") - .HasColumnName("loguserpresenceid"); + b.Property("LogUserPresenceId") + .HasColumnType("bigint unsigned") + .HasColumnName("loguserpresenceid"); - b.Property("LogVoicePresenceId") - .HasColumnType("bigint unsigned") - .HasColumnName("logvoicepresenceid"); + b.Property("LogVoicePresenceId") + .HasColumnType("bigint unsigned") + .HasColumnName("logvoicepresenceid"); - b.Property("LogVoicePresenceTTSId") - .HasColumnType("bigint unsigned") - .HasColumnName("logvoicepresencettsid"); + b.Property("LogVoicePresenceTTSId") + .HasColumnType("bigint unsigned") + .HasColumnName("logvoicepresencettsid"); - b.Property("LogWarnsId") - .HasColumnType("bigint unsigned") - .HasColumnName("logwarnsid"); + b.Property("LogWarnsId") + .HasColumnType("bigint unsigned") + .HasColumnName("logwarnsid"); - b.Property("MessageDeletedId") - .HasColumnType("bigint unsigned") - .HasColumnName("messagedeletedid"); + b.Property("MessageDeletedId") + .HasColumnType("bigint unsigned") + .HasColumnName("messagedeletedid"); - b.Property("MessageUpdatedId") - .HasColumnType("bigint unsigned") - .HasColumnName("messageupdatedid"); + b.Property("MessageUpdatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageupdatedid"); - b.Property("ThreadCreatedId") - .HasColumnType("bigint unsigned") - .HasColumnName("threadcreatedid"); + b.Property("ThreadCreatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("threadcreatedid"); - b.Property("ThreadDeletedId") - .HasColumnType("bigint unsigned") - .HasColumnName("threaddeletedid"); + b.Property("ThreadDeletedId") + .HasColumnType("bigint unsigned") + .HasColumnName("threaddeletedid"); - b.Property("UserBannedId") - .HasColumnType("bigint unsigned") - .HasColumnName("userbannedid"); + b.Property("UserBannedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userbannedid"); - b.Property("UserJoinedId") - .HasColumnType("bigint unsigned") - .HasColumnName("userjoinedid"); + b.Property("UserJoinedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userjoinedid"); - b.Property("UserLeftId") - .HasColumnType("bigint unsigned") - .HasColumnName("userleftid"); + b.Property("UserLeftId") + .HasColumnType("bigint unsigned") + .HasColumnName("userleftid"); - b.Property("UserMutedId") - .HasColumnType("bigint unsigned") - .HasColumnName("usermutedid"); + b.Property("UserMutedId") + .HasColumnType("bigint unsigned") + .HasColumnName("usermutedid"); - b.Property("UserUnbannedId") - .HasColumnType("bigint unsigned") - .HasColumnName("userunbannedid"); + b.Property("UserUnbannedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userunbannedid"); - b.Property("UserUpdatedId") - .HasColumnType("bigint unsigned") - .HasColumnName("userupdatedid"); + b.Property("UserUpdatedId") + .HasColumnType("bigint unsigned") + .HasColumnName("userupdatedid"); - b.HasKey("Id") - .HasName("pk_logsettings"); + b.HasKey("Id") + .HasName("pk_logsettings"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_logsettings_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_logsettings_guildid"); - b.ToTable("logsettings", (string)null); - }); + b.ToTable("logsettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AutoDisconnect") - .HasColumnType("tinyint(1)") - .HasColumnName("autodisconnect"); + b.Property("AutoDisconnect") + .HasColumnType("tinyint(1)") + .HasColumnName("autodisconnect"); - b.Property("AutoPlay") - .HasColumnType("tinyint(1)") - .HasColumnName("autoplay"); + b.Property("AutoPlay") + .HasColumnType("tinyint(1)") + .HasColumnName("autoplay"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("MusicChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("musicchannelid"); + b.Property("MusicChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("musicchannelid"); - b.Property("PlayerRepeat") - .HasColumnType("int") - .HasColumnName("playerrepeat"); + b.Property("PlayerRepeat") + .HasColumnType("int") + .HasColumnName("playerrepeat"); - b.Property("QualityPreset") - .HasColumnType("int") - .HasColumnName("qualitypreset"); + b.Property("QualityPreset") + .HasColumnType("int") + .HasColumnName("qualitypreset"); - b.Property("Volume") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(100) - .HasColumnName("volume"); + b.Property("Volume") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(100) + .HasColumnName("volume"); - b.HasKey("Id") - .HasName("pk_musicplayersettings"); + b.HasKey("Id") + .HasName("pk_musicplayersettings"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_musicplayersettings_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_musicplayersettings_guildid"); - b.ToTable("musicplayersettings", (string)null); - }); + b.ToTable("musicplayersettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Author") - .HasColumnType("longtext") - .HasColumnName("author"); + b.Property("Author") + .HasColumnType("longtext") + .HasColumnName("author"); - b.Property("AuthorId") - .HasColumnType("bigint unsigned") - .HasColumnName("authorid"); + b.Property("AuthorId") + .HasColumnType("bigint unsigned") + .HasColumnName("authorid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.HasKey("Id") - .HasName("pk_musicplaylists"); + b.HasKey("Id") + .HasName("pk_musicplaylists"); - b.ToTable("musicplaylists", (string)null); - }); + b.ToTable("musicplaylists", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_muteduserid"); + b.HasKey("Id") + .HasName("pk_muteduserid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_muteduserid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_muteduserid_guildconfigid"); - b.ToTable("muteduserid", (string)null); - }); + b.ToTable("muteduserid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AllowTarget") - .HasColumnType("tinyint(1)") - .HasColumnName("allowtarget"); + b.Property("AllowTarget") + .HasColumnType("tinyint(1)") + .HasColumnName("allowtarget"); - b.Property("AutoDeleteTrigger") - .HasColumnType("tinyint(1)") - .HasColumnName("autodeletetrigger"); + b.Property("AutoDeleteTrigger") + .HasColumnType("tinyint(1)") + .HasColumnName("autodeletetrigger"); - b.Property("ContainsAnywhere") - .HasColumnType("tinyint(1)") - .HasColumnName("containsanywhere"); + b.Property("ContainsAnywhere") + .HasColumnType("tinyint(1)") + .HasColumnName("containsanywhere"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("DmResponse") - .HasColumnType("tinyint(1)") - .HasColumnName("dmresponse"); + b.Property("DmResponse") + .HasColumnType("tinyint(1)") + .HasColumnName("dmresponse"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Reactions") - .HasColumnType("longtext") - .HasColumnName("reactions"); + b.Property("Reactions") + .HasColumnType("longtext") + .HasColumnName("reactions"); - b.Property("Response") - .HasColumnType("longtext") - .HasColumnName("response"); + b.Property("Response") + .HasColumnType("longtext") + .HasColumnName("response"); - b.Property("Trigger") - .HasColumnType("longtext") - .HasColumnName("trigger"); + b.Property("Trigger") + .HasColumnType("longtext") + .HasColumnName("trigger"); - b.HasKey("Id") - .HasName("pk_expressions"); + b.HasKey("Id") + .HasName("pk_expressions"); - b.ToTable("expressions", (string)null); - }); + b.ToTable("expressions", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b => - { - b.Property("UserId") - .ValueGeneratedOnAdd() - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("UserId")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("UserId")); - b.Property("AmountCents") - .HasColumnType("int") - .HasColumnName("amountcents"); + b.Property("AmountCents") + .HasColumnType("int") + .HasColumnName("amountcents"); - b.Property("LastCharge") - .HasColumnType("datetime(6)") - .HasColumnName("lastcharge"); + b.Property("LastCharge") + .HasColumnType("datetime(6)") + .HasColumnName("lastcharge"); - b.Property("UniquePlatformUserId") - .HasColumnType("varchar(255)") - .HasColumnName("uniqueplatformuserid"); + b.Property("UniquePlatformUserId") + .HasColumnType("varchar(255)") + .HasColumnName("uniqueplatformuserid"); - b.Property("ValidThru") - .HasColumnType("datetime(6)") - .HasColumnName("validthru"); + b.Property("ValidThru") + .HasColumnType("datetime(6)") + .HasColumnName("validthru"); - b.HasKey("UserId") - .HasName("pk_patrons"); + b.HasKey("UserId") + .HasName("pk_patrons"); - b.HasIndex("UniquePlatformUserId") - .IsUnique() - .HasDatabaseName("ix_patrons_uniqueplatformuserid"); + b.HasIndex("UniquePlatformUserId") + .IsUnique() + .HasDatabaseName("ix_patrons_uniqueplatformuserid"); - b.ToTable("patrons", (string)null); - }); + b.ToTable("patrons", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Index") - .HasColumnType("int") - .HasColumnName("index"); + b.Property("Index") + .HasColumnType("int") + .HasColumnName("index"); - b.Property("IsCustomCommand") - .HasColumnType("tinyint(1)") - .HasColumnName("iscustomcommand"); + b.Property("IsCustomCommand") + .HasColumnType("tinyint(1)") + .HasColumnName("iscustomcommand"); - b.Property("PrimaryTarget") - .HasColumnType("int") - .HasColumnName("primarytarget"); + b.Property("PrimaryTarget") + .HasColumnType("int") + .HasColumnName("primarytarget"); - b.Property("PrimaryTargetId") - .HasColumnType("bigint unsigned") - .HasColumnName("primarytargetid"); + b.Property("PrimaryTargetId") + .HasColumnType("bigint unsigned") + .HasColumnName("primarytargetid"); - b.Property("SecondaryTarget") - .HasColumnType("int") - .HasColumnName("secondarytarget"); + b.Property("SecondaryTarget") + .HasColumnType("int") + .HasColumnName("secondarytarget"); - b.Property("SecondaryTargetName") - .HasColumnType("longtext") - .HasColumnName("secondarytargetname"); + b.Property("SecondaryTargetName") + .HasColumnType("longtext") + .HasColumnName("secondarytargetname"); - b.Property("State") - .HasColumnType("tinyint(1)") - .HasColumnName("state"); + b.Property("State") + .HasColumnType("tinyint(1)") + .HasColumnName("state"); - b.HasKey("Id") - .HasName("pk_permissions"); + b.HasKey("Id") + .HasName("pk_permissions"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_permissions_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_permissions_guildconfigid"); - b.ToTable("permissions", (string)null); - }); + b.ToTable("permissions", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Amount") - .HasColumnType("bigint") - .HasColumnName("amount"); + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("MessageId") - .HasColumnType("bigint unsigned") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); - b.Property("Password") - .HasColumnType("longtext") - .HasColumnName("password"); + b.Property("Password") + .HasColumnType("longtext") + .HasColumnName("password"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_plantedcurrency"); + b.HasKey("Id") + .HasName("pk_plantedcurrency"); - b.HasIndex("ChannelId") - .HasDatabaseName("ix_plantedcurrency_channelid"); + b.HasIndex("ChannelId") + .HasDatabaseName("ix_plantedcurrency_channelid"); - b.HasIndex("MessageId") - .IsUnique() - .HasDatabaseName("ix_plantedcurrency_messageid"); + b.HasIndex("MessageId") + .IsUnique() + .HasDatabaseName("ix_plantedcurrency_messageid"); - b.ToTable("plantedcurrency", (string)null); - }); + b.ToTable("plantedcurrency", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("MusicPlaylistId") - .HasColumnType("int") - .HasColumnName("musicplaylistid"); + b.Property("MusicPlaylistId") + .HasColumnType("int") + .HasColumnName("musicplaylistid"); - b.Property("Provider") - .HasColumnType("longtext") - .HasColumnName("provider"); + b.Property("Provider") + .HasColumnType("longtext") + .HasColumnName("provider"); - b.Property("ProviderType") - .HasColumnType("int") - .HasColumnName("providertype"); + b.Property("ProviderType") + .HasColumnType("int") + .HasColumnName("providertype"); - b.Property("Query") - .HasColumnType("longtext") - .HasColumnName("query"); + b.Property("Query") + .HasColumnType("longtext") + .HasColumnName("query"); - b.Property("Title") - .HasColumnType("longtext") - .HasColumnName("title"); + b.Property("Title") + .HasColumnType("longtext") + .HasColumnName("title"); - b.Property("Uri") - .HasColumnType("longtext") - .HasColumnName("uri"); + b.Property("Uri") + .HasColumnType("longtext") + .HasColumnName("uri"); - b.HasKey("Id") - .HasName("pk_playlistsong"); + b.HasKey("Id") + .HasName("pk_playlistsong"); - b.HasIndex("MusicPlaylistId") - .HasDatabaseName("ix_playlistsong_musicplaylistid"); + b.HasIndex("MusicPlaylistId") + .HasDatabaseName("ix_playlistsong_musicplaylistid"); - b.ToTable("playlistsong", (string)null); - }); + b.ToTable("playlistsong", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AuthorId") - .HasColumnType("bigint unsigned") - .HasColumnName("authorid"); + b.Property("AuthorId") + .HasColumnType("bigint unsigned") + .HasColumnName("authorid"); - b.Property("AuthorName") - .IsRequired() - .HasColumnType("longtext") - .HasColumnName("authorname"); + b.Property("AuthorName") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("authorname"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Keyword") - .IsRequired() - .HasColumnType("varchar(255)") - .HasColumnName("keyword"); + b.Property("Keyword") + .IsRequired() + .HasColumnType("varchar(255)") + .HasColumnName("keyword"); - b.Property("Text") - .IsRequired() - .HasColumnType("longtext") - .HasColumnName("text"); + b.Property("Text") + .IsRequired() + .HasColumnType("longtext") + .HasColumnName("text"); - b.HasKey("Id") - .HasName("pk_quotes"); + b.HasKey("Id") + .HasName("pk_quotes"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_quotes_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_quotes_guildid"); - b.HasIndex("Keyword") - .HasDatabaseName("ix_quotes_keyword"); + b.HasIndex("Keyword") + .HasDatabaseName("ix_quotes_keyword"); - b.ToTable("quotes", (string)null); - }); + b.ToTable("quotes", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Emote") - .HasMaxLength(100) - .HasColumnType("varchar(100)") - .HasColumnName("emote"); + b.Property("Emote") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasColumnName("emote"); - b.Property("Group") - .HasColumnType("int") - .HasColumnName("group"); + b.Property("Group") + .HasColumnType("int") + .HasColumnName("group"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("LevelReq") - .HasColumnType("int") - .HasColumnName("levelreq"); + b.Property("LevelReq") + .HasColumnType("int") + .HasColumnName("levelreq"); - b.Property("MessageId") - .HasColumnType("bigint unsigned") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_reactionroles"); + b.HasKey("Id") + .HasName("pk_reactionroles"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_reactionroles_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_reactionroles_guildid"); - b.HasIndex("MessageId", "Emote") - .IsUnique() - .HasDatabaseName("ix_reactionroles_messageid_emote"); + b.HasIndex("MessageId", "Emote") + .IsUnique() + .HasDatabaseName("ix_reactionroles_messageid_emote"); - b.ToTable("reactionroles", (string)null); - }); + b.ToTable("reactionroles", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("IsPrivate") - .HasColumnType("tinyint(1)") - .HasColumnName("isprivate"); + b.Property("IsPrivate") + .HasColumnType("tinyint(1)") + .HasColumnName("isprivate"); - b.Property("Message") - .HasColumnType("longtext") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); - b.Property("ServerId") - .HasColumnType("bigint unsigned") - .HasColumnName("serverid"); + b.Property("ServerId") + .HasColumnType("bigint unsigned") + .HasColumnName("serverid"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.Property("When") - .HasColumnType("datetime(6)") - .HasColumnName("when"); + b.Property("When") + .HasColumnType("datetime(6)") + .HasColumnName("when"); - b.HasKey("Id") - .HasName("pk_reminders"); + b.HasKey("Id") + .HasName("pk_reminders"); - b.HasIndex("When") - .HasDatabaseName("ix_reminders_when"); + b.HasIndex("When") + .HasDatabaseName("ix_reminders_when"); - b.ToTable("reminders", (string)null); - }); + b.ToTable("reminders", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Interval") - .HasColumnType("time(6)") - .HasColumnName("interval"); + b.Property("Interval") + .HasColumnType("time(6)") + .HasColumnName("interval"); - b.Property("LastMessageId") - .HasColumnType("bigint unsigned") - .HasColumnName("lastmessageid"); + b.Property("LastMessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("lastmessageid"); - b.Property("Message") - .HasColumnType("longtext") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("longtext") + .HasColumnName("message"); - b.Property("NoRedundant") - .HasColumnType("tinyint(1)") - .HasColumnName("noredundant"); + b.Property("NoRedundant") + .HasColumnType("tinyint(1)") + .HasColumnName("noredundant"); - b.Property("StartTimeOfDay") - .HasColumnType("time(6)") - .HasColumnName("starttimeofday"); + b.Property("StartTimeOfDay") + .HasColumnType("time(6)") + .HasColumnName("starttimeofday"); - b.HasKey("Id") - .HasName("pk_repeaters"); + b.HasKey("Id") + .HasName("pk_repeaters"); - b.ToTable("repeaters", (string)null); - }); + b.ToTable("repeaters", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AmountRewardedThisMonth") - .HasColumnType("bigint") - .HasColumnName("amountrewardedthismonth"); + b.Property("AmountRewardedThisMonth") + .HasColumnType("bigint") + .HasColumnName("amountrewardedthismonth"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("LastReward") - .HasColumnType("datetime(6)") - .HasColumnName("lastreward"); + b.Property("LastReward") + .HasColumnType("datetime(6)") + .HasColumnName("lastreward"); - b.Property("PlatformUserId") - .HasColumnType("varchar(255)") - .HasColumnName("platformuserid"); + b.Property("PlatformUserId") + .HasColumnType("varchar(255)") + .HasColumnName("platformuserid"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_rewardedusers"); + b.HasKey("Id") + .HasName("pk_rewardedusers"); - b.HasIndex("PlatformUserId") - .IsUnique() - .HasDatabaseName("ix_rewardedusers_platformuserid"); + b.HasIndex("PlatformUserId") + .IsUnique() + .HasDatabaseName("ix_rewardedusers_platformuserid"); - b.ToTable("rewardedusers", (string)null); - }); + b.ToTable("rewardedusers", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Status") - .HasColumnType("longtext") - .HasColumnName("status"); + b.Property("Status") + .HasColumnType("longtext") + .HasColumnName("status"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_rotatingstatus"); + b.HasKey("Id") + .HasName("pk_rotatingstatus"); - b.ToTable("rotatingstatus", (string)null); - }); + b.ToTable("rotatingstatus", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Group") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("group"); + b.Property("Group") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("group"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("LevelRequirement") - .HasColumnType("int") - .HasColumnName("levelrequirement"); + b.Property("LevelRequirement") + .HasColumnType("int") + .HasColumnName("levelrequirement"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_selfassignableroles"); + b.HasKey("Id") + .HasName("pk_selfassignableroles"); - b.HasIndex("GuildId", "RoleId") - .IsUnique() - .HasDatabaseName("ix_selfassignableroles_guildid_roleid"); + b.HasIndex("GuildId", "RoleId") + .IsUnique() + .HasDatabaseName("ix_selfassignableroles_guildid_roleid"); - b.ToTable("selfassignableroles", (string)null); - }); + b.ToTable("selfassignableroles", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AuthorId") - .HasColumnType("bigint unsigned") - .HasColumnName("authorid"); + b.Property("AuthorId") + .HasColumnType("bigint unsigned") + .HasColumnName("authorid"); - b.Property("Command") - .HasColumnType("longtext") - .HasColumnName("command"); + b.Property("Command") + .HasColumnType("longtext") + .HasColumnName("command"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Index") - .HasColumnType("int") - .HasColumnName("index"); + b.Property("Index") + .HasColumnType("int") + .HasColumnName("index"); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.Property("Price") - .HasColumnType("int") - .HasColumnName("price"); + b.Property("Price") + .HasColumnType("int") + .HasColumnName("price"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.Property("RoleName") - .HasColumnType("longtext") - .HasColumnName("rolename"); + b.Property("RoleName") + .HasColumnType("longtext") + .HasColumnName("rolename"); - b.Property("RoleRequirement") - .HasColumnType("bigint unsigned") - .HasColumnName("rolerequirement"); + b.Property("RoleRequirement") + .HasColumnType("bigint unsigned") + .HasColumnName("rolerequirement"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_shopentry"); + b.HasKey("Id") + .HasName("pk_shopentry"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_shopentry_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_shopentry_guildconfigid"); - b.ToTable("shopentry", (string)null); - }); + b.ToTable("shopentry", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("ShopEntryId") - .HasColumnType("int") - .HasColumnName("shopentryid"); + b.Property("ShopEntryId") + .HasColumnType("int") + .HasColumnName("shopentryid"); - b.Property("Text") - .HasColumnType("longtext") - .HasColumnName("text"); + b.Property("Text") + .HasColumnType("longtext") + .HasColumnName("text"); - b.HasKey("Id") - .HasName("pk_shopentryitem"); + b.HasKey("Id") + .HasName("pk_shopentryitem"); - b.HasIndex("ShopEntryId") - .HasDatabaseName("ix_shopentryitem_shopentryid"); + b.HasIndex("ShopEntryId") + .HasDatabaseName("ix_shopentryitem_shopentryid"); - b.ToTable("shopentryitem", (string)null); - }); + b.ToTable("shopentryitem", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_slowmodeignoredrole"); + b.HasKey("Id") + .HasName("pk_slowmodeignoredrole"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid"); - b.ToTable("slowmodeignoredrole", (string)null); - }); + b.ToTable("slowmodeignoredrole", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_slowmodeignoreduser"); + b.HasKey("Id") + .HasName("pk_slowmodeignoreduser"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid"); - b.ToTable("slowmodeignoreduser", (string)null); - }); + b.ToTable("slowmodeignoreduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("RoleIds") - .HasColumnType("longtext") - .HasColumnName("roleids"); + b.Property("RoleIds") + .HasColumnType("longtext") + .HasColumnName("roleids"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_stickyroles"); + b.HasKey("Id") + .HasName("pk_stickyroles"); - b.HasIndex("GuildId", "UserId") - .IsUnique() - .HasDatabaseName("ix_stickyroles_guildid_userid"); + b.HasIndex("GuildId", "UserId") + .IsUnique() + .HasDatabaseName("ix_stickyroles_guildid_userid"); - b.ToTable("stickyroles", (string)null); - }); + b.ToTable("stickyroles", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("MessageId") - .HasColumnType("bigint unsigned") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("bigint unsigned") + .HasColumnName("messageid"); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.Property("Type") - .HasColumnType("int") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("int") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_streamonlinemessages"); + b.HasKey("Id") + .HasName("pk_streamonlinemessages"); - b.ToTable("streamonlinemessages", (string)null); - }); + b.ToTable("streamonlinemessages", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("StreamRoleSettingsId") - .HasColumnType("int") - .HasColumnName("streamrolesettingsid"); + b.Property("StreamRoleSettingsId") + .HasColumnType("int") + .HasColumnName("streamrolesettingsid"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.Property("Username") - .HasColumnType("longtext") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_streamroleblacklisteduser"); + b.HasKey("Id") + .HasName("pk_streamroleblacklisteduser"); - b.HasIndex("StreamRoleSettingsId") - .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid"); + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid"); - b.ToTable("streamroleblacklisteduser", (string)null); - }); + b.ToTable("streamroleblacklisteduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AddRoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("addroleid"); + b.Property("AddRoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("addroleid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Enabled") - .HasColumnType("tinyint(1)") - .HasColumnName("enabled"); + b.Property("Enabled") + .HasColumnType("tinyint(1)") + .HasColumnName("enabled"); - b.Property("FromRoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("fromroleid"); + b.Property("FromRoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("fromroleid"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Keyword") - .HasColumnType("longtext") - .HasColumnName("keyword"); + b.Property("Keyword") + .HasColumnType("longtext") + .HasColumnName("keyword"); - b.HasKey("Id") - .HasName("pk_streamrolesettings"); + b.HasKey("Id") + .HasName("pk_streamrolesettings"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_streamrolesettings_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_streamrolesettings_guildconfigid"); - b.ToTable("streamrolesettings", (string)null); - }); + b.ToTable("streamrolesettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("StreamRoleSettingsId") - .HasColumnType("int") - .HasColumnName("streamrolesettingsid"); + b.Property("StreamRoleSettingsId") + .HasColumnType("int") + .HasColumnName("streamrolesettingsid"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.Property("Username") - .HasColumnType("longtext") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("longtext") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_streamrolewhitelisteduser"); + b.HasKey("Id") + .HasName("pk_streamrolewhitelisteduser"); - b.HasIndex("StreamRoleSettingsId") - .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid"); + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid"); - b.ToTable("streamrolewhitelisteduser", (string)null); - }); + b.ToTable("streamrolewhitelisteduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("ArchiveId") - .HasColumnType("int") - .HasColumnName("archiveid"); + b.Property("ArchiveId") + .HasColumnType("int") + .HasColumnName("archiveid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("IsDone") - .HasColumnType("tinyint(1)") - .HasColumnName("isdone"); + b.Property("IsDone") + .HasColumnType("tinyint(1)") + .HasColumnName("isdone"); - b.Property("Todo") - .HasColumnType("longtext") - .HasColumnName("todo"); + b.Property("Todo") + .HasColumnType("longtext") + .HasColumnName("todo"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_todos"); + b.HasKey("Id") + .HasName("pk_todos"); - b.HasIndex("ArchiveId") - .HasDatabaseName("ix_todos_archiveid"); + b.HasIndex("ArchiveId") + .HasDatabaseName("ix_todos_archiveid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_todos_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_todos_userid"); - b.ToTable("todos", (string)null); - }); + b.ToTable("todos", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("UnbanAt") - .HasColumnType("datetime(6)") - .HasColumnName("unbanat"); + b.Property("UnbanAt") + .HasColumnType("datetime(6)") + .HasColumnName("unbanat"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_unbantimer"); + b.HasKey("Id") + .HasName("pk_unbantimer"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_unbantimer_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unbantimer_guildconfigid"); - b.ToTable("unbantimer", (string)null); - }); + b.ToTable("unbantimer", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("UnmuteAt") - .HasColumnType("datetime(6)") - .HasColumnName("unmuteat"); + b.Property("UnmuteAt") + .HasColumnType("datetime(6)") + .HasColumnName("unmuteat"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_unmutetimer"); + b.HasKey("Id") + .HasName("pk_unmutetimer"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_unmutetimer_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unmutetimer_guildconfigid"); - b.ToTable("unmutetimer", (string)null); - }); + b.ToTable("unmutetimer", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.Property("UnbanAt") - .HasColumnType("datetime(6)") - .HasColumnName("unbanat"); + b.Property("UnbanAt") + .HasColumnType("datetime(6)") + .HasColumnName("unbanat"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_unroletimer"); + b.HasKey("Id") + .HasName("pk_unroletimer"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_unroletimer_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unroletimer_guildconfigid"); - b.ToTable("unroletimer", (string)null); - }); + b.ToTable("unroletimer", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AwardedXp") - .HasColumnType("bigint") - .HasColumnName("awardedxp"); + b.Property("AwardedXp") + .HasColumnType("bigint") + .HasColumnName("awardedxp"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("NotifyOnLevelUp") - .HasColumnType("int") - .HasColumnName("notifyonlevelup"); + b.Property("NotifyOnLevelUp") + .HasColumnType("int") + .HasColumnName("notifyonlevelup"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.Property("Xp") - .HasColumnType("bigint") - .HasColumnName("xp"); + b.Property("Xp") + .HasColumnType("bigint") + .HasColumnName("xp"); - b.HasKey("Id") - .HasName("pk_userxpstats"); + b.HasKey("Id") + .HasName("pk_userxpstats"); - b.HasIndex("AwardedXp") - .HasDatabaseName("ix_userxpstats_awardedxp"); + b.HasIndex("AwardedXp") + .HasDatabaseName("ix_userxpstats_awardedxp"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_userxpstats_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_userxpstats_guildid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_userxpstats_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_userxpstats_userid"); - b.HasIndex("Xp") - .HasDatabaseName("ix_userxpstats_xp"); + b.HasIndex("Xp") + .HasDatabaseName("ix_userxpstats_xp"); - b.HasIndex("UserId", "GuildId") - .IsUnique() - .HasDatabaseName("ix_userxpstats_userid_guildid"); + b.HasIndex("UserId", "GuildId") + .IsUnique() + .HasDatabaseName("ix_userxpstats_userid_guildid"); - b.ToTable("userxpstats", (string)null); - }); + b.ToTable("userxpstats", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.Property("VoiceChannelId") - .HasColumnType("bigint unsigned") - .HasColumnName("voicechannelid"); + b.Property("VoiceChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("voicechannelid"); - b.HasKey("Id") - .HasName("pk_vcroleinfo"); + b.HasKey("Id") + .HasName("pk_vcroleinfo"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_vcroleinfo_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_vcroleinfo_guildconfigid"); - b.ToTable("vcroleinfo", (string)null); - }); + b.ToTable("vcroleinfo", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("AffinityId") - .HasColumnType("int") - .HasColumnName("affinityid"); + b.Property("AffinityId") + .HasColumnType("int") + .HasColumnName("affinityid"); - b.Property("ClaimerId") - .HasColumnType("int") - .HasColumnName("claimerid"); + b.Property("ClaimerId") + .HasColumnType("int") + .HasColumnName("claimerid"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Price") - .HasColumnType("bigint") - .HasColumnName("price"); + b.Property("Price") + .HasColumnType("bigint") + .HasColumnName("price"); - b.Property("WaifuId") - .HasColumnType("int") - .HasColumnName("waifuid"); + b.Property("WaifuId") + .HasColumnType("int") + .HasColumnName("waifuid"); - b.HasKey("Id") - .HasName("pk_waifuinfo"); + b.HasKey("Id") + .HasName("pk_waifuinfo"); - b.HasIndex("AffinityId") - .HasDatabaseName("ix_waifuinfo_affinityid"); + b.HasIndex("AffinityId") + .HasDatabaseName("ix_waifuinfo_affinityid"); - b.HasIndex("ClaimerId") - .HasDatabaseName("ix_waifuinfo_claimerid"); + b.HasIndex("ClaimerId") + .HasDatabaseName("ix_waifuinfo_claimerid"); - b.HasIndex("Price") - .HasDatabaseName("ix_waifuinfo_price"); + b.HasIndex("Price") + .HasDatabaseName("ix_waifuinfo_price"); - b.HasIndex("WaifuId") - .IsUnique() - .HasDatabaseName("ix_waifuinfo_waifuid"); + b.HasIndex("WaifuId") + .IsUnique() + .HasDatabaseName("ix_waifuinfo_waifuid"); - b.ToTable("waifuinfo", (string)null); - }); + b.ToTable("waifuinfo", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("ItemEmoji") - .HasColumnType("longtext") - .HasColumnName("itememoji"); + b.Property("ItemEmoji") + .HasColumnType("longtext") + .HasColumnName("itememoji"); - b.Property("Name") - .HasColumnType("longtext") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("longtext") + .HasColumnName("name"); - b.Property("WaifuInfoId") - .HasColumnType("int") - .HasColumnName("waifuinfoid"); + b.Property("WaifuInfoId") + .HasColumnType("int") + .HasColumnName("waifuinfoid"); - b.HasKey("Id") - .HasName("pk_waifuitem"); + b.HasKey("Id") + .HasName("pk_waifuitem"); - b.HasIndex("WaifuInfoId") - .HasDatabaseName("ix_waifuitem_waifuinfoid"); + b.HasIndex("WaifuInfoId") + .HasDatabaseName("ix_waifuitem_waifuinfoid"); - b.ToTable("waifuitem", (string)null); - }); + b.ToTable("waifuitem", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("NewId") - .HasColumnType("int") - .HasColumnName("newid"); + b.Property("NewId") + .HasColumnType("int") + .HasColumnName("newid"); - b.Property("OldId") - .HasColumnType("int") - .HasColumnName("oldid"); + b.Property("OldId") + .HasColumnType("int") + .HasColumnName("oldid"); - b.Property("UpdateType") - .HasColumnType("int") - .HasColumnName("updatetype"); + b.Property("UpdateType") + .HasColumnType("int") + .HasColumnName("updatetype"); - b.Property("UserId") - .HasColumnType("int") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("int") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_waifuupdates"); + b.HasKey("Id") + .HasName("pk_waifuupdates"); - b.HasIndex("NewId") - .HasDatabaseName("ix_waifuupdates_newid"); + b.HasIndex("NewId") + .HasDatabaseName("ix_waifuupdates_newid"); - b.HasIndex("OldId") - .HasDatabaseName("ix_waifuupdates_oldid"); + b.HasIndex("OldId") + .HasDatabaseName("ix_waifuupdates_oldid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_waifuupdates_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_waifuupdates_userid"); - b.ToTable("waifuupdates", (string)null); - }); + b.ToTable("waifuupdates", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Warning", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Forgiven") - .HasColumnType("tinyint(1)") - .HasColumnName("forgiven"); + b.Property("Forgiven") + .HasColumnType("tinyint(1)") + .HasColumnName("forgiven"); - b.Property("ForgivenBy") - .HasColumnType("longtext") - .HasColumnName("forgivenby"); + b.Property("ForgivenBy") + .HasColumnType("longtext") + .HasColumnName("forgivenby"); - b.Property("GuildId") - .HasColumnType("bigint unsigned") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); - b.Property("Moderator") - .HasColumnType("longtext") - .HasColumnName("moderator"); + b.Property("Moderator") + .HasColumnType("longtext") + .HasColumnName("moderator"); - b.Property("Reason") - .HasColumnType("longtext") - .HasColumnName("reason"); + b.Property("Reason") + .HasColumnType("longtext") + .HasColumnName("reason"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.Property("Weight") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasDefaultValue(1L) - .HasColumnName("weight"); + b.Property("Weight") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(1L) + .HasColumnName("weight"); - b.HasKey("Id") - .HasName("pk_warnings"); + b.HasKey("Id") + .HasName("pk_warnings"); - b.HasIndex("DateAdded") - .HasDatabaseName("ix_warnings_dateadded"); + b.HasIndex("DateAdded") + .HasDatabaseName("ix_warnings_dateadded"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_warnings_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_warnings_guildid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_warnings_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_warnings_userid"); - b.ToTable("warnings", (string)null); - }); + b.ToTable("warnings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Count") - .HasColumnType("int") - .HasColumnName("count"); + b.Property("Count") + .HasColumnType("int") + .HasColumnName("count"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("Punishment") - .HasColumnType("int") - .HasColumnName("punishment"); + b.Property("Punishment") + .HasColumnType("int") + .HasColumnName("punishment"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.Property("Time") - .HasColumnType("int") - .HasColumnName("time"); + b.Property("Time") + .HasColumnType("int") + .HasColumnName("time"); - b.HasKey("Id") - .HasName("pk_warningpunishment"); + b.HasKey("Id") + .HasName("pk_warningpunishment"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_warningpunishment_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_warningpunishment_guildconfigid"); - b.ToTable("warningpunishment", (string)null); - }); + b.ToTable("warningpunishment", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("Amount") - .HasColumnType("int") - .HasColumnName("amount"); + b.Property("Amount") + .HasColumnType("int") + .HasColumnName("amount"); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Level") - .HasColumnType("int") - .HasColumnName("level"); + b.Property("Level") + .HasColumnType("int") + .HasColumnName("level"); - b.Property("XpSettingsId") - .HasColumnType("int") - .HasColumnName("xpsettingsid"); + b.Property("XpSettingsId") + .HasColumnType("int") + .HasColumnName("xpsettingsid"); - b.HasKey("Id") - .HasName("pk_xpcurrencyreward"); + b.HasKey("Id") + .HasName("pk_xpcurrencyreward"); - b.HasIndex("XpSettingsId") - .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid"); + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid"); - b.ToTable("xpcurrencyreward", (string)null); - }); + b.ToTable("xpcurrencyreward", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("Level") - .HasColumnType("int") - .HasColumnName("level"); + b.Property("Level") + .HasColumnType("int") + .HasColumnName("level"); - b.Property("Remove") - .HasColumnType("tinyint(1)") - .HasColumnName("remove"); + b.Property("Remove") + .HasColumnType("tinyint(1)") + .HasColumnName("remove"); - b.Property("RoleId") - .HasColumnType("bigint unsigned") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("bigint unsigned") + .HasColumnName("roleid"); - b.Property("XpSettingsId") - .HasColumnType("int") - .HasColumnName("xpsettingsid"); + b.Property("XpSettingsId") + .HasColumnType("int") + .HasColumnName("xpsettingsid"); - b.HasKey("Id") - .HasName("pk_xprolereward"); + b.HasKey("Id") + .HasName("pk_xprolereward"); - b.HasIndex("XpSettingsId", "Level") - .IsUnique() - .HasDatabaseName("ix_xprolereward_xpsettingsid_level"); + b.HasIndex("XpSettingsId", "Level") + .IsUnique() + .HasDatabaseName("ix_xprolereward_xpsettingsid_level"); - b.ToTable("xprolereward", (string)null); - }); + b.ToTable("xprolereward", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("int") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("int") + .HasColumnName("guildconfigid"); - b.Property("ServerExcluded") - .HasColumnType("tinyint(1)") - .HasColumnName("serverexcluded"); + b.Property("ServerExcluded") + .HasColumnType("tinyint(1)") + .HasColumnName("serverexcluded"); - b.HasKey("Id") - .HasName("pk_xpsettings"); + b.HasKey("Id") + .HasName("pk_xpsettings"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_xpsettings_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_xpsettings_guildconfigid"); - b.ToTable("xpsettings", (string)null); - }); + b.ToTable("xpsettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); - MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("datetime(6)") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("datetime(6)") + .HasColumnName("dateadded"); - b.Property("IsUsing") - .HasColumnType("tinyint(1)") - .HasColumnName("isusing"); + b.Property("IsUsing") + .HasColumnType("tinyint(1)") + .HasColumnName("isusing"); - b.Property("ItemKey") - .IsRequired() - .HasColumnType("varchar(255)") - .HasColumnName("itemkey"); + b.Property("ItemKey") + .IsRequired() + .HasColumnType("varchar(255)") + .HasColumnName("itemkey"); - b.Property("ItemType") - .HasColumnType("int") - .HasColumnName("itemtype"); + b.Property("ItemType") + .HasColumnType("int") + .HasColumnName("itemtype"); - b.Property("UserId") - .HasColumnType("bigint unsigned") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("bigint unsigned") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_xpshopowneditem"); + b.HasKey("Id") + .HasName("pk_xpshopowneditem"); - b.HasIndex("UserId", "ItemType", "ItemKey") - .IsUnique() - .HasDatabaseName("ix_xpshopowneditem_userid_itemtype_itemkey"); + b.HasIndex("UserId", "ItemType", "ItemKey") + .IsUnique() + .HasDatabaseName("ix_xpshopowneditem_userid_itemtype_itemkey"); - b.ToTable("xpshopowneditem", (string)null); - }); + b.ToTable("xpshopowneditem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Services.GreetSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasColumnName("id"); + + MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); + + b.Property("AutoDeleteTimer") + .HasColumnType("int") + .HasColumnName("autodeletetimer"); + + b.Property("ChannelId") + .HasColumnType("bigint unsigned") + .HasColumnName("channelid"); + + b.Property("GreetType") + .HasColumnType("int") + .HasColumnName("greettype"); + + b.Property("GuildId") + .HasColumnType("bigint unsigned") + .HasColumnName("guildid"); + + b.Property("IsEnabled") + .HasColumnType("tinyint(1)") + .HasColumnName("isenabled"); + + b.Property("MessageText") + .HasColumnType("longtext") + .HasColumnName("messagetext"); + + b.HasKey("Id") + .HasName("pk_greetsettings"); + + b.HasIndex("GuildId", "GreetType") + .IsUnique() + .HasDatabaseName("ix_greetsettings_guildid_greettype"); + + b.ToTable("greetsettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiAltSetting") - .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiAltSetting") + .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiRaidSetting") - .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiRaidSetting") + .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => - { - b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) - .WithMany("IgnoredChannels") - .HasForeignKey("AntiSpamSettingId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_antispamignore_antispamsetting_antispamsettingid"); - }); + { + b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_antispamignore_antispamsetting_antispamsettingid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiSpamSetting") - .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiSpamSetting") + .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => - { - b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") - .WithMany("Users") - .HasForeignKey("ChannelId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_autotranslateusers_autotranslatechannels_channelid"); + { + b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") + .WithMany("Users") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_autotranslateusers_autotranslatechannels_channelid"); - b.Navigation("Channel"); - }); + b.Navigation("Channel"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Applicants") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubapplicants_clubs_clubid"); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Applicants") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_clubs_clubid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubapplicants_discorduser_userid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_discorduser_userid"); - b.Navigation("Club"); + b.Navigation("Club"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Bans") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubbans_clubs_clubid"); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Bans") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_clubs_clubid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubbans_discorduser_userid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_discorduser_userid"); - b.Navigation("Club"); + b.Navigation("Club"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") - .WithOne() - .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("fk_clubs_discorduser_ownerid"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("fk_clubs_discorduser_ownerid"); - b.Navigation("Owner"); - }); + b.Navigation("Owner"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("CommandAliases") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("CommandCooldowns") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("DelMsgOnCmdChannels") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("DelMsgOnCmdChannels") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Members") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.NoAction) - .HasConstraintName("fk_discorduser_clubs_clubid"); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Members") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.NoAction) + .HasConstraintName("fk_discorduser_clubs_clubid"); - b.Navigation("Club"); - }); + b.Navigation("Club"); + }); modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("ExclusionList") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid"); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("ExclusionList") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("FeedSubs") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("FeedSubs") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterLinksChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterLinksChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("GenerateCurrencyChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => - { - b.HasOne("EllieBot.Db.Models.GiveawayModel", null) - .WithMany("Participants") - .HasForeignKey("GiveawayId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_giveawayuser_giveawaymodel_giveawayid"); - }); + { + b.HasOne("EllieBot.Db.Models.GiveawayModel", null) + .WithMany("Participants") + .HasForeignKey("GiveawayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_giveawayuser_giveawaymodel_giveawayid"); + }); modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("SelfAssignableRoleGroupNames") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_groupname_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("SelfAssignableRoleGroupNames") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_groupname_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => - { - b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") - .WithMany("LogIgnores") - .HasForeignKey("LogSettingId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_ignoredlogchannels_logsettings_logsettingid"); + { + b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") + .WithMany("LogIgnores") + .HasForeignKey("LogSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_ignoredlogchannels_logsettings_logsettingid"); - b.Navigation("LogSetting"); - }); + b.Navigation("LogSetting"); + }); modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("MutedUsers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("Permissions") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_permissions_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("Permissions") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_permissions_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => - { - b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_playlistsong_musicplaylists_musicplaylistid"); - }); + { + b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_playlistsong_musicplaylists_musicplaylistid"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("ShopEntries") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => - { - b.HasOne("EllieBot.Db.Models.ShopEntry", null) - .WithMany("Items") - .HasForeignKey("ShopEntryId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_shopentryitem_shopentry_shopentryid"); - }); + { + b.HasOne("EllieBot.Db.Models.ShopEntry", null) + .WithMany("Items") + .HasForeignKey("ShopEntryId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentryitem_shopentry_shopentryid"); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("SlowmodeIgnoredRoles") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("SlowmodeIgnoredUsers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => - { - b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") - .WithMany("Blacklist") - .HasForeignKey("StreamRoleSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_streamroleblacklisteduser_streamrolesettings_streamrolesetti~"); + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Blacklist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamroleblacklisteduser_streamrolesettings_streamrolesetti~"); - b.Navigation("StreamRoleSettings"); - }); + b.Navigation("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithOne("StreamRole") - .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("StreamRole") + .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => - { - b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") - .WithMany("Whitelist") - .HasForeignKey("StreamRoleSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_streamrolewhitelisteduser_streamrolesettings_streamrolesetti~"); + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Whitelist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolewhitelisteduser_streamrolesettings_streamrolesetti~"); - b.Navigation("StreamRoleSettings"); - }); + b.Navigation("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => - { - b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) - .WithMany("Items") - .HasForeignKey("ArchiveId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_todos_todosarchive_archiveid"); - }); + { + b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) + .WithMany("Items") + .HasForeignKey("ArchiveId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_todos_todosarchive_archiveid"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnbanTimer") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnbanTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnmuteTimers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnroleTimer") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnroleTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("VcRoleInfos") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") - .WithMany() - .HasForeignKey("AffinityId") - .HasConstraintName("fk_waifuinfo_discorduser_affinityid"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId") + .HasConstraintName("fk_waifuinfo_discorduser_affinityid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") - .WithMany() - .HasForeignKey("ClaimerId") - .HasConstraintName("fk_waifuinfo_discorduser_claimerid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId") + .HasConstraintName("fk_waifuinfo_discorduser_claimerid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") - .WithOne() - .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_waifuinfo_discorduser_waifuid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuinfo_discorduser_waifuid"); - b.Navigation("Affinity"); + b.Navigation("Affinity"); - b.Navigation("Claimer"); + b.Navigation("Claimer"); - b.Navigation("Waifu"); - }); + b.Navigation("Waifu"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => - { - b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") - .WithMany("Items") - .HasForeignKey("WaifuInfoId") - .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid"); + { + b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") + .WithMany("Items") + .HasForeignKey("WaifuInfoId") + .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid"); - b.Navigation("WaifuInfo"); - }); + b.Navigation("WaifuInfo"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "New") - .WithMany() - .HasForeignKey("NewId") - .HasConstraintName("fk_waifuupdates_discorduser_newid"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId") + .HasConstraintName("fk_waifuupdates_discorduser_newid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") - .WithMany() - .HasForeignKey("OldId") - .HasConstraintName("fk_waifuupdates_discorduser_oldid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId") + .HasConstraintName("fk_waifuupdates_discorduser_oldid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_waifuupdates_discorduser_userid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuupdates_discorduser_userid"); - b.Navigation("New"); + b.Navigation("New"); - b.Navigation("Old"); + b.Navigation("Old"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("WarnPunishments") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_warningpunishment_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_warningpunishment_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("CurrencyRewards") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_xpcurrencyreward_xpsettings_xpsettingsid"); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("CurrencyRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpcurrencyreward_xpsettings_xpsettingsid"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("RoleRewards") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_xprolereward_xpsettings_xpsettingsid"); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("RoleRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xprolereward_xpsettings_xpsettingsid"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithOne("XpSettings") - .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("XpSettings") + .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.Navigation("IgnoredChannels"); - }); + { + b.Navigation("IgnoredChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => - { - b.Navigation("Users"); - }); + { + b.Navigation("Users"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.Navigation("Applicants"); + { + b.Navigation("Applicants"); - b.Navigation("Bans"); + b.Navigation("Bans"); - b.Navigation("Members"); - }); + b.Navigation("Members"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => - { - b.Navigation("Participants"); - }); + { + b.Navigation("Participants"); + }); modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => - { - b.Navigation("AntiAltSetting"); + { + b.Navigation("AntiAltSetting"); - b.Navigation("AntiRaidSetting"); + b.Navigation("AntiRaidSetting"); - b.Navigation("AntiSpamSetting"); + b.Navigation("AntiSpamSetting"); - b.Navigation("CommandAliases"); + b.Navigation("CommandAliases"); - b.Navigation("CommandCooldowns"); + b.Navigation("CommandCooldowns"); - b.Navigation("DelMsgOnCmdChannels"); + b.Navigation("DelMsgOnCmdChannels"); - b.Navigation("FeedSubs"); + b.Navigation("FeedSubs"); - b.Navigation("FilterInvitesChannelIds"); + b.Navigation("FilterInvitesChannelIds"); - b.Navigation("FilterLinksChannelIds"); + b.Navigation("FilterLinksChannelIds"); - b.Navigation("FilterWordsChannelIds"); + b.Navigation("FilterWordsChannelIds"); - b.Navigation("FilteredWords"); + b.Navigation("FilteredWords"); - b.Navigation("FollowedStreams"); + b.Navigation("FollowedStreams"); - b.Navigation("GenerateCurrencyChannelIds"); + b.Navigation("GenerateCurrencyChannelIds"); - b.Navigation("MutedUsers"); + b.Navigation("MutedUsers"); - b.Navigation("Permissions"); + b.Navigation("Permissions"); - b.Navigation("SelfAssignableRoleGroupNames"); + b.Navigation("SelfAssignableRoleGroupNames"); - b.Navigation("ShopEntries"); + b.Navigation("ShopEntries"); - b.Navigation("SlowmodeIgnoredRoles"); + b.Navigation("SlowmodeIgnoredRoles"); - b.Navigation("SlowmodeIgnoredUsers"); + b.Navigation("SlowmodeIgnoredUsers"); - b.Navigation("StreamRole"); + b.Navigation("StreamRole"); - b.Navigation("UnbanTimer"); + b.Navigation("UnbanTimer"); - b.Navigation("UnmuteTimers"); + b.Navigation("UnmuteTimers"); - b.Navigation("UnroleTimer"); + b.Navigation("UnroleTimer"); - b.Navigation("VcRoleInfos"); + b.Navigation("VcRoleInfos"); - b.Navigation("WarnPunishments"); + b.Navigation("WarnPunishments"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => - { - b.Navigation("LogIgnores"); - }); + { + b.Navigation("LogIgnores"); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => - { - b.Navigation("Songs"); - }); + { + b.Navigation("Songs"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.Navigation("Blacklist"); + { + b.Navigation("Blacklist"); - b.Navigation("Whitelist"); - }); + b.Navigation("Whitelist"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.Navigation("CurrencyRewards"); + { + b.Navigation("CurrencyRewards"); - b.Navigation("ExclusionList"); + b.Navigation("ExclusionList"); - b.Navigation("RoleRewards"); - }); + b.Navigation("RoleRewards"); + }); #pragma warning restore 612, 618 } } diff --git a/src/EllieBot/Migrations/PostgreSql/20220916194523_autopub.cs b/src/EllieBot/Migrations/PostgreSql/20220916194523_autopub.cs index 35ace3c..177c650 100644 --- a/src/EllieBot/Migrations/PostgreSql/20220916194523_autopub.cs +++ b/src/EllieBot/Migrations/PostgreSql/20220916194523_autopub.cs @@ -9,12 +9,6 @@ namespace EllieBot.Migrations.PostgreSql { protected override void Up(MigrationBuilder migrationBuilder) { - migrationBuilder.AddColumn( - name: "rolerequirement", - table: "shopentry", - type: "numeric(20,0)", - nullable: true); - migrationBuilder.CreateTable( name: "autopublishchannel", columns: table => new @@ -41,10 +35,6 @@ namespace EllieBot.Migrations.PostgreSql { migrationBuilder.DropTable( name: "autopublishchannel"); - - migrationBuilder.DropColumn( - name: "rolerequirement", - table: "shopentry"); } } } diff --git a/src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.Designer.cs b/src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.Designer.cs new file mode 100644 index 0000000..8a2c51c --- /dev/null +++ b/src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.Designer.cs @@ -0,0 +1,3785 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using EllieBot.Db; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace EllieBot.Migrations.PostgreSql +{ + [DbContext(typeof(PostgreSqlContext))] + [Migration("20240911104857_greet-settings")] + partial class greetsettings + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.8") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("integer") + .HasColumnName("action"); + + b.Property("ActionDurationMinutes") + .HasColumnType("integer") + .HasColumnName("actiondurationminutes"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("MinAge") + .HasColumnType("interval") + .HasColumnName("minage"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_antialtsetting"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antialtsetting_guildconfigid"); + + b.ToTable("antialtsetting", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("integer") + .HasColumnName("action"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("PunishDuration") + .HasColumnType("integer") + .HasColumnName("punishduration"); + + b.Property("Seconds") + .HasColumnType("integer") + .HasColumnName("seconds"); + + b.Property("UserThreshold") + .HasColumnType("integer") + .HasColumnName("userthreshold"); + + b.HasKey("Id") + .HasName("pk_antiraidsetting"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antiraidsetting_guildconfigid"); + + b.ToTable("antiraidsetting", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AntiSpamSettingId") + .HasColumnType("integer") + .HasColumnName("antispamsettingid"); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.HasKey("Id") + .HasName("pk_antispamignore"); + + b.HasIndex("AntiSpamSettingId") + .HasDatabaseName("ix_antispamignore_antispamsettingid"); + + b.ToTable("antispamignore", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Action") + .HasColumnType("integer") + .HasColumnName("action"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("MessageThreshold") + .HasColumnType("integer") + .HasColumnName("messagethreshold"); + + b.Property("MuteTime") + .HasColumnType("integer") + .HasColumnName("mutetime"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_antispamsetting"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antispamsetting_guildconfigid"); + + b.ToTable("antispamsetting", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_todosarchive"); + + b.ToTable("todosarchive", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("ChannelName") + .HasColumnType("text") + .HasColumnName("channelname"); + + b.Property("CommandText") + .HasColumnType("text") + .HasColumnName("commandtext"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("GuildName") + .HasColumnType("text") + .HasColumnName("guildname"); + + b.Property("Interval") + .HasColumnType("integer") + .HasColumnName("interval"); + + b.Property("VoiceChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("voicechannelid"); + + b.Property("VoiceChannelName") + .HasColumnType("text") + .HasColumnName("voicechannelname"); + + b.HasKey("Id") + .HasName("pk_autocommands"); + + b.ToTable("autocommands", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.HasKey("Id") + .HasName("pk_autopublishchannel"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_autopublishchannel_guildid"); + + b.ToTable("autopublishchannel", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoDelete") + .HasColumnType("boolean") + .HasColumnName("autodelete"); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.HasKey("Id") + .HasName("pk_autotranslatechannels"); + + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_autotranslatechannels_channelid"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_autotranslatechannels_guildid"); + + b.ToTable("autotranslatechannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("integer") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Source") + .HasColumnType("text") + .HasColumnName("source"); + + b.Property("Target") + .HasColumnType("text") + .HasColumnName("target"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_autotranslateusers"); + + b.HasAlternateKey("ChannelId", "UserId") + .HasName("ak_autotranslateusers_channelid_userid"); + + b.ToTable("autotranslateusers", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("PruneDays") + .HasColumnType("integer") + .HasColumnName("prunedays"); + + b.Property("Text") + .HasColumnType("text") + .HasColumnName("text"); + + b.HasKey("Id") + .HasName("pk_bantemplates"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_bantemplates_guildid"); + + b.ToTable("bantemplates", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BankUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Balance") + .HasColumnType("bigint") + .HasColumnName("balance"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_bankusers"); + + b.HasIndex("UserId") + .IsUnique() + .HasDatabaseName("ix_bankusers_userid"); + + b.ToTable("bankusers", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("ItemId") + .HasColumnType("numeric(20,0)") + .HasColumnName("itemid"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => + { + b.Property("ClubId") + .HasColumnType("integer") + .HasColumnName("clubid"); + + b.Property("UserId") + .HasColumnType("integer") + .HasColumnName("userid"); + + b.HasKey("ClubId", "UserId") + .HasName("pk_clubapplicants"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_clubapplicants_userid"); + + b.ToTable("clubapplicants", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => + { + b.Property("ClubId") + .HasColumnType("integer") + .HasColumnName("clubid"); + + b.Property("UserId") + .HasColumnType("integer") + .HasColumnName("userid"); + + b.HasKey("ClubId", "UserId") + .HasName("pk_clubbans"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_clubbans_userid"); + + b.ToTable("clubbans", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Description") + .HasColumnType("text") + .HasColumnName("description"); + + b.Property("ImageUrl") + .HasColumnType("text") + .HasColumnName("imageurl"); + + b.Property("Name") + .HasMaxLength(20) + .HasColumnType("character varying(20)") + .HasColumnName("name"); + + b.Property("OwnerId") + .HasColumnType("integer") + .HasColumnName("ownerid"); + + b.Property("Xp") + .HasColumnType("integer") + .HasColumnName("xp"); + + b.HasKey("Id") + .HasName("pk_clubs"); + + b.HasIndex("Name") + .IsUnique() + .HasDatabaseName("ix_clubs_name"); + + b.HasIndex("OwnerId") + .IsUnique() + .HasDatabaseName("ix_clubs_ownerid"); + + b.ToTable("clubs", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Mapping") + .HasColumnType("text") + .HasColumnName("mapping"); + + b.Property("Trigger") + .HasColumnType("text") + .HasColumnName("trigger"); + + b.HasKey("Id") + .HasName("pk_commandalias"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandalias_guildconfigid"); + + b.ToTable("commandalias", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CommandName") + .HasColumnType("text") + .HasColumnName("commandname"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Seconds") + .HasColumnType("integer") + .HasColumnName("seconds"); + + b.HasKey("Id") + .HasName("pk_commandcooldown"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandcooldown_guildconfigid"); + + b.ToTable("commandcooldown", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Extra") + .IsRequired() + .HasColumnType("text") + .HasColumnName("extra"); + + b.Property("Note") + .HasColumnType("text") + .HasColumnName("note"); + + b.Property("OtherId") + .ValueGeneratedOnAdd() + .HasColumnType("numeric(20,0)") + .HasColumnName("otherid") + .HasDefaultValueSql("NULL"); + + b.Property("Type") + .IsRequired() + .HasColumnType("text") + .HasColumnName("type"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_currencytransactions"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_currencytransactions_userid"); + + b.ToTable("currencytransactions", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("State") + .HasColumnType("boolean") + .HasColumnName("state"); + + b.HasKey("Id") + .HasName("pk_delmsgoncmdchannel"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid"); + + b.ToTable("delmsgoncmdchannel", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Command") + .HasColumnType("text") + .HasColumnName("command"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Perm") + .HasColumnType("numeric(20,0)") + .HasColumnName("perm"); + + b.HasKey("Id") + .HasName("pk_discordpermoverrides"); + + b.HasIndex("GuildId", "Command") + .IsUnique() + .HasDatabaseName("ix_discordpermoverrides_guildid_command"); + + b.ToTable("discordpermoverrides", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AvatarId") + .HasColumnType("text") + .HasColumnName("avatarid"); + + b.Property("ClubId") + .HasColumnType("integer") + .HasColumnName("clubid"); + + b.Property("CurrencyAmount") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("currencyamount"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Discriminator") + .HasColumnType("text") + .HasColumnName("discriminator"); + + b.Property("IsClubAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isclubadmin"); + + b.Property("NotifyOnLevelUp") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("notifyonlevelup"); + + b.Property("TotalXp") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("totalxp"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_discorduser"); + + b.HasAlternateKey("UserId") + .HasName("ak_discorduser_userid"); + + b.HasIndex("ClubId") + .HasDatabaseName("ix_discorduser_clubid"); + + b.HasIndex("CurrencyAmount") + .HasDatabaseName("ix_discorduser_currencyamount"); + + b.HasIndex("TotalXp") + .HasDatabaseName("ix_discorduser_totalxp"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_discorduser_userid"); + + b.ToTable("discorduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("ItemId") + .HasColumnType("numeric(20,0)") + .HasColumnName("itemid"); + + b.Property("ItemType") + .HasColumnType("integer") + .HasColumnName("itemtype"); + + b.Property("XpSettingsId") + .HasColumnType("integer") + .HasColumnName("xpsettingsid"); + + b.HasKey("Id") + .HasName("pk_excludeditem"); + + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_excludeditem_xpsettingsid"); + + b.ToTable("excludeditem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("Url") + .IsRequired() + .HasColumnType("text") + .HasColumnName("url"); + + b.HasKey("Id") + .HasName("pk_feedsub"); + + b.HasAlternateKey("GuildConfigId", "Url") + .HasName("ak_feedsub_guildconfigid_url"); + + b.ToTable("feedsub", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_filterchannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterchannelid_guildconfigid"); + + b.ToTable("filterchannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_filterlinkschannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterlinkschannelid_guildconfigid"); + + b.ToTable("filterlinkschannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_filterwordschannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterwordschannelid_guildconfigid"); + + b.ToTable("filterwordschannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Word") + .HasColumnType("text") + .HasColumnName("word"); + + b.HasKey("Id") + .HasName("pk_filteredword"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filteredword_guildconfigid"); + + b.ToTable("filteredword", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_followedstream"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_followedstream_guildconfigid"); + + b.ToTable("followedstream", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.HasKey("Id") + .HasName("pk_gcchannelid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_gcchannelid_guildconfigid"); + + b.ToTable("gcchannelid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Bet") + .HasColumnType("numeric") + .HasColumnName("bet"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Feature") + .HasColumnType("text") + .HasColumnName("feature"); + + b.Property("PaidOut") + .HasColumnType("numeric") + .HasColumnName("paidout"); + + b.HasKey("Id") + .HasName("pk_gamblingstats"); + + b.HasIndex("Feature") + .IsUnique() + .HasDatabaseName("ix_gamblingstats_feature"); + + b.ToTable("gamblingstats", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("EndsAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("endsat"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); + + b.HasKey("Id") + .HasName("pk_giveawaymodel"); + + b.ToTable("giveawaymodel", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("GiveawayId") + .HasColumnType("integer") + .HasColumnName("giveawayid"); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_giveawayuser"); + + b.HasIndex("GiveawayId", "UserId") + .IsUnique() + .HasDatabaseName("ix_giveawayuser_giveawayid_userid"); + + b.ToTable("giveawayuser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("Number") + .HasColumnType("integer") + .HasColumnName("number"); + + b.HasKey("Id") + .HasName("pk_groupname"); + + b.HasIndex("GuildConfigId", "Number") + .IsUnique() + .HasDatabaseName("ix_groupname_guildconfigid_number"); + + b.ToTable("groupname", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoAssignRoleIds") + .HasColumnType("text") + .HasColumnName("autoassignroleids"); + + b.Property("AutoDeleteSelfAssignedRoleMessages") + .HasColumnType("boolean") + .HasColumnName("autodeleteselfassignedrolemessages"); + + b.Property("CleverbotEnabled") + .HasColumnType("boolean") + .HasColumnName("cleverbotenabled"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("DeleteMessageOnCommand") + .HasColumnType("boolean") + .HasColumnName("deletemessageoncommand"); + + b.Property("DeleteStreamOnlineMessage") + .HasColumnType("boolean") + .HasColumnName("deletestreamonlinemessage"); + + b.Property("DisableGlobalExpressions") + .HasColumnType("boolean") + .HasColumnName("disableglobalexpressions"); + + b.Property("ExclusiveSelfAssignedRoles") + .HasColumnType("boolean") + .HasColumnName("exclusiveselfassignedroles"); + + b.Property("FilterInvites") + .HasColumnType("boolean") + .HasColumnName("filterinvites"); + + b.Property("FilterLinks") + .HasColumnType("boolean") + .HasColumnName("filterlinks"); + + b.Property("FilterWords") + .HasColumnType("boolean") + .HasColumnName("filterwords"); + + b.Property("GameVoiceChannel") + .HasColumnType("numeric(20,0)") + .HasColumnName("gamevoicechannel"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Locale") + .HasColumnType("text") + .HasColumnName("locale"); + + b.Property("MuteRoleName") + .HasColumnType("text") + .HasColumnName("muterolename"); + + b.Property("NotifyStreamOffline") + .HasColumnType("boolean") + .HasColumnName("notifystreamoffline"); + + b.Property("PermissionRole") + .HasColumnType("text") + .HasColumnName("permissionrole"); + + b.Property("Prefix") + .HasColumnType("text") + .HasColumnName("prefix"); + + b.Property("StickyRoles") + .HasColumnType("boolean") + .HasColumnName("stickyroles"); + + b.Property("TimeZoneId") + .HasColumnType("text") + .HasColumnName("timezoneid"); + + b.Property("VerboseErrors") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("verboseerrors"); + + b.Property("VerbosePermissions") + .HasColumnType("boolean") + .HasColumnName("verbosepermissions"); + + b.Property("WarnExpireAction") + .HasColumnType("integer") + .HasColumnName("warnexpireaction"); + + b.Property("WarnExpireHours") + .HasColumnType("integer") + .HasColumnName("warnexpirehours"); + + b.Property("WarningsInitialized") + .HasColumnType("boolean") + .HasColumnName("warningsinitialized"); + + b.HasKey("Id") + .HasName("pk_guildconfigs"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_guildconfigs_guildid"); + + b.HasIndex("WarnExpireHours") + .HasDatabaseName("ix_guildconfigs_warnexpirehours"); + + b.ToTable("guildconfigs", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b => + { + b.Property("GuildId") + .ValueGeneratedOnAdd() + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.HasKey("GuildId") + .HasName("pk_honeypotchannels"); + + b.ToTable("honeypotchannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("ItemType") + .HasColumnType("integer") + .HasColumnName("itemtype"); + + b.Property("LogItemId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logitemid"); + + b.Property("LogSettingId") + .HasColumnType("integer") + .HasColumnName("logsettingid"); + + b.HasKey("Id") + .HasName("pk_ignoredlogchannels"); + + b.HasIndex("LogSettingId", "LogItemId", "ItemType") + .IsUnique() + .HasDatabaseName("ix_ignoredlogchannels_logsettingid_logitemid_itemtype"); + + b.ToTable("ignoredlogchannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_imageonlychannels"); + + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_imageonlychannels_channelid"); + + b.ToTable("imageonlychannels", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelCreatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelcreatedid"); + + b.Property("ChannelDestroyedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channeldestroyedid"); + + b.Property("ChannelUpdatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelupdatedid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("LogOtherId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logotherid"); + + b.Property("LogUserPresenceId") + .HasColumnType("numeric(20,0)") + .HasColumnName("loguserpresenceid"); + + b.Property("LogVoicePresenceId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logvoicepresenceid"); + + b.Property("LogVoicePresenceTTSId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logvoicepresencettsid"); + + b.Property("LogWarnsId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logwarnsid"); + + b.Property("MessageDeletedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messagedeletedid"); + + b.Property("MessageUpdatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageupdatedid"); + + b.Property("ThreadCreatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("threadcreatedid"); + + b.Property("ThreadDeletedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("threaddeletedid"); + + b.Property("UserBannedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userbannedid"); + + b.Property("UserJoinedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userjoinedid"); + + b.Property("UserLeftId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userleftid"); + + b.Property("UserMutedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("usermutedid"); + + b.Property("UserUnbannedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userunbannedid"); + + b.Property("UserUpdatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userupdatedid"); + + b.HasKey("Id") + .HasName("pk_logsettings"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_logsettings_guildid"); + + b.ToTable("logsettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoDisconnect") + .HasColumnType("boolean") + .HasColumnName("autodisconnect"); + + b.Property("AutoPlay") + .HasColumnType("boolean") + .HasColumnName("autoplay"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("MusicChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("musicchannelid"); + + b.Property("PlayerRepeat") + .HasColumnType("integer") + .HasColumnName("playerrepeat"); + + b.Property("QualityPreset") + .HasColumnType("integer") + .HasColumnName("qualitypreset"); + + b.Property("Volume") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(100) + .HasColumnName("volume"); + + b.HasKey("Id") + .HasName("pk_musicplayersettings"); + + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_musicplayersettings_guildid"); + + b.ToTable("musicplayersettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Author") + .HasColumnType("text") + .HasColumnName("author"); + + b.Property("AuthorId") + .HasColumnType("numeric(20,0)") + .HasColumnName("authorid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("pk_musicplaylists"); + + b.ToTable("musicplaylists", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_muteduserid"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_muteduserid_guildconfigid"); + + b.ToTable("muteduserid", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AllowTarget") + .HasColumnType("boolean") + .HasColumnName("allowtarget"); + + b.Property("AutoDeleteTrigger") + .HasColumnType("boolean") + .HasColumnName("autodeletetrigger"); + + b.Property("ContainsAnywhere") + .HasColumnType("boolean") + .HasColumnName("containsanywhere"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("DmResponse") + .HasColumnType("boolean") + .HasColumnName("dmresponse"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Reactions") + .HasColumnType("text") + .HasColumnName("reactions"); + + b.Property("Response") + .HasColumnType("text") + .HasColumnName("response"); + + b.Property("Trigger") + .HasColumnType("text") + .HasColumnName("trigger"); + + b.HasKey("Id") + .HasName("pk_expressions"); + + b.ToTable("expressions", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("AmountCents") + .HasColumnType("integer") + .HasColumnName("amountcents"); + + b.Property("LastCharge") + .HasColumnType("timestamp without time zone") + .HasColumnName("lastcharge"); + + b.Property("UniquePlatformUserId") + .HasColumnType("text") + .HasColumnName("uniqueplatformuserid"); + + b.Property("ValidThru") + .HasColumnType("timestamp without time zone") + .HasColumnName("validthru"); + + b.HasKey("UserId") + .HasName("pk_patrons"); + + b.HasIndex("UniquePlatformUserId") + .IsUnique() + .HasDatabaseName("ix_patrons_uniqueplatformuserid"); + + b.ToTable("patrons", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Index") + .HasColumnType("integer") + .HasColumnName("index"); + + b.Property("IsCustomCommand") + .HasColumnType("boolean") + .HasColumnName("iscustomcommand"); + + b.Property("PrimaryTarget") + .HasColumnType("integer") + .HasColumnName("primarytarget"); + + b.Property("PrimaryTargetId") + .HasColumnType("numeric(20,0)") + .HasColumnName("primarytargetid"); + + b.Property("SecondaryTarget") + .HasColumnType("integer") + .HasColumnName("secondarytarget"); + + b.Property("SecondaryTargetName") + .HasColumnType("text") + .HasColumnName("secondarytargetname"); + + b.Property("State") + .HasColumnType("boolean") + .HasColumnName("state"); + + b.HasKey("Id") + .HasName("pk_permissions"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_permissions_guildconfigid"); + + b.ToTable("permissions", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); + + b.Property("Password") + .HasColumnType("text") + .HasColumnName("password"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_plantedcurrency"); + + b.HasIndex("ChannelId") + .HasDatabaseName("ix_plantedcurrency_channelid"); + + b.HasIndex("MessageId") + .IsUnique() + .HasDatabaseName("ix_plantedcurrency_messageid"); + + b.ToTable("plantedcurrency", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("MusicPlaylistId") + .HasColumnType("integer") + .HasColumnName("musicplaylistid"); + + b.Property("Provider") + .HasColumnType("text") + .HasColumnName("provider"); + + b.Property("ProviderType") + .HasColumnType("integer") + .HasColumnName("providertype"); + + b.Property("Query") + .HasColumnType("text") + .HasColumnName("query"); + + b.Property("Title") + .HasColumnType("text") + .HasColumnName("title"); + + b.Property("Uri") + .HasColumnType("text") + .HasColumnName("uri"); + + b.HasKey("Id") + .HasName("pk_playlistsong"); + + b.HasIndex("MusicPlaylistId") + .HasDatabaseName("ix_playlistsong_musicplaylistid"); + + b.ToTable("playlistsong", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AuthorId") + .HasColumnType("numeric(20,0)") + .HasColumnName("authorid"); + + b.Property("AuthorName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("authorname"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Keyword") + .IsRequired() + .HasColumnType("text") + .HasColumnName("keyword"); + + b.Property("Text") + .IsRequired() + .HasColumnType("text") + .HasColumnName("text"); + + b.HasKey("Id") + .HasName("pk_quotes"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_quotes_guildid"); + + b.HasIndex("Keyword") + .HasDatabaseName("ix_quotes_keyword"); + + b.ToTable("quotes", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Emote") + .HasMaxLength(100) + .HasColumnType("character varying(100)") + .HasColumnName("emote"); + + b.Property("Group") + .HasColumnType("integer") + .HasColumnName("group"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("LevelReq") + .HasColumnType("integer") + .HasColumnName("levelreq"); + + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_reactionroles"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_reactionroles_guildid"); + + b.HasIndex("MessageId", "Emote") + .IsUnique() + .HasDatabaseName("ix_reactionroles_messageid_emote"); + + b.ToTable("reactionroles", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("IsPrivate") + .HasColumnType("boolean") + .HasColumnName("isprivate"); + + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("ServerId") + .HasColumnType("numeric(20,0)") + .HasColumnName("serverid"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("When") + .HasColumnType("timestamp without time zone") + .HasColumnName("when"); + + b.HasKey("Id") + .HasName("pk_reminders"); + + b.HasIndex("When") + .HasDatabaseName("ix_reminders_when"); + + b.ToTable("reminders", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Interval") + .HasColumnType("interval") + .HasColumnName("interval"); + + b.Property("LastMessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("lastmessageid"); + + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("NoRedundant") + .HasColumnType("boolean") + .HasColumnName("noredundant"); + + b.Property("StartTimeOfDay") + .HasColumnType("interval") + .HasColumnName("starttimeofday"); + + b.HasKey("Id") + .HasName("pk_repeaters"); + + b.ToTable("repeaters", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AmountRewardedThisMonth") + .HasColumnType("bigint") + .HasColumnName("amountrewardedthismonth"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("LastReward") + .HasColumnType("timestamp without time zone") + .HasColumnName("lastreward"); + + b.Property("PlatformUserId") + .HasColumnType("text") + .HasColumnName("platformuserid"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_rewardedusers"); + + b.HasIndex("PlatformUserId") + .IsUnique() + .HasDatabaseName("ix_rewardedusers_platformuserid"); + + b.ToTable("rewardedusers", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Status") + .HasColumnType("text") + .HasColumnName("status"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_rotatingstatus"); + + b.ToTable("rotatingstatus", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Group") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("group"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("LevelRequirement") + .HasColumnType("integer") + .HasColumnName("levelrequirement"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_selfassignableroles"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique() + .HasDatabaseName("ix_selfassignableroles_guildid_roleid"); + + b.ToTable("selfassignableroles", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AuthorId") + .HasColumnType("numeric(20,0)") + .HasColumnName("authorid"); + + b.Property("Command") + .HasColumnType("text") + .HasColumnName("command"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Index") + .HasColumnType("integer") + .HasColumnName("index"); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("Price") + .HasColumnType("integer") + .HasColumnName("price"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.Property("RoleName") + .HasColumnType("text") + .HasColumnName("rolename"); + + b.Property("RoleRequirement") + .HasColumnType("numeric(20,0)") + .HasColumnName("rolerequirement"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_shopentry"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_shopentry_guildconfigid"); + + b.ToTable("shopentry", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("ShopEntryId") + .HasColumnType("integer") + .HasColumnName("shopentryid"); + + b.Property("Text") + .HasColumnType("text") + .HasColumnName("text"); + + b.HasKey("Id") + .HasName("pk_shopentryitem"); + + b.HasIndex("ShopEntryId") + .HasDatabaseName("ix_shopentryitem_shopentryid"); + + b.ToTable("shopentryitem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.HasKey("Id") + .HasName("pk_slowmodeignoredrole"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid"); + + b.ToTable("slowmodeignoredrole", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_slowmodeignoreduser"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid"); + + b.ToTable("slowmodeignoreduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("RoleIds") + .HasColumnType("text") + .HasColumnName("roleids"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_stickyroles"); + + b.HasIndex("GuildId", "UserId") + .IsUnique() + .HasDatabaseName("ix_stickyroles_guildid_userid"); + + b.ToTable("stickyroles", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("Id") + .HasName("pk_streamonlinemessages"); + + b.ToTable("streamonlinemessages", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("StreamRoleSettingsId") + .HasColumnType("integer") + .HasColumnName("streamrolesettingsid"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_streamroleblacklisteduser"); + + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid"); + + b.ToTable("streamroleblacklisteduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AddRoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("addroleid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Enabled") + .HasColumnType("boolean") + .HasColumnName("enabled"); + + b.Property("FromRoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("fromroleid"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Keyword") + .HasColumnType("text") + .HasColumnName("keyword"); + + b.HasKey("Id") + .HasName("pk_streamrolesettings"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_streamrolesettings_guildconfigid"); + + b.ToTable("streamrolesettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("StreamRoleSettingsId") + .HasColumnType("integer") + .HasColumnName("streamrolesettingsid"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_streamrolewhitelisteduser"); + + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid"); + + b.ToTable("streamrolewhitelisteduser", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ArchiveId") + .HasColumnType("integer") + .HasColumnName("archiveid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("IsDone") + .HasColumnType("boolean") + .HasColumnName("isdone"); + + b.Property("Todo") + .HasColumnType("text") + .HasColumnName("todo"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_todos"); + + b.HasIndex("ArchiveId") + .HasDatabaseName("ix_todos_archiveid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_todos_userid"); + + b.ToTable("todos", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("UnbanAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("unbanat"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_unbantimer"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unbantimer_guildconfigid"); + + b.ToTable("unbantimer", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("UnmuteAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("unmuteat"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_unmutetimer"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unmutetimer_guildconfigid"); + + b.ToTable("unmutetimer", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.Property("UnbanAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("unbanat"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_unroletimer"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unroletimer_guildconfigid"); + + b.ToTable("unroletimer", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AwardedXp") + .HasColumnType("bigint") + .HasColumnName("awardedxp"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("NotifyOnLevelUp") + .HasColumnType("integer") + .HasColumnName("notifyonlevelup"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("Xp") + .HasColumnType("bigint") + .HasColumnName("xp"); + + b.HasKey("Id") + .HasName("pk_userxpstats"); + + b.HasIndex("AwardedXp") + .HasDatabaseName("ix_userxpstats_awardedxp"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_userxpstats_guildid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_userxpstats_userid"); + + b.HasIndex("Xp") + .HasDatabaseName("ix_userxpstats_xp"); + + b.HasIndex("UserId", "GuildId") + .IsUnique() + .HasDatabaseName("ix_userxpstats_userid_guildid"); + + b.ToTable("userxpstats", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.Property("VoiceChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("voicechannelid"); + + b.HasKey("Id") + .HasName("pk_vcroleinfo"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_vcroleinfo_guildconfigid"); + + b.ToTable("vcroleinfo", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AffinityId") + .HasColumnType("integer") + .HasColumnName("affinityid"); + + b.Property("ClaimerId") + .HasColumnType("integer") + .HasColumnName("claimerid"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Price") + .HasColumnType("bigint") + .HasColumnName("price"); + + b.Property("WaifuId") + .HasColumnType("integer") + .HasColumnName("waifuid"); + + b.HasKey("Id") + .HasName("pk_waifuinfo"); + + b.HasIndex("AffinityId") + .HasDatabaseName("ix_waifuinfo_affinityid"); + + b.HasIndex("ClaimerId") + .HasDatabaseName("ix_waifuinfo_claimerid"); + + b.HasIndex("Price") + .HasDatabaseName("ix_waifuinfo_price"); + + b.HasIndex("WaifuId") + .IsUnique() + .HasDatabaseName("ix_waifuinfo_waifuid"); + + b.ToTable("waifuinfo", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("ItemEmoji") + .HasColumnType("text") + .HasColumnName("itememoji"); + + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("WaifuInfoId") + .HasColumnType("integer") + .HasColumnName("waifuinfoid"); + + b.HasKey("Id") + .HasName("pk_waifuitem"); + + b.HasIndex("WaifuInfoId") + .HasDatabaseName("ix_waifuitem_waifuinfoid"); + + b.ToTable("waifuitem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("NewId") + .HasColumnType("integer") + .HasColumnName("newid"); + + b.Property("OldId") + .HasColumnType("integer") + .HasColumnName("oldid"); + + b.Property("UpdateType") + .HasColumnType("integer") + .HasColumnName("updatetype"); + + b.Property("UserId") + .HasColumnType("integer") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_waifuupdates"); + + b.HasIndex("NewId") + .HasDatabaseName("ix_waifuupdates_newid"); + + b.HasIndex("OldId") + .HasDatabaseName("ix_waifuupdates_oldid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_waifuupdates_userid"); + + b.ToTable("waifuupdates", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Warning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Forgiven") + .HasColumnType("boolean") + .HasColumnName("forgiven"); + + b.Property("ForgivenBy") + .HasColumnType("text") + .HasColumnName("forgivenby"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("Moderator") + .HasColumnType("text") + .HasColumnName("moderator"); + + b.Property("Reason") + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.Property("Weight") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(1L) + .HasColumnName("weight"); + + b.HasKey("Id") + .HasName("pk_warnings"); + + b.HasIndex("DateAdded") + .HasDatabaseName("ix_warnings_dateadded"); + + b.HasIndex("GuildId") + .HasDatabaseName("ix_warnings_guildid"); + + b.HasIndex("UserId") + .HasDatabaseName("ix_warnings_userid"); + + b.ToTable("warnings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Count") + .HasColumnType("integer") + .HasColumnName("count"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("Punishment") + .HasColumnType("integer") + .HasColumnName("punishment"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.Property("Time") + .HasColumnType("integer") + .HasColumnName("time"); + + b.HasKey("Id") + .HasName("pk_warningpunishment"); + + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_warningpunishment_guildconfigid"); + + b.ToTable("warningpunishment", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Amount") + .HasColumnType("integer") + .HasColumnName("amount"); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Level") + .HasColumnType("integer") + .HasColumnName("level"); + + b.Property("XpSettingsId") + .HasColumnType("integer") + .HasColumnName("xpsettingsid"); + + b.HasKey("Id") + .HasName("pk_xpcurrencyreward"); + + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid"); + + b.ToTable("xpcurrencyreward", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("Level") + .HasColumnType("integer") + .HasColumnName("level"); + + b.Property("Remove") + .HasColumnType("boolean") + .HasColumnName("remove"); + + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); + + b.Property("XpSettingsId") + .HasColumnType("integer") + .HasColumnName("xpsettingsid"); + + b.HasKey("Id") + .HasName("pk_xprolereward"); + + b.HasIndex("XpSettingsId", "Level") + .IsUnique() + .HasDatabaseName("ix_xprolereward_xpsettingsid_level"); + + b.ToTable("xprolereward", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); + + b.Property("ServerExcluded") + .HasColumnType("boolean") + .HasColumnName("serverexcluded"); + + b.HasKey("Id") + .HasName("pk_xpsettings"); + + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_xpsettings_guildconfigid"); + + b.ToTable("xpsettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); + + b.Property("IsUsing") + .HasColumnType("boolean") + .HasColumnName("isusing"); + + b.Property("ItemKey") + .IsRequired() + .HasColumnType("text") + .HasColumnName("itemkey"); + + b.Property("ItemType") + .HasColumnType("integer") + .HasColumnName("itemtype"); + + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); + + b.HasKey("Id") + .HasName("pk_xpshopowneditem"); + + b.HasIndex("UserId", "ItemType", "ItemKey") + .IsUnique() + .HasDatabaseName("ix_xpshopowneditem_userid_itemtype_itemkey"); + + b.ToTable("xpshopowneditem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Services.GreetSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoDeleteTimer") + .HasColumnType("integer") + .HasColumnName("autodeletetimer"); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("GreetType") + .HasColumnType("integer") + .HasColumnName("greettype"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("IsEnabled") + .HasColumnType("boolean") + .HasColumnName("isenabled"); + + b.Property("MessageText") + .HasColumnType("text") + .HasColumnName("messagetext"); + + b.HasKey("Id") + .HasName("pk_greetsettings"); + + b.HasIndex("GuildId", "GreetType") + .IsUnique() + .HasDatabaseName("ix_greetsettings_guildid_greettype"); + + b.ToTable("greetsettings", (string)null); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiAltSetting") + .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiRaidSetting") + .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => + { + b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_antispamignore_antispamsetting_antispamsettingid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiSpamSetting") + .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => + { + b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") + .WithMany("Users") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_autotranslateusers_autotranslatechannels_channelid"); + + b.Navigation("Channel"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Applicants") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_clubs_clubid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_discorduser_userid"); + + b.Navigation("Club"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Bans") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_clubs_clubid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_discorduser_userid"); + + b.Navigation("Club"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("fk_clubs_discorduser_ownerid"); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("DelMsgOnCmdChannels") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Members") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.NoAction) + .HasConstraintName("fk_discorduser_clubs_clubid"); + + b.Navigation("Club"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("ExclusionList") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("FeedSubs") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterLinksChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => + { + b.HasOne("EllieBot.Db.Models.GiveawayModel", null) + .WithMany("Participants") + .HasForeignKey("GiveawayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_giveawayuser_giveawaymodel_giveawayid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("SelfAssignableRoleGroupNames") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_groupname_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => + { + b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") + .WithMany("LogIgnores") + .HasForeignKey("LogSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_ignoredlogchannels_logsettings_logsettingid"); + + b.Navigation("LogSetting"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("Permissions") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_permissions_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => + { + b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_playlistsong_musicplaylists_musicplaylistid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => + { + b.HasOne("EllieBot.Db.Models.ShopEntry", null) + .WithMany("Items") + .HasForeignKey("ShopEntryId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentryitem_shopentry_shopentryid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Blacklist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamroleblacklisteduser_streamrolesettings_streamrolesett~"); + + b.Navigation("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("StreamRole") + .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Whitelist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolewhitelisteduser_streamrolesettings_streamrolesett~"); + + b.Navigation("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => + { + b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) + .WithMany("Items") + .HasForeignKey("ArchiveId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_todos_todosarchive_archiveid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnbanTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnroleTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId") + .HasConstraintName("fk_waifuinfo_discorduser_affinityid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId") + .HasConstraintName("fk_waifuinfo_discorduser_claimerid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuinfo_discorduser_waifuid"); + + b.Navigation("Affinity"); + + b.Navigation("Claimer"); + + b.Navigation("Waifu"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => + { + b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") + .WithMany("Items") + .HasForeignKey("WaifuInfoId") + .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid"); + + b.Navigation("WaifuInfo"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId") + .HasConstraintName("fk_waifuupdates_discorduser_newid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId") + .HasConstraintName("fk_waifuupdates_discorduser_oldid"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuupdates_discorduser_userid"); + + b.Navigation("New"); + + b.Navigation("Old"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_warningpunishment_guildconfigs_guildconfigid"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("CurrencyRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpcurrencyreward_xpsettings_xpsettingsid"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("RoleRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xprolereward_xpsettings_xpsettingsid"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("XpSettings") + .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid"); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.Navigation("IgnoredChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => + { + b.Navigation("Users"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.Navigation("Applicants"); + + b.Navigation("Bans"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => + { + b.Navigation("Participants"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => + { + b.Navigation("AntiAltSetting"); + + b.Navigation("AntiRaidSetting"); + + b.Navigation("AntiSpamSetting"); + + b.Navigation("CommandAliases"); + + b.Navigation("CommandCooldowns"); + + b.Navigation("DelMsgOnCmdChannels"); + + b.Navigation("FeedSubs"); + + b.Navigation("FilterInvitesChannelIds"); + + b.Navigation("FilterLinksChannelIds"); + + b.Navigation("FilterWordsChannelIds"); + + b.Navigation("FilteredWords"); + + b.Navigation("FollowedStreams"); + + b.Navigation("GenerateCurrencyChannelIds"); + + b.Navigation("MutedUsers"); + + b.Navigation("Permissions"); + + b.Navigation("SelfAssignableRoleGroupNames"); + + b.Navigation("ShopEntries"); + + b.Navigation("SlowmodeIgnoredRoles"); + + b.Navigation("SlowmodeIgnoredUsers"); + + b.Navigation("StreamRole"); + + b.Navigation("UnbanTimer"); + + b.Navigation("UnmuteTimers"); + + b.Navigation("UnroleTimer"); + + b.Navigation("VcRoleInfos"); + + b.Navigation("WarnPunishments"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => + { + b.Navigation("LogIgnores"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => + { + b.Navigation("Songs"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.Navigation("Blacklist"); + + b.Navigation("Whitelist"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.Navigation("CurrencyRewards"); + + b.Navigation("ExclusionList"); + + b.Navigation("RoleRewards"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.cs b/src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.cs new file mode 100644 index 0000000..afa0de2 --- /dev/null +++ b/src/EllieBot/Migrations/PostgreSql/20240911104857_greet-settings.cs @@ -0,0 +1,196 @@ +using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace EllieBot.Migrations.PostgreSql +{ + /// + public partial class greetsettings : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "autodeletebyemessagestimer", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "autodeletegreetmessagestimer", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "boostmessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "boostmessagechannelid", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "boostmessagedeleteafter", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "byemessagechannelid", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "channelbyemessagetext", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "channelgreetmessagetext", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "dmgreetmessagetext", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "greetmessagechannelid", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "sendboostmessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "sendchannelbyemessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "sendchannelgreetmessage", + table: "guildconfigs"); + + migrationBuilder.DropColumn( + name: "senddmgreetmessage", + table: "guildconfigs"); + + migrationBuilder.CreateTable( + name: "greetsettings", + columns: table => new + { + id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + guildid = table.Column(type: "numeric(20,0)", nullable: false), + greettype = table.Column(type: "integer", nullable: false), + messagetext = table.Column(type: "text", nullable: true), + isenabled = table.Column(type: "boolean", nullable: false), + channelid = table.Column(type: "numeric(20,0)", nullable: true), + autodeletetimer = table.Column(type: "integer", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("pk_greetsettings", x => x.id); + }); + + migrationBuilder.CreateIndex( + name: "ix_greetsettings_guildid_greettype", + table: "greetsettings", + columns: new[] { "guildid", "greettype" }, + unique: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "greetsettings"); + + migrationBuilder.AddColumn( + name: "autodeletebyemessagestimer", + table: "guildconfigs", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "autodeletegreetmessagestimer", + table: "guildconfigs", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "boostmessage", + table: "guildconfigs", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "boostmessagechannelid", + table: "guildconfigs", + type: "numeric(20,0)", + nullable: false, + defaultValue: 0m); + + migrationBuilder.AddColumn( + name: "boostmessagedeleteafter", + table: "guildconfigs", + type: "integer", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "byemessagechannelid", + table: "guildconfigs", + type: "numeric(20,0)", + nullable: false, + defaultValue: 0m); + + migrationBuilder.AddColumn( + name: "channelbyemessagetext", + table: "guildconfigs", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "channelgreetmessagetext", + table: "guildconfigs", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "dmgreetmessagetext", + table: "guildconfigs", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "greetmessagechannelid", + table: "guildconfigs", + type: "numeric(20,0)", + nullable: false, + defaultValue: 0m); + + migrationBuilder.AddColumn( + name: "sendboostmessage", + table: "guildconfigs", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "sendchannelbyemessage", + table: "guildconfigs", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "sendchannelgreetmessage", + table: "guildconfigs", + type: "boolean", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "senddmgreetmessage", + table: "guildconfigs", + type: "boolean", + nullable: false, + defaultValue: false); + } + } +} diff --git a/src/EllieBot/Migrations/PostgreSql/PostgreSqlContextModelSnapshot.cs b/src/EllieBot/Migrations/PostgreSql/PostgreSqlContextModelSnapshot.cs index bb87c9c..c72940f 100644 --- a/src/EllieBot/Migrations/PostgreSql/PostgreSqlContextModelSnapshot.cs +++ b/src/EllieBot/Migrations/PostgreSql/PostgreSqlContextModelSnapshot.cs @@ -17,3778 +17,3765 @@ namespace EllieBot.Migrations.PostgreSql { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.4") + .HasAnnotation("ProductVersion", "8.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Action") - .HasColumnType("integer") - .HasColumnName("action"); + b.Property("Action") + .HasColumnType("integer") + .HasColumnName("action"); - b.Property("ActionDurationMinutes") - .HasColumnType("integer") - .HasColumnName("actiondurationminutes"); + b.Property("ActionDurationMinutes") + .HasColumnType("integer") + .HasColumnName("actiondurationminutes"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("MinAge") - .HasColumnType("interval") - .HasColumnName("minage"); + b.Property("MinAge") + .HasColumnType("interval") + .HasColumnName("minage"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_antialtsetting"); + b.HasKey("Id") + .HasName("pk_antialtsetting"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_antialtsetting_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antialtsetting_guildconfigid"); - b.ToTable("antialtsetting", (string)null); - }); + b.ToTable("antialtsetting", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Action") - .HasColumnType("integer") - .HasColumnName("action"); + b.Property("Action") + .HasColumnType("integer") + .HasColumnName("action"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("PunishDuration") - .HasColumnType("integer") - .HasColumnName("punishduration"); + b.Property("PunishDuration") + .HasColumnType("integer") + .HasColumnName("punishduration"); - b.Property("Seconds") - .HasColumnType("integer") - .HasColumnName("seconds"); + b.Property("Seconds") + .HasColumnType("integer") + .HasColumnName("seconds"); - b.Property("UserThreshold") - .HasColumnType("integer") - .HasColumnName("userthreshold"); + b.Property("UserThreshold") + .HasColumnType("integer") + .HasColumnName("userthreshold"); - b.HasKey("Id") - .HasName("pk_antiraidsetting"); + b.HasKey("Id") + .HasName("pk_antiraidsetting"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_antiraidsetting_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antiraidsetting_guildconfigid"); - b.ToTable("antiraidsetting", (string)null); - }); + b.ToTable("antiraidsetting", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AntiSpamSettingId") - .HasColumnType("integer") - .HasColumnName("antispamsettingid"); + b.Property("AntiSpamSettingId") + .HasColumnType("integer") + .HasColumnName("antispamsettingid"); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.HasKey("Id") - .HasName("pk_antispamignore"); + b.HasKey("Id") + .HasName("pk_antispamignore"); - b.HasIndex("AntiSpamSettingId") - .HasDatabaseName("ix_antispamignore_antispamsettingid"); + b.HasIndex("AntiSpamSettingId") + .HasDatabaseName("ix_antispamignore_antispamsettingid"); - b.ToTable("antispamignore", (string)null); - }); + b.ToTable("antispamignore", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Action") - .HasColumnType("integer") - .HasColumnName("action"); + b.Property("Action") + .HasColumnType("integer") + .HasColumnName("action"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("MessageThreshold") - .HasColumnType("integer") - .HasColumnName("messagethreshold"); + b.Property("MessageThreshold") + .HasColumnType("integer") + .HasColumnName("messagethreshold"); - b.Property("MuteTime") - .HasColumnType("integer") - .HasColumnName("mutetime"); + b.Property("MuteTime") + .HasColumnType("integer") + .HasColumnName("mutetime"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_antispamsetting"); + b.HasKey("Id") + .HasName("pk_antispamsetting"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_antispamsetting_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_antispamsetting_guildconfigid"); - b.ToTable("antispamsetting", (string)null); - }); + b.ToTable("antispamsetting", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_todosarchive"); + b.HasKey("Id") + .HasName("pk_todosarchive"); - b.ToTable("todosarchive", (string)null); - }); + b.ToTable("todosarchive", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("ChannelName") - .HasColumnType("text") - .HasColumnName("channelname"); + b.Property("ChannelName") + .HasColumnType("text") + .HasColumnName("channelname"); - b.Property("CommandText") - .HasColumnType("text") - .HasColumnName("commandtext"); + b.Property("CommandText") + .HasColumnType("text") + .HasColumnName("commandtext"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("GuildName") - .HasColumnType("text") - .HasColumnName("guildname"); + b.Property("GuildName") + .HasColumnType("text") + .HasColumnName("guildname"); - b.Property("Interval") - .HasColumnType("integer") - .HasColumnName("interval"); + b.Property("Interval") + .HasColumnType("integer") + .HasColumnName("interval"); - b.Property("VoiceChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("voicechannelid"); + b.Property("VoiceChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("voicechannelid"); - b.Property("VoiceChannelName") - .HasColumnType("text") - .HasColumnName("voicechannelname"); + b.Property("VoiceChannelName") + .HasColumnType("text") + .HasColumnName("voicechannelname"); - b.HasKey("Id") - .HasName("pk_autocommands"); + b.HasKey("Id") + .HasName("pk_autocommands"); - b.ToTable("autocommands", (string)null); - }); + b.ToTable("autocommands", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.HasKey("Id") - .HasName("pk_autopublishchannel"); + b.HasKey("Id") + .HasName("pk_autopublishchannel"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_autopublishchannel_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_autopublishchannel_guildid"); - b.ToTable("autopublishchannel", (string)null); - }); + b.ToTable("autopublishchannel", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AutoDelete") - .HasColumnType("boolean") - .HasColumnName("autodelete"); + b.Property("AutoDelete") + .HasColumnType("boolean") + .HasColumnName("autodelete"); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.HasKey("Id") - .HasName("pk_autotranslatechannels"); + b.HasKey("Id") + .HasName("pk_autotranslatechannels"); - b.HasIndex("ChannelId") - .IsUnique() - .HasDatabaseName("ix_autotranslatechannels_channelid"); + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_autotranslatechannels_channelid"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_autotranslatechannels_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_autotranslatechannels_guildid"); - b.ToTable("autotranslatechannels", (string)null); - }); + b.ToTable("autotranslatechannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("integer") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("integer") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Source") - .HasColumnType("text") - .HasColumnName("source"); + b.Property("Source") + .HasColumnType("text") + .HasColumnName("source"); - b.Property("Target") - .HasColumnType("text") - .HasColumnName("target"); + b.Property("Target") + .HasColumnType("text") + .HasColumnName("target"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_autotranslateusers"); + b.HasKey("Id") + .HasName("pk_autotranslateusers"); - b.HasAlternateKey("ChannelId", "UserId") - .HasName("ak_autotranslateusers_channelid_userid"); + b.HasAlternateKey("ChannelId", "UserId") + .HasName("ak_autotranslateusers_channelid_userid"); - b.ToTable("autotranslateusers", (string)null); - }); + b.ToTable("autotranslateusers", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("PruneDays") - .HasColumnType("integer") - .HasColumnName("prunedays"); + b.Property("PruneDays") + .HasColumnType("integer") + .HasColumnName("prunedays"); - b.Property("Text") - .HasColumnType("text") - .HasColumnName("text"); + b.Property("Text") + .HasColumnType("text") + .HasColumnName("text"); - b.HasKey("Id") - .HasName("pk_bantemplates"); + b.HasKey("Id") + .HasName("pk_bantemplates"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_bantemplates_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_bantemplates_guildid"); - b.ToTable("bantemplates", (string)null); - }); + b.ToTable("bantemplates", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.BankUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Balance") - .HasColumnType("bigint") - .HasColumnName("balance"); + b.Property("Balance") + .HasColumnType("bigint") + .HasColumnName("balance"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_bankusers"); + b.HasKey("Id") + .HasName("pk_bankusers"); - b.HasIndex("UserId") - .IsUnique() - .HasDatabaseName("ix_bankusers_userid"); + b.HasIndex("UserId") + .IsUnique() + .HasDatabaseName("ix_bankusers_userid"); - b.ToTable("bankusers", (string)null); - }); + b.ToTable("bankusers", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("ItemId") - .HasColumnType("numeric(20,0)") - .HasColumnName("itemid"); + b.Property("ItemId") + .HasColumnType("numeric(20,0)") + .HasColumnName("itemid"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_blacklist"); + b.HasKey("Id") + .HasName("pk_blacklist"); - b.ToTable("blacklist", (string)null); - }); + b.ToTable("blacklist", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => - { - b.Property("ClubId") - .HasColumnType("integer") - .HasColumnName("clubid"); + { + b.Property("ClubId") + .HasColumnType("integer") + .HasColumnName("clubid"); - b.Property("UserId") - .HasColumnType("integer") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("integer") + .HasColumnName("userid"); - b.HasKey("ClubId", "UserId") - .HasName("pk_clubapplicants"); + b.HasKey("ClubId", "UserId") + .HasName("pk_clubapplicants"); - b.HasIndex("UserId") - .HasDatabaseName("ix_clubapplicants_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_clubapplicants_userid"); - b.ToTable("clubapplicants", (string)null); - }); + b.ToTable("clubapplicants", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => - { - b.Property("ClubId") - .HasColumnType("integer") - .HasColumnName("clubid"); + { + b.Property("ClubId") + .HasColumnType("integer") + .HasColumnName("clubid"); - b.Property("UserId") - .HasColumnType("integer") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("integer") + .HasColumnName("userid"); - b.HasKey("ClubId", "UserId") - .HasName("pk_clubbans"); + b.HasKey("ClubId", "UserId") + .HasName("pk_clubbans"); - b.HasIndex("UserId") - .HasDatabaseName("ix_clubbans_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_clubbans_userid"); - b.ToTable("clubbans", (string)null); - }); + b.ToTable("clubbans", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); + b.Property("Description") + .HasColumnType("text") + .HasColumnName("description"); - b.Property("ImageUrl") - .HasColumnType("text") - .HasColumnName("imageurl"); + b.Property("ImageUrl") + .HasColumnType("text") + .HasColumnName("imageurl"); - b.Property("Name") - .HasMaxLength(20) - .HasColumnType("character varying(20)") - .HasColumnName("name"); + b.Property("Name") + .HasMaxLength(20) + .HasColumnType("character varying(20)") + .HasColumnName("name"); - b.Property("OwnerId") - .HasColumnType("integer") - .HasColumnName("ownerid"); + b.Property("OwnerId") + .HasColumnType("integer") + .HasColumnName("ownerid"); - b.Property("Xp") - .HasColumnType("integer") - .HasColumnName("xp"); + b.Property("Xp") + .HasColumnType("integer") + .HasColumnName("xp"); - b.HasKey("Id") - .HasName("pk_clubs"); + b.HasKey("Id") + .HasName("pk_clubs"); - b.HasIndex("Name") - .IsUnique() - .HasDatabaseName("ix_clubs_name"); + b.HasIndex("Name") + .IsUnique() + .HasDatabaseName("ix_clubs_name"); - b.HasIndex("OwnerId") - .IsUnique() - .HasDatabaseName("ix_clubs_ownerid"); + b.HasIndex("OwnerId") + .IsUnique() + .HasDatabaseName("ix_clubs_ownerid"); - b.ToTable("clubs", (string)null); - }); + b.ToTable("clubs", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Mapping") - .HasColumnType("text") - .HasColumnName("mapping"); + b.Property("Mapping") + .HasColumnType("text") + .HasColumnName("mapping"); - b.Property("Trigger") - .HasColumnType("text") - .HasColumnName("trigger"); + b.Property("Trigger") + .HasColumnType("text") + .HasColumnName("trigger"); - b.HasKey("Id") - .HasName("pk_commandalias"); + b.HasKey("Id") + .HasName("pk_commandalias"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_commandalias_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandalias_guildconfigid"); - b.ToTable("commandalias", (string)null); - }); + b.ToTable("commandalias", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("CommandName") - .HasColumnType("text") - .HasColumnName("commandname"); + b.Property("CommandName") + .HasColumnType("text") + .HasColumnName("commandname"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Seconds") - .HasColumnType("integer") - .HasColumnName("seconds"); + b.Property("Seconds") + .HasColumnType("integer") + .HasColumnName("seconds"); - b.HasKey("Id") - .HasName("pk_commandcooldown"); + b.HasKey("Id") + .HasName("pk_commandcooldown"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_commandcooldown_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_commandcooldown_guildconfigid"); - b.ToTable("commandcooldown", (string)null); - }); + b.ToTable("commandcooldown", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Amount") - .HasColumnType("bigint") - .HasColumnName("amount"); + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Extra") - .IsRequired() - .HasColumnType("text") - .HasColumnName("extra"); + b.Property("Extra") + .IsRequired() + .HasColumnType("text") + .HasColumnName("extra"); - b.Property("Note") - .HasColumnType("text") - .HasColumnName("note"); + b.Property("Note") + .HasColumnType("text") + .HasColumnName("note"); - b.Property("OtherId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("otherid") - .HasDefaultValueSql("NULL"); + b.Property("OtherId") + .ValueGeneratedOnAdd() + .HasColumnType("numeric(20,0)") + .HasColumnName("otherid") + .HasDefaultValueSql("NULL"); - b.Property("Type") - .IsRequired() - .HasColumnType("text") - .HasColumnName("type"); + b.Property("Type") + .IsRequired() + .HasColumnType("text") + .HasColumnName("type"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_currencytransactions"); + b.HasKey("Id") + .HasName("pk_currencytransactions"); - b.HasIndex("UserId") - .HasDatabaseName("ix_currencytransactions_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_currencytransactions_userid"); - b.ToTable("currencytransactions", (string)null); - }); + b.ToTable("currencytransactions", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("State") - .HasColumnType("boolean") - .HasColumnName("state"); + b.Property("State") + .HasColumnType("boolean") + .HasColumnName("state"); - b.HasKey("Id") - .HasName("pk_delmsgoncmdchannel"); + b.HasKey("Id") + .HasName("pk_delmsgoncmdchannel"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_delmsgoncmdchannel_guildconfigid"); - b.ToTable("delmsgoncmdchannel", (string)null); - }); + b.ToTable("delmsgoncmdchannel", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Command") - .HasColumnType("text") - .HasColumnName("command"); + b.Property("Command") + .HasColumnType("text") + .HasColumnName("command"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Perm") - .HasColumnType("numeric(20,0)") - .HasColumnName("perm"); + b.Property("Perm") + .HasColumnType("numeric(20,0)") + .HasColumnName("perm"); - b.HasKey("Id") - .HasName("pk_discordpermoverrides"); + b.HasKey("Id") + .HasName("pk_discordpermoverrides"); - b.HasIndex("GuildId", "Command") - .IsUnique() - .HasDatabaseName("ix_discordpermoverrides_guildid_command"); + b.HasIndex("GuildId", "Command") + .IsUnique() + .HasDatabaseName("ix_discordpermoverrides_guildid_command"); - b.ToTable("discordpermoverrides", (string)null); - }); + b.ToTable("discordpermoverrides", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AvatarId") - .HasColumnType("text") - .HasColumnName("avatarid"); + b.Property("AvatarId") + .HasColumnType("text") + .HasColumnName("avatarid"); - b.Property("ClubId") - .HasColumnType("integer") - .HasColumnName("clubid"); + b.Property("ClubId") + .HasColumnType("integer") + .HasColumnName("clubid"); - b.Property("CurrencyAmount") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasDefaultValue(0L) - .HasColumnName("currencyamount"); + b.Property("CurrencyAmount") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("currencyamount"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Discriminator") - .HasColumnType("text") - .HasColumnName("discriminator"); + b.Property("Discriminator") + .HasColumnType("text") + .HasColumnName("discriminator"); - b.Property("IsClubAdmin") - .ValueGeneratedOnAdd() - .HasColumnType("boolean") - .HasDefaultValue(false) - .HasColumnName("isclubadmin"); + b.Property("IsClubAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("isclubadmin"); - b.Property("NotifyOnLevelUp") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasDefaultValue(0) - .HasColumnName("notifyonlevelup"); + b.Property("NotifyOnLevelUp") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("notifyonlevelup"); - b.Property("TotalXp") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasDefaultValue(0L) - .HasColumnName("totalxp"); + b.Property("TotalXp") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(0L) + .HasColumnName("totalxp"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("Username") - .HasColumnType("text") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_discorduser"); + b.HasKey("Id") + .HasName("pk_discorduser"); - b.HasAlternateKey("UserId") - .HasName("ak_discorduser_userid"); + b.HasAlternateKey("UserId") + .HasName("ak_discorduser_userid"); - b.HasIndex("ClubId") - .HasDatabaseName("ix_discorduser_clubid"); + b.HasIndex("ClubId") + .HasDatabaseName("ix_discorduser_clubid"); - b.HasIndex("CurrencyAmount") - .HasDatabaseName("ix_discorduser_currencyamount"); + b.HasIndex("CurrencyAmount") + .HasDatabaseName("ix_discorduser_currencyamount"); - b.HasIndex("TotalXp") - .HasDatabaseName("ix_discorduser_totalxp"); + b.HasIndex("TotalXp") + .HasDatabaseName("ix_discorduser_totalxp"); - b.HasIndex("UserId") - .HasDatabaseName("ix_discorduser_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_discorduser_userid"); - b.ToTable("discorduser", (string)null); - }); + b.ToTable("discorduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("ItemId") - .HasColumnType("numeric(20,0)") - .HasColumnName("itemid"); + b.Property("ItemId") + .HasColumnType("numeric(20,0)") + .HasColumnName("itemid"); - b.Property("ItemType") - .HasColumnType("integer") - .HasColumnName("itemtype"); + b.Property("ItemType") + .HasColumnType("integer") + .HasColumnName("itemtype"); - b.Property("XpSettingsId") - .HasColumnType("integer") - .HasColumnName("xpsettingsid"); + b.Property("XpSettingsId") + .HasColumnType("integer") + .HasColumnName("xpsettingsid"); - b.HasKey("Id") - .HasName("pk_excludeditem"); + b.HasKey("Id") + .HasName("pk_excludeditem"); - b.HasIndex("XpSettingsId") - .HasDatabaseName("ix_excludeditem_xpsettingsid"); + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_excludeditem_xpsettingsid"); - b.ToTable("excludeditem", (string)null); - }); + b.ToTable("excludeditem", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Message") - .HasColumnType("text") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); - b.Property("Url") - .IsRequired() - .HasColumnType("text") - .HasColumnName("url"); + b.Property("Url") + .IsRequired() + .HasColumnType("text") + .HasColumnName("url"); - b.HasKey("Id") - .HasName("pk_feedsub"); + b.HasKey("Id") + .HasName("pk_feedsub"); - b.HasAlternateKey("GuildConfigId", "Url") - .HasName("ak_feedsub_guildconfigid_url"); + b.HasAlternateKey("GuildConfigId", "Url") + .HasName("ak_feedsub_guildconfigid_url"); - b.ToTable("feedsub", (string)null); - }); + b.ToTable("feedsub", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_filterchannelid"); + b.HasKey("Id") + .HasName("pk_filterchannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filterchannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterchannelid_guildconfigid"); - b.ToTable("filterchannelid", (string)null); - }); + b.ToTable("filterchannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_filterlinkschannelid"); + b.HasKey("Id") + .HasName("pk_filterlinkschannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filterlinkschannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterlinkschannelid_guildconfigid"); - b.ToTable("filterlinkschannelid", (string)null); - }); + b.ToTable("filterlinkschannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_filterwordschannelid"); + b.HasKey("Id") + .HasName("pk_filterwordschannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filterwordschannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filterwordschannelid_guildconfigid"); - b.ToTable("filterwordschannelid", (string)null); - }); + b.ToTable("filterwordschannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Word") - .HasColumnType("text") - .HasColumnName("word"); + b.Property("Word") + .HasColumnType("text") + .HasColumnName("word"); - b.HasKey("Id") - .HasName("pk_filteredword"); + b.HasKey("Id") + .HasName("pk_filteredword"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_filteredword_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_filteredword_guildconfigid"); - b.ToTable("filteredword", (string)null); - }); + b.ToTable("filteredword", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Message") - .HasColumnType("text") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.Property("Username") - .HasColumnType("text") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_followedstream"); + b.HasKey("Id") + .HasName("pk_followedstream"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_followedstream_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_followedstream_guildconfigid"); - b.ToTable("followedstream", (string)null); - }); + b.ToTable("followedstream", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.HasKey("Id") - .HasName("pk_gcchannelid"); + b.HasKey("Id") + .HasName("pk_gcchannelid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_gcchannelid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_gcchannelid_guildconfigid"); - b.ToTable("gcchannelid", (string)null); - }); + b.ToTable("gcchannelid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Bet") - .HasColumnType("numeric") - .HasColumnName("bet"); + b.Property("Bet") + .HasColumnType("numeric") + .HasColumnName("bet"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Feature") - .HasColumnType("text") - .HasColumnName("feature"); + b.Property("Feature") + .HasColumnType("text") + .HasColumnName("feature"); - b.Property("PaidOut") - .HasColumnType("numeric") - .HasColumnName("paidout"); + b.Property("PaidOut") + .HasColumnType("numeric") + .HasColumnName("paidout"); - b.HasKey("Id") - .HasName("pk_gamblingstats"); + b.HasKey("Id") + .HasName("pk_gamblingstats"); - b.HasIndex("Feature") - .IsUnique() - .HasDatabaseName("ix_gamblingstats_feature"); + b.HasIndex("Feature") + .IsUnique() + .HasDatabaseName("ix_gamblingstats_feature"); - b.ToTable("gamblingstats", (string)null); - }); + b.ToTable("gamblingstats", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("EndsAt") - .HasColumnType("timestamp without time zone") - .HasColumnName("endsat"); + b.Property("EndsAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("endsat"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Message") - .HasColumnType("text") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); - b.Property("MessageId") - .HasColumnType("numeric(20,0)") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); - b.HasKey("Id") - .HasName("pk_giveawaymodel"); + b.HasKey("Id") + .HasName("pk_giveawaymodel"); - b.ToTable("giveawaymodel", (string)null); - }); + b.ToTable("giveawaymodel", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("GiveawayId") - .HasColumnType("integer") - .HasColumnName("giveawayid"); + b.Property("GiveawayId") + .HasColumnType("integer") + .HasColumnName("giveawayid"); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_giveawayuser"); + b.HasKey("Id") + .HasName("pk_giveawayuser"); - b.HasIndex("GiveawayId", "UserId") - .IsUnique() - .HasDatabaseName("ix_giveawayuser_giveawayid_userid"); + b.HasIndex("GiveawayId", "UserId") + .IsUnique() + .HasDatabaseName("ix_giveawayuser_giveawayid_userid"); - b.ToTable("giveawayuser", (string)null); - }); + b.ToTable("giveawayuser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.Property("Number") - .HasColumnType("integer") - .HasColumnName("number"); + b.Property("Number") + .HasColumnType("integer") + .HasColumnName("number"); - b.HasKey("Id") - .HasName("pk_groupname"); + b.HasKey("Id") + .HasName("pk_groupname"); - b.HasIndex("GuildConfigId", "Number") - .IsUnique() - .HasDatabaseName("ix_groupname_guildconfigid_number"); + b.HasIndex("GuildConfigId", "Number") + .IsUnique() + .HasDatabaseName("ix_groupname_guildconfigid_number"); - b.ToTable("groupname", (string)null); - }); + b.ToTable("groupname", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AutoAssignRoleIds") - .HasColumnType("text") - .HasColumnName("autoassignroleids"); + b.Property("AutoAssignRoleIds") + .HasColumnType("text") + .HasColumnName("autoassignroleids"); - b.Property("AutoDeleteByeMessagesTimer") - .HasColumnType("integer") - .HasColumnName("autodeletebyemessagestimer"); + b.Property("AutoDeleteSelfAssignedRoleMessages") + .HasColumnType("boolean") + .HasColumnName("autodeleteselfassignedrolemessages"); - b.Property("AutoDeleteGreetMessagesTimer") - .HasColumnType("integer") - .HasColumnName("autodeletegreetmessagestimer"); + b.Property("CleverbotEnabled") + .HasColumnType("boolean") + .HasColumnName("cleverbotenabled"); - b.Property("AutoDeleteSelfAssignedRoleMessages") - .HasColumnType("boolean") - .HasColumnName("autodeleteselfassignedrolemessages"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("BoostMessage") - .HasColumnType("text") - .HasColumnName("boostmessage"); + b.Property("DeleteMessageOnCommand") + .HasColumnType("boolean") + .HasColumnName("deletemessageoncommand"); - b.Property("BoostMessageChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("boostmessagechannelid"); + b.Property("DeleteStreamOnlineMessage") + .HasColumnType("boolean") + .HasColumnName("deletestreamonlinemessage"); - b.Property("BoostMessageDeleteAfter") - .HasColumnType("integer") - .HasColumnName("boostmessagedeleteafter"); + b.Property("DisableGlobalExpressions") + .HasColumnType("boolean") + .HasColumnName("disableglobalexpressions"); - b.Property("ByeMessageChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("byemessagechannelid"); + b.Property("ExclusiveSelfAssignedRoles") + .HasColumnType("boolean") + .HasColumnName("exclusiveselfassignedroles"); - b.Property("ChannelByeMessageText") - .HasColumnType("text") - .HasColumnName("channelbyemessagetext"); + b.Property("FilterInvites") + .HasColumnType("boolean") + .HasColumnName("filterinvites"); - b.Property("ChannelGreetMessageText") - .HasColumnType("text") - .HasColumnName("channelgreetmessagetext"); + b.Property("FilterLinks") + .HasColumnType("boolean") + .HasColumnName("filterlinks"); - b.Property("CleverbotEnabled") - .HasColumnType("boolean") - .HasColumnName("cleverbotenabled"); + b.Property("FilterWords") + .HasColumnType("boolean") + .HasColumnName("filterwords"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("GameVoiceChannel") + .HasColumnType("numeric(20,0)") + .HasColumnName("gamevoicechannel"); - b.Property("DeleteMessageOnCommand") - .HasColumnType("boolean") - .HasColumnName("deletemessageoncommand"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("DeleteStreamOnlineMessage") - .HasColumnType("boolean") - .HasColumnName("deletestreamonlinemessage"); + b.Property("Locale") + .HasColumnType("text") + .HasColumnName("locale"); - b.Property("DisableGlobalExpressions") - .HasColumnType("boolean") - .HasColumnName("disableglobalexpressions"); + b.Property("MuteRoleName") + .HasColumnType("text") + .HasColumnName("muterolename"); - b.Property("DmGreetMessageText") - .HasColumnType("text") - .HasColumnName("dmgreetmessagetext"); + b.Property("NotifyStreamOffline") + .HasColumnType("boolean") + .HasColumnName("notifystreamoffline"); - b.Property("ExclusiveSelfAssignedRoles") - .HasColumnType("boolean") - .HasColumnName("exclusiveselfassignedroles"); + b.Property("PermissionRole") + .HasColumnType("text") + .HasColumnName("permissionrole"); - b.Property("FilterInvites") - .HasColumnType("boolean") - .HasColumnName("filterinvites"); + b.Property("Prefix") + .HasColumnType("text") + .HasColumnName("prefix"); - b.Property("FilterLinks") - .HasColumnType("boolean") - .HasColumnName("filterlinks"); + b.Property("StickyRoles") + .HasColumnType("boolean") + .HasColumnName("stickyroles"); - b.Property("FilterWords") - .HasColumnType("boolean") - .HasColumnName("filterwords"); + b.Property("TimeZoneId") + .HasColumnType("text") + .HasColumnName("timezoneid"); - b.Property("GameVoiceChannel") - .HasColumnType("numeric(20,0)") - .HasColumnName("gamevoicechannel"); + b.Property("VerboseErrors") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true) + .HasColumnName("verboseerrors"); - b.Property("GreetMessageChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("greetmessagechannelid"); + b.Property("VerbosePermissions") + .HasColumnType("boolean") + .HasColumnName("verbosepermissions"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("WarnExpireAction") + .HasColumnType("integer") + .HasColumnName("warnexpireaction"); - b.Property("Locale") - .HasColumnType("text") - .HasColumnName("locale"); + b.Property("WarnExpireHours") + .HasColumnType("integer") + .HasColumnName("warnexpirehours"); - b.Property("MuteRoleName") - .HasColumnType("text") - .HasColumnName("muterolename"); + b.Property("WarningsInitialized") + .HasColumnType("boolean") + .HasColumnName("warningsinitialized"); - b.Property("NotifyStreamOffline") - .HasColumnType("boolean") - .HasColumnName("notifystreamoffline"); + b.HasKey("Id") + .HasName("pk_guildconfigs"); - b.Property("PermissionRole") - .HasColumnType("text") - .HasColumnName("permissionrole"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_guildconfigs_guildid"); - b.Property("Prefix") - .HasColumnType("text") - .HasColumnName("prefix"); + b.HasIndex("WarnExpireHours") + .HasDatabaseName("ix_guildconfigs_warnexpirehours"); - b.Property("SendBoostMessage") - .HasColumnType("boolean") - .HasColumnName("sendboostmessage"); - - b.Property("SendChannelByeMessage") - .HasColumnType("boolean") - .HasColumnName("sendchannelbyemessage"); - - b.Property("SendChannelGreetMessage") - .HasColumnType("boolean") - .HasColumnName("sendchannelgreetmessage"); - - b.Property("SendDmGreetMessage") - .HasColumnType("boolean") - .HasColumnName("senddmgreetmessage"); - - b.Property("StickyRoles") - .HasColumnType("boolean") - .HasColumnName("stickyroles"); - - b.Property("TimeZoneId") - .HasColumnType("text") - .HasColumnName("timezoneid"); - - b.Property("VerboseErrors") - .ValueGeneratedOnAdd() - .HasColumnType("boolean") - .HasDefaultValue(true) - .HasColumnName("verboseerrors"); - - b.Property("VerbosePermissions") - .HasColumnType("boolean") - .HasColumnName("verbosepermissions"); - - b.Property("WarnExpireAction") - .HasColumnType("integer") - .HasColumnName("warnexpireaction"); - - b.Property("WarnExpireHours") - .HasColumnType("integer") - .HasColumnName("warnexpirehours"); - - b.Property("WarningsInitialized") - .HasColumnType("boolean") - .HasColumnName("warningsinitialized"); - - b.HasKey("Id") - .HasName("pk_guildconfigs"); - - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_guildconfigs_guildid"); - - b.HasIndex("WarnExpireHours") - .HasDatabaseName("ix_guildconfigs_warnexpirehours"); - - b.ToTable("guildconfigs", (string)null); - }); + b.ToTable("guildconfigs", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b => - { - b.Property("GuildId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + { + b.Property("GuildId") + .ValueGeneratedOnAdd() + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.HasKey("GuildId") - .HasName("pk_honeypotchannels"); + b.HasKey("GuildId") + .HasName("pk_honeypotchannels"); - b.ToTable("honeypotchannels", (string)null); - }); + b.ToTable("honeypotchannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("ItemType") - .HasColumnType("integer") - .HasColumnName("itemtype"); + b.Property("ItemType") + .HasColumnType("integer") + .HasColumnName("itemtype"); - b.Property("LogItemId") - .HasColumnType("numeric(20,0)") - .HasColumnName("logitemid"); + b.Property("LogItemId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logitemid"); - b.Property("LogSettingId") - .HasColumnType("integer") - .HasColumnName("logsettingid"); + b.Property("LogSettingId") + .HasColumnType("integer") + .HasColumnName("logsettingid"); - b.HasKey("Id") - .HasName("pk_ignoredlogchannels"); + b.HasKey("Id") + .HasName("pk_ignoredlogchannels"); - b.HasIndex("LogSettingId", "LogItemId", "ItemType") - .IsUnique() - .HasDatabaseName("ix_ignoredlogchannels_logsettingid_logitemid_itemtype"); + b.HasIndex("LogSettingId", "LogItemId", "ItemType") + .IsUnique() + .HasDatabaseName("ix_ignoredlogchannels_logsettingid_logitemid_itemtype"); - b.ToTable("ignoredlogchannels", (string)null); - }); + b.ToTable("ignoredlogchannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_imageonlychannels"); + b.HasKey("Id") + .HasName("pk_imageonlychannels"); - b.HasIndex("ChannelId") - .IsUnique() - .HasDatabaseName("ix_imageonlychannels_channelid"); + b.HasIndex("ChannelId") + .IsUnique() + .HasDatabaseName("ix_imageonlychannels_channelid"); - b.ToTable("imageonlychannels", (string)null); - }); + b.ToTable("imageonlychannels", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelCreatedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelcreatedid"); + b.Property("ChannelCreatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelcreatedid"); - b.Property("ChannelDestroyedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channeldestroyedid"); + b.Property("ChannelDestroyedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channeldestroyedid"); - b.Property("ChannelUpdatedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelupdatedid"); + b.Property("ChannelUpdatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelupdatedid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("LogOtherId") - .HasColumnType("numeric(20,0)") - .HasColumnName("logotherid"); + b.Property("LogOtherId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logotherid"); - b.Property("LogUserPresenceId") - .HasColumnType("numeric(20,0)") - .HasColumnName("loguserpresenceid"); + b.Property("LogUserPresenceId") + .HasColumnType("numeric(20,0)") + .HasColumnName("loguserpresenceid"); - b.Property("LogVoicePresenceId") - .HasColumnType("numeric(20,0)") - .HasColumnName("logvoicepresenceid"); + b.Property("LogVoicePresenceId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logvoicepresenceid"); - b.Property("LogVoicePresenceTTSId") - .HasColumnType("numeric(20,0)") - .HasColumnName("logvoicepresencettsid"); + b.Property("LogVoicePresenceTTSId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logvoicepresencettsid"); - b.Property("LogWarnsId") - .HasColumnType("numeric(20,0)") - .HasColumnName("logwarnsid"); + b.Property("LogWarnsId") + .HasColumnType("numeric(20,0)") + .HasColumnName("logwarnsid"); - b.Property("MessageDeletedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("messagedeletedid"); + b.Property("MessageDeletedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messagedeletedid"); - b.Property("MessageUpdatedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("messageupdatedid"); + b.Property("MessageUpdatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageupdatedid"); - b.Property("ThreadCreatedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("threadcreatedid"); + b.Property("ThreadCreatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("threadcreatedid"); - b.Property("ThreadDeletedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("threaddeletedid"); + b.Property("ThreadDeletedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("threaddeletedid"); - b.Property("UserBannedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userbannedid"); + b.Property("UserBannedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userbannedid"); - b.Property("UserJoinedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userjoinedid"); + b.Property("UserJoinedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userjoinedid"); - b.Property("UserLeftId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userleftid"); + b.Property("UserLeftId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userleftid"); - b.Property("UserMutedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("usermutedid"); + b.Property("UserMutedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("usermutedid"); - b.Property("UserUnbannedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userunbannedid"); + b.Property("UserUnbannedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userunbannedid"); - b.Property("UserUpdatedId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userupdatedid"); + b.Property("UserUpdatedId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userupdatedid"); - b.HasKey("Id") - .HasName("pk_logsettings"); + b.HasKey("Id") + .HasName("pk_logsettings"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_logsettings_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_logsettings_guildid"); - b.ToTable("logsettings", (string)null); - }); + b.ToTable("logsettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AutoDisconnect") - .HasColumnType("boolean") - .HasColumnName("autodisconnect"); + b.Property("AutoDisconnect") + .HasColumnType("boolean") + .HasColumnName("autodisconnect"); - b.Property("AutoPlay") - .HasColumnType("boolean") - .HasColumnName("autoplay"); + b.Property("AutoPlay") + .HasColumnType("boolean") + .HasColumnName("autoplay"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("MusicChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("musicchannelid"); + b.Property("MusicChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("musicchannelid"); - b.Property("PlayerRepeat") - .HasColumnType("integer") - .HasColumnName("playerrepeat"); + b.Property("PlayerRepeat") + .HasColumnType("integer") + .HasColumnName("playerrepeat"); - b.Property("QualityPreset") - .HasColumnType("integer") - .HasColumnName("qualitypreset"); + b.Property("QualityPreset") + .HasColumnType("integer") + .HasColumnName("qualitypreset"); - b.Property("Volume") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasDefaultValue(100) - .HasColumnName("volume"); + b.Property("Volume") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(100) + .HasColumnName("volume"); - b.HasKey("Id") - .HasName("pk_musicplayersettings"); + b.HasKey("Id") + .HasName("pk_musicplayersettings"); - b.HasIndex("GuildId") - .IsUnique() - .HasDatabaseName("ix_musicplayersettings_guildid"); + b.HasIndex("GuildId") + .IsUnique() + .HasDatabaseName("ix_musicplayersettings_guildid"); - b.ToTable("musicplayersettings", (string)null); - }); + b.ToTable("musicplayersettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Author") - .HasColumnType("text") - .HasColumnName("author"); + b.Property("Author") + .HasColumnType("text") + .HasColumnName("author"); - b.Property("AuthorId") - .HasColumnType("numeric(20,0)") - .HasColumnName("authorid"); + b.Property("AuthorId") + .HasColumnType("numeric(20,0)") + .HasColumnName("authorid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.HasKey("Id") - .HasName("pk_musicplaylists"); + b.HasKey("Id") + .HasName("pk_musicplaylists"); - b.ToTable("musicplaylists", (string)null); - }); + b.ToTable("musicplaylists", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_muteduserid"); + b.HasKey("Id") + .HasName("pk_muteduserid"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_muteduserid_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_muteduserid_guildconfigid"); - b.ToTable("muteduserid", (string)null); - }); + b.ToTable("muteduserid", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AllowTarget") - .HasColumnType("boolean") - .HasColumnName("allowtarget"); + b.Property("AllowTarget") + .HasColumnType("boolean") + .HasColumnName("allowtarget"); - b.Property("AutoDeleteTrigger") - .HasColumnType("boolean") - .HasColumnName("autodeletetrigger"); + b.Property("AutoDeleteTrigger") + .HasColumnType("boolean") + .HasColumnName("autodeletetrigger"); - b.Property("ContainsAnywhere") - .HasColumnType("boolean") - .HasColumnName("containsanywhere"); + b.Property("ContainsAnywhere") + .HasColumnType("boolean") + .HasColumnName("containsanywhere"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("DmResponse") - .HasColumnType("boolean") - .HasColumnName("dmresponse"); + b.Property("DmResponse") + .HasColumnType("boolean") + .HasColumnName("dmresponse"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Reactions") - .HasColumnType("text") - .HasColumnName("reactions"); + b.Property("Reactions") + .HasColumnType("text") + .HasColumnName("reactions"); - b.Property("Response") - .HasColumnType("text") - .HasColumnName("response"); + b.Property("Response") + .HasColumnType("text") + .HasColumnName("response"); - b.Property("Trigger") - .HasColumnType("text") - .HasColumnName("trigger"); + b.Property("Trigger") + .HasColumnType("text") + .HasColumnName("trigger"); - b.HasKey("Id") - .HasName("pk_expressions"); + b.HasKey("Id") + .HasName("pk_expressions"); - b.ToTable("expressions", (string)null); - }); + b.ToTable("expressions", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b => - { - b.Property("UserId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("AmountCents") - .HasColumnType("integer") - .HasColumnName("amountcents"); + b.Property("AmountCents") + .HasColumnType("integer") + .HasColumnName("amountcents"); - b.Property("LastCharge") - .HasColumnType("timestamp without time zone") - .HasColumnName("lastcharge"); + b.Property("LastCharge") + .HasColumnType("timestamp without time zone") + .HasColumnName("lastcharge"); - b.Property("UniquePlatformUserId") - .HasColumnType("text") - .HasColumnName("uniqueplatformuserid"); + b.Property("UniquePlatformUserId") + .HasColumnType("text") + .HasColumnName("uniqueplatformuserid"); - b.Property("ValidThru") - .HasColumnType("timestamp without time zone") - .HasColumnName("validthru"); + b.Property("ValidThru") + .HasColumnType("timestamp without time zone") + .HasColumnName("validthru"); - b.HasKey("UserId") - .HasName("pk_patrons"); + b.HasKey("UserId") + .HasName("pk_patrons"); - b.HasIndex("UniquePlatformUserId") - .IsUnique() - .HasDatabaseName("ix_patrons_uniqueplatformuserid"); + b.HasIndex("UniquePlatformUserId") + .IsUnique() + .HasDatabaseName("ix_patrons_uniqueplatformuserid"); - b.ToTable("patrons", (string)null); - }); + b.ToTable("patrons", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Index") - .HasColumnType("integer") - .HasColumnName("index"); + b.Property("Index") + .HasColumnType("integer") + .HasColumnName("index"); - b.Property("IsCustomCommand") - .HasColumnType("boolean") - .HasColumnName("iscustomcommand"); + b.Property("IsCustomCommand") + .HasColumnType("boolean") + .HasColumnName("iscustomcommand"); - b.Property("PrimaryTarget") - .HasColumnType("integer") - .HasColumnName("primarytarget"); + b.Property("PrimaryTarget") + .HasColumnType("integer") + .HasColumnName("primarytarget"); - b.Property("PrimaryTargetId") - .HasColumnType("numeric(20,0)") - .HasColumnName("primarytargetid"); + b.Property("PrimaryTargetId") + .HasColumnType("numeric(20,0)") + .HasColumnName("primarytargetid"); - b.Property("SecondaryTarget") - .HasColumnType("integer") - .HasColumnName("secondarytarget"); + b.Property("SecondaryTarget") + .HasColumnType("integer") + .HasColumnName("secondarytarget"); - b.Property("SecondaryTargetName") - .HasColumnType("text") - .HasColumnName("secondarytargetname"); + b.Property("SecondaryTargetName") + .HasColumnType("text") + .HasColumnName("secondarytargetname"); - b.Property("State") - .HasColumnType("boolean") - .HasColumnName("state"); + b.Property("State") + .HasColumnType("boolean") + .HasColumnName("state"); - b.HasKey("Id") - .HasName("pk_permissions"); + b.HasKey("Id") + .HasName("pk_permissions"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_permissions_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_permissions_guildconfigid"); - b.ToTable("permissions", (string)null); - }); + b.ToTable("permissions", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Amount") - .HasColumnType("bigint") - .HasColumnName("amount"); + b.Property("Amount") + .HasColumnType("bigint") + .HasColumnName("amount"); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("MessageId") - .HasColumnType("numeric(20,0)") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); - b.Property("Password") - .HasColumnType("text") - .HasColumnName("password"); + b.Property("Password") + .HasColumnType("text") + .HasColumnName("password"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_plantedcurrency"); + b.HasKey("Id") + .HasName("pk_plantedcurrency"); - b.HasIndex("ChannelId") - .HasDatabaseName("ix_plantedcurrency_channelid"); + b.HasIndex("ChannelId") + .HasDatabaseName("ix_plantedcurrency_channelid"); - b.HasIndex("MessageId") - .IsUnique() - .HasDatabaseName("ix_plantedcurrency_messageid"); + b.HasIndex("MessageId") + .IsUnique() + .HasDatabaseName("ix_plantedcurrency_messageid"); - b.ToTable("plantedcurrency", (string)null); - }); + b.ToTable("plantedcurrency", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("MusicPlaylistId") - .HasColumnType("integer") - .HasColumnName("musicplaylistid"); + b.Property("MusicPlaylistId") + .HasColumnType("integer") + .HasColumnName("musicplaylistid"); - b.Property("Provider") - .HasColumnType("text") - .HasColumnName("provider"); + b.Property("Provider") + .HasColumnType("text") + .HasColumnName("provider"); - b.Property("ProviderType") - .HasColumnType("integer") - .HasColumnName("providertype"); + b.Property("ProviderType") + .HasColumnType("integer") + .HasColumnName("providertype"); - b.Property("Query") - .HasColumnType("text") - .HasColumnName("query"); + b.Property("Query") + .HasColumnType("text") + .HasColumnName("query"); - b.Property("Title") - .HasColumnType("text") - .HasColumnName("title"); + b.Property("Title") + .HasColumnType("text") + .HasColumnName("title"); - b.Property("Uri") - .HasColumnType("text") - .HasColumnName("uri"); + b.Property("Uri") + .HasColumnType("text") + .HasColumnName("uri"); - b.HasKey("Id") - .HasName("pk_playlistsong"); + b.HasKey("Id") + .HasName("pk_playlistsong"); - b.HasIndex("MusicPlaylistId") - .HasDatabaseName("ix_playlistsong_musicplaylistid"); + b.HasIndex("MusicPlaylistId") + .HasDatabaseName("ix_playlistsong_musicplaylistid"); - b.ToTable("playlistsong", (string)null); - }); + b.ToTable("playlistsong", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AuthorId") - .HasColumnType("numeric(20,0)") - .HasColumnName("authorid"); + b.Property("AuthorId") + .HasColumnType("numeric(20,0)") + .HasColumnName("authorid"); - b.Property("AuthorName") - .IsRequired() - .HasColumnType("text") - .HasColumnName("authorname"); + b.Property("AuthorName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("authorname"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Keyword") - .IsRequired() - .HasColumnType("text") - .HasColumnName("keyword"); + b.Property("Keyword") + .IsRequired() + .HasColumnType("text") + .HasColumnName("keyword"); - b.Property("Text") - .IsRequired() - .HasColumnType("text") - .HasColumnName("text"); + b.Property("Text") + .IsRequired() + .HasColumnType("text") + .HasColumnName("text"); - b.HasKey("Id") - .HasName("pk_quotes"); + b.HasKey("Id") + .HasName("pk_quotes"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_quotes_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_quotes_guildid"); - b.HasIndex("Keyword") - .HasDatabaseName("ix_quotes_keyword"); + b.HasIndex("Keyword") + .HasDatabaseName("ix_quotes_keyword"); - b.ToTable("quotes", (string)null); - }); + b.ToTable("quotes", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Emote") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("emote"); + b.Property("Emote") + .HasMaxLength(100) + .HasColumnType("character varying(100)") + .HasColumnName("emote"); - b.Property("Group") - .HasColumnType("integer") - .HasColumnName("group"); + b.Property("Group") + .HasColumnType("integer") + .HasColumnName("group"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("LevelReq") - .HasColumnType("integer") - .HasColumnName("levelreq"); + b.Property("LevelReq") + .HasColumnType("integer") + .HasColumnName("levelreq"); - b.Property("MessageId") - .HasColumnType("numeric(20,0)") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_reactionroles"); + b.HasKey("Id") + .HasName("pk_reactionroles"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_reactionroles_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_reactionroles_guildid"); - b.HasIndex("MessageId", "Emote") - .IsUnique() - .HasDatabaseName("ix_reactionroles_messageid_emote"); + b.HasIndex("MessageId", "Emote") + .IsUnique() + .HasDatabaseName("ix_reactionroles_messageid_emote"); - b.ToTable("reactionroles", (string)null); - }); + b.ToTable("reactionroles", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("IsPrivate") - .HasColumnType("boolean") - .HasColumnName("isprivate"); + b.Property("IsPrivate") + .HasColumnType("boolean") + .HasColumnName("isprivate"); - b.Property("Message") - .HasColumnType("text") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); - b.Property("ServerId") - .HasColumnType("numeric(20,0)") - .HasColumnName("serverid"); + b.Property("ServerId") + .HasColumnType("numeric(20,0)") + .HasColumnName("serverid"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("When") - .HasColumnType("timestamp without time zone") - .HasColumnName("when"); + b.Property("When") + .HasColumnType("timestamp without time zone") + .HasColumnName("when"); - b.HasKey("Id") - .HasName("pk_reminders"); + b.HasKey("Id") + .HasName("pk_reminders"); - b.HasIndex("When") - .HasDatabaseName("ix_reminders_when"); + b.HasIndex("When") + .HasDatabaseName("ix_reminders_when"); - b.ToTable("reminders", (string)null); - }); + b.ToTable("reminders", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Interval") - .HasColumnType("interval") - .HasColumnName("interval"); + b.Property("Interval") + .HasColumnType("interval") + .HasColumnName("interval"); - b.Property("LastMessageId") - .HasColumnType("numeric(20,0)") - .HasColumnName("lastmessageid"); + b.Property("LastMessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("lastmessageid"); - b.Property("Message") - .HasColumnType("text") - .HasColumnName("message"); + b.Property("Message") + .HasColumnType("text") + .HasColumnName("message"); - b.Property("NoRedundant") - .HasColumnType("boolean") - .HasColumnName("noredundant"); + b.Property("NoRedundant") + .HasColumnType("boolean") + .HasColumnName("noredundant"); - b.Property("StartTimeOfDay") - .HasColumnType("interval") - .HasColumnName("starttimeofday"); + b.Property("StartTimeOfDay") + .HasColumnType("interval") + .HasColumnName("starttimeofday"); - b.HasKey("Id") - .HasName("pk_repeaters"); + b.HasKey("Id") + .HasName("pk_repeaters"); - b.ToTable("repeaters", (string)null); - }); + b.ToTable("repeaters", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AmountRewardedThisMonth") - .HasColumnType("bigint") - .HasColumnName("amountrewardedthismonth"); + b.Property("AmountRewardedThisMonth") + .HasColumnType("bigint") + .HasColumnName("amountrewardedthismonth"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("LastReward") - .HasColumnType("timestamp without time zone") - .HasColumnName("lastreward"); + b.Property("LastReward") + .HasColumnType("timestamp without time zone") + .HasColumnName("lastreward"); - b.Property("PlatformUserId") - .HasColumnType("text") - .HasColumnName("platformuserid"); + b.Property("PlatformUserId") + .HasColumnType("text") + .HasColumnName("platformuserid"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_rewardedusers"); + b.HasKey("Id") + .HasName("pk_rewardedusers"); - b.HasIndex("PlatformUserId") - .IsUnique() - .HasDatabaseName("ix_rewardedusers_platformuserid"); + b.HasIndex("PlatformUserId") + .IsUnique() + .HasDatabaseName("ix_rewardedusers_platformuserid"); - b.ToTable("rewardedusers", (string)null); - }); + b.ToTable("rewardedusers", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Status") - .HasColumnType("text") - .HasColumnName("status"); + b.Property("Status") + .HasColumnType("text") + .HasColumnName("status"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_rotatingstatus"); + b.HasKey("Id") + .HasName("pk_rotatingstatus"); - b.ToTable("rotatingstatus", (string)null); - }); + b.ToTable("rotatingstatus", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Group") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasDefaultValue(0) - .HasColumnName("group"); + b.Property("Group") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("group"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("LevelRequirement") - .HasColumnType("integer") - .HasColumnName("levelrequirement"); + b.Property("LevelRequirement") + .HasColumnType("integer") + .HasColumnName("levelrequirement"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_selfassignableroles"); + b.HasKey("Id") + .HasName("pk_selfassignableroles"); - b.HasIndex("GuildId", "RoleId") - .IsUnique() - .HasDatabaseName("ix_selfassignableroles_guildid_roleid"); + b.HasIndex("GuildId", "RoleId") + .IsUnique() + .HasDatabaseName("ix_selfassignableroles_guildid_roleid"); - b.ToTable("selfassignableroles", (string)null); - }); + b.ToTable("selfassignableroles", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AuthorId") - .HasColumnType("numeric(20,0)") - .HasColumnName("authorid"); + b.Property("AuthorId") + .HasColumnType("numeric(20,0)") + .HasColumnName("authorid"); - b.Property("Command") - .HasColumnType("text") - .HasColumnName("command"); + b.Property("Command") + .HasColumnType("text") + .HasColumnName("command"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Index") - .HasColumnType("integer") - .HasColumnName("index"); + b.Property("Index") + .HasColumnType("integer") + .HasColumnName("index"); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.Property("Price") - .HasColumnType("integer") - .HasColumnName("price"); + b.Property("Price") + .HasColumnType("integer") + .HasColumnName("price"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.Property("RoleName") - .HasColumnType("text") - .HasColumnName("rolename"); + b.Property("RoleName") + .HasColumnType("text") + .HasColumnName("rolename"); - b.Property("RoleRequirement") - .HasColumnType("numeric(20,0)") - .HasColumnName("rolerequirement"); + b.Property("RoleRequirement") + .HasColumnType("numeric(20,0)") + .HasColumnName("rolerequirement"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_shopentry"); + b.HasKey("Id") + .HasName("pk_shopentry"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_shopentry_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_shopentry_guildconfigid"); - b.ToTable("shopentry", (string)null); - }); + b.ToTable("shopentry", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("ShopEntryId") - .HasColumnType("integer") - .HasColumnName("shopentryid"); + b.Property("ShopEntryId") + .HasColumnType("integer") + .HasColumnName("shopentryid"); - b.Property("Text") - .HasColumnType("text") - .HasColumnName("text"); + b.Property("Text") + .HasColumnType("text") + .HasColumnName("text"); - b.HasKey("Id") - .HasName("pk_shopentryitem"); + b.HasKey("Id") + .HasName("pk_shopentryitem"); - b.HasIndex("ShopEntryId") - .HasDatabaseName("ix_shopentryitem_shopentryid"); + b.HasIndex("ShopEntryId") + .HasDatabaseName("ix_shopentryitem_shopentryid"); - b.ToTable("shopentryitem", (string)null); - }); + b.ToTable("shopentryitem", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.HasKey("Id") - .HasName("pk_slowmodeignoredrole"); + b.HasKey("Id") + .HasName("pk_slowmodeignoredrole"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoredrole_guildconfigid"); - b.ToTable("slowmodeignoredrole", (string)null); - }); + b.ToTable("slowmodeignoredrole", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_slowmodeignoreduser"); + b.HasKey("Id") + .HasName("pk_slowmodeignoreduser"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_slowmodeignoreduser_guildconfigid"); - b.ToTable("slowmodeignoreduser", (string)null); - }); + b.ToTable("slowmodeignoreduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("RoleIds") - .HasColumnType("text") - .HasColumnName("roleids"); + b.Property("RoleIds") + .HasColumnType("text") + .HasColumnName("roleids"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_stickyroles"); + b.HasKey("Id") + .HasName("pk_stickyroles"); - b.HasIndex("GuildId", "UserId") - .IsUnique() - .HasDatabaseName("ix_stickyroles_guildid_userid"); + b.HasIndex("GuildId", "UserId") + .IsUnique() + .HasDatabaseName("ix_stickyroles_guildid_userid"); - b.ToTable("stickyroles", (string)null); - }); + b.ToTable("stickyroles", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("channelid"); + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("MessageId") - .HasColumnType("numeric(20,0)") - .HasColumnName("messageid"); + b.Property("MessageId") + .HasColumnType("numeric(20,0)") + .HasColumnName("messageid"); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.Property("Type") - .HasColumnType("integer") - .HasColumnName("type"); + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); - b.HasKey("Id") - .HasName("pk_streamonlinemessages"); + b.HasKey("Id") + .HasName("pk_streamonlinemessages"); - b.ToTable("streamonlinemessages", (string)null); - }); + b.ToTable("streamonlinemessages", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("StreamRoleSettingsId") - .HasColumnType("integer") - .HasColumnName("streamrolesettingsid"); + b.Property("StreamRoleSettingsId") + .HasColumnType("integer") + .HasColumnName("streamrolesettingsid"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("Username") - .HasColumnType("text") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_streamroleblacklisteduser"); + b.HasKey("Id") + .HasName("pk_streamroleblacklisteduser"); - b.HasIndex("StreamRoleSettingsId") - .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid"); + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamroleblacklisteduser_streamrolesettingsid"); - b.ToTable("streamroleblacklisteduser", (string)null); - }); + b.ToTable("streamroleblacklisteduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AddRoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("addroleid"); + b.Property("AddRoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("addroleid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Enabled") - .HasColumnType("boolean") - .HasColumnName("enabled"); + b.Property("Enabled") + .HasColumnType("boolean") + .HasColumnName("enabled"); - b.Property("FromRoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("fromroleid"); + b.Property("FromRoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("fromroleid"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Keyword") - .HasColumnType("text") - .HasColumnName("keyword"); + b.Property("Keyword") + .HasColumnType("text") + .HasColumnName("keyword"); - b.HasKey("Id") - .HasName("pk_streamrolesettings"); + b.HasKey("Id") + .HasName("pk_streamrolesettings"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_streamrolesettings_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_streamrolesettings_guildconfigid"); - b.ToTable("streamrolesettings", (string)null); - }); + b.ToTable("streamrolesettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("StreamRoleSettingsId") - .HasColumnType("integer") - .HasColumnName("streamrolesettingsid"); + b.Property("StreamRoleSettingsId") + .HasColumnType("integer") + .HasColumnName("streamrolesettingsid"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("Username") - .HasColumnType("text") - .HasColumnName("username"); + b.Property("Username") + .HasColumnType("text") + .HasColumnName("username"); - b.HasKey("Id") - .HasName("pk_streamrolewhitelisteduser"); + b.HasKey("Id") + .HasName("pk_streamrolewhitelisteduser"); - b.HasIndex("StreamRoleSettingsId") - .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid"); + b.HasIndex("StreamRoleSettingsId") + .HasDatabaseName("ix_streamrolewhitelisteduser_streamrolesettingsid"); - b.ToTable("streamrolewhitelisteduser", (string)null); - }); + b.ToTable("streamrolewhitelisteduser", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("ArchiveId") - .HasColumnType("integer") - .HasColumnName("archiveid"); + b.Property("ArchiveId") + .HasColumnType("integer") + .HasColumnName("archiveid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("IsDone") - .HasColumnType("boolean") - .HasColumnName("isdone"); + b.Property("IsDone") + .HasColumnType("boolean") + .HasColumnName("isdone"); - b.Property("Todo") - .HasColumnType("text") - .HasColumnName("todo"); + b.Property("Todo") + .HasColumnType("text") + .HasColumnName("todo"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_todos"); + b.HasKey("Id") + .HasName("pk_todos"); - b.HasIndex("ArchiveId") - .HasDatabaseName("ix_todos_archiveid"); + b.HasIndex("ArchiveId") + .HasDatabaseName("ix_todos_archiveid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_todos_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_todos_userid"); - b.ToTable("todos", (string)null); - }); + b.ToTable("todos", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("UnbanAt") - .HasColumnType("timestamp without time zone") - .HasColumnName("unbanat"); + b.Property("UnbanAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("unbanat"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_unbantimer"); + b.HasKey("Id") + .HasName("pk_unbantimer"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_unbantimer_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unbantimer_guildconfigid"); - b.ToTable("unbantimer", (string)null); - }); + b.ToTable("unbantimer", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("UnmuteAt") - .HasColumnType("timestamp without time zone") - .HasColumnName("unmuteat"); + b.Property("UnmuteAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("unmuteat"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_unmutetimer"); + b.HasKey("Id") + .HasName("pk_unmutetimer"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_unmutetimer_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unmutetimer_guildconfigid"); - b.ToTable("unmutetimer", (string)null); - }); + b.ToTable("unmutetimer", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.Property("UnbanAt") - .HasColumnType("timestamp without time zone") - .HasColumnName("unbanat"); + b.Property("UnbanAt") + .HasColumnType("timestamp without time zone") + .HasColumnName("unbanat"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_unroletimer"); + b.HasKey("Id") + .HasName("pk_unroletimer"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_unroletimer_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_unroletimer_guildconfigid"); - b.ToTable("unroletimer", (string)null); - }); + b.ToTable("unroletimer", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AwardedXp") - .HasColumnType("bigint") - .HasColumnName("awardedxp"); + b.Property("AwardedXp") + .HasColumnType("bigint") + .HasColumnName("awardedxp"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("NotifyOnLevelUp") - .HasColumnType("integer") - .HasColumnName("notifyonlevelup"); + b.Property("NotifyOnLevelUp") + .HasColumnType("integer") + .HasColumnName("notifyonlevelup"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("Xp") - .HasColumnType("bigint") - .HasColumnName("xp"); + b.Property("Xp") + .HasColumnType("bigint") + .HasColumnName("xp"); - b.HasKey("Id") - .HasName("pk_userxpstats"); + b.HasKey("Id") + .HasName("pk_userxpstats"); - b.HasIndex("AwardedXp") - .HasDatabaseName("ix_userxpstats_awardedxp"); + b.HasIndex("AwardedXp") + .HasDatabaseName("ix_userxpstats_awardedxp"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_userxpstats_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_userxpstats_guildid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_userxpstats_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_userxpstats_userid"); - b.HasIndex("Xp") - .HasDatabaseName("ix_userxpstats_xp"); + b.HasIndex("Xp") + .HasDatabaseName("ix_userxpstats_xp"); - b.HasIndex("UserId", "GuildId") - .IsUnique() - .HasDatabaseName("ix_userxpstats_userid_guildid"); + b.HasIndex("UserId", "GuildId") + .IsUnique() + .HasDatabaseName("ix_userxpstats_userid_guildid"); - b.ToTable("userxpstats", (string)null); - }); + b.ToTable("userxpstats", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.Property("VoiceChannelId") - .HasColumnType("numeric(20,0)") - .HasColumnName("voicechannelid"); + b.Property("VoiceChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("voicechannelid"); - b.HasKey("Id") - .HasName("pk_vcroleinfo"); + b.HasKey("Id") + .HasName("pk_vcroleinfo"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_vcroleinfo_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_vcroleinfo_guildconfigid"); - b.ToTable("vcroleinfo", (string)null); - }); + b.ToTable("vcroleinfo", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("AffinityId") - .HasColumnType("integer") - .HasColumnName("affinityid"); + b.Property("AffinityId") + .HasColumnType("integer") + .HasColumnName("affinityid"); - b.Property("ClaimerId") - .HasColumnType("integer") - .HasColumnName("claimerid"); + b.Property("ClaimerId") + .HasColumnType("integer") + .HasColumnName("claimerid"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Price") - .HasColumnType("bigint") - .HasColumnName("price"); + b.Property("Price") + .HasColumnType("bigint") + .HasColumnName("price"); - b.Property("WaifuId") - .HasColumnType("integer") - .HasColumnName("waifuid"); + b.Property("WaifuId") + .HasColumnType("integer") + .HasColumnName("waifuid"); - b.HasKey("Id") - .HasName("pk_waifuinfo"); + b.HasKey("Id") + .HasName("pk_waifuinfo"); - b.HasIndex("AffinityId") - .HasDatabaseName("ix_waifuinfo_affinityid"); + b.HasIndex("AffinityId") + .HasDatabaseName("ix_waifuinfo_affinityid"); - b.HasIndex("ClaimerId") - .HasDatabaseName("ix_waifuinfo_claimerid"); + b.HasIndex("ClaimerId") + .HasDatabaseName("ix_waifuinfo_claimerid"); - b.HasIndex("Price") - .HasDatabaseName("ix_waifuinfo_price"); + b.HasIndex("Price") + .HasDatabaseName("ix_waifuinfo_price"); - b.HasIndex("WaifuId") - .IsUnique() - .HasDatabaseName("ix_waifuinfo_waifuid"); + b.HasIndex("WaifuId") + .IsUnique() + .HasDatabaseName("ix_waifuinfo_waifuid"); - b.ToTable("waifuinfo", (string)null); - }); + b.ToTable("waifuinfo", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("ItemEmoji") - .HasColumnType("text") - .HasColumnName("itememoji"); + b.Property("ItemEmoji") + .HasColumnType("text") + .HasColumnName("itememoji"); - b.Property("Name") - .HasColumnType("text") - .HasColumnName("name"); + b.Property("Name") + .HasColumnType("text") + .HasColumnName("name"); - b.Property("WaifuInfoId") - .HasColumnType("integer") - .HasColumnName("waifuinfoid"); + b.Property("WaifuInfoId") + .HasColumnType("integer") + .HasColumnName("waifuinfoid"); - b.HasKey("Id") - .HasName("pk_waifuitem"); + b.HasKey("Id") + .HasName("pk_waifuitem"); - b.HasIndex("WaifuInfoId") - .HasDatabaseName("ix_waifuitem_waifuinfoid"); + b.HasIndex("WaifuInfoId") + .HasDatabaseName("ix_waifuitem_waifuinfoid"); - b.ToTable("waifuitem", (string)null); - }); + b.ToTable("waifuitem", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("NewId") - .HasColumnType("integer") - .HasColumnName("newid"); + b.Property("NewId") + .HasColumnType("integer") + .HasColumnName("newid"); - b.Property("OldId") - .HasColumnType("integer") - .HasColumnName("oldid"); + b.Property("OldId") + .HasColumnType("integer") + .HasColumnName("oldid"); - b.Property("UpdateType") - .HasColumnType("integer") - .HasColumnName("updatetype"); + b.Property("UpdateType") + .HasColumnType("integer") + .HasColumnName("updatetype"); - b.Property("UserId") - .HasColumnType("integer") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("integer") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_waifuupdates"); + b.HasKey("Id") + .HasName("pk_waifuupdates"); - b.HasIndex("NewId") - .HasDatabaseName("ix_waifuupdates_newid"); + b.HasIndex("NewId") + .HasDatabaseName("ix_waifuupdates_newid"); - b.HasIndex("OldId") - .HasDatabaseName("ix_waifuupdates_oldid"); + b.HasIndex("OldId") + .HasDatabaseName("ix_waifuupdates_oldid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_waifuupdates_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_waifuupdates_userid"); - b.ToTable("waifuupdates", (string)null); - }); + b.ToTable("waifuupdates", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.Warning", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Forgiven") - .HasColumnType("boolean") - .HasColumnName("forgiven"); + b.Property("Forgiven") + .HasColumnType("boolean") + .HasColumnName("forgiven"); - b.Property("ForgivenBy") - .HasColumnType("text") - .HasColumnName("forgivenby"); + b.Property("ForgivenBy") + .HasColumnType("text") + .HasColumnName("forgivenby"); - b.Property("GuildId") - .HasColumnType("numeric(20,0)") - .HasColumnName("guildid"); + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); - b.Property("Moderator") - .HasColumnType("text") - .HasColumnName("moderator"); + b.Property("Moderator") + .HasColumnType("text") + .HasColumnName("moderator"); - b.Property("Reason") - .HasColumnType("text") - .HasColumnName("reason"); + b.Property("Reason") + .HasColumnType("text") + .HasColumnName("reason"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.Property("Weight") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasDefaultValue(1L) - .HasColumnName("weight"); + b.Property("Weight") + .ValueGeneratedOnAdd() + .HasColumnType("bigint") + .HasDefaultValue(1L) + .HasColumnName("weight"); - b.HasKey("Id") - .HasName("pk_warnings"); + b.HasKey("Id") + .HasName("pk_warnings"); - b.HasIndex("DateAdded") - .HasDatabaseName("ix_warnings_dateadded"); + b.HasIndex("DateAdded") + .HasDatabaseName("ix_warnings_dateadded"); - b.HasIndex("GuildId") - .HasDatabaseName("ix_warnings_guildid"); + b.HasIndex("GuildId") + .HasDatabaseName("ix_warnings_guildid"); - b.HasIndex("UserId") - .HasDatabaseName("ix_warnings_userid"); + b.HasIndex("UserId") + .HasDatabaseName("ix_warnings_userid"); - b.ToTable("warnings", (string)null); - }); + b.ToTable("warnings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Count") - .HasColumnType("integer") - .HasColumnName("count"); + b.Property("Count") + .HasColumnType("integer") + .HasColumnName("count"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("Punishment") - .HasColumnType("integer") - .HasColumnName("punishment"); + b.Property("Punishment") + .HasColumnType("integer") + .HasColumnName("punishment"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.Property("Time") - .HasColumnType("integer") - .HasColumnName("time"); + b.Property("Time") + .HasColumnType("integer") + .HasColumnName("time"); - b.HasKey("Id") - .HasName("pk_warningpunishment"); + b.HasKey("Id") + .HasName("pk_warningpunishment"); - b.HasIndex("GuildConfigId") - .HasDatabaseName("ix_warningpunishment_guildconfigid"); + b.HasIndex("GuildConfigId") + .HasDatabaseName("ix_warningpunishment_guildconfigid"); - b.ToTable("warningpunishment", (string)null); - }); + b.ToTable("warningpunishment", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("Amount") - .HasColumnType("integer") - .HasColumnName("amount"); + b.Property("Amount") + .HasColumnType("integer") + .HasColumnName("amount"); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Level") - .HasColumnType("integer") - .HasColumnName("level"); + b.Property("Level") + .HasColumnType("integer") + .HasColumnName("level"); - b.Property("XpSettingsId") - .HasColumnType("integer") - .HasColumnName("xpsettingsid"); + b.Property("XpSettingsId") + .HasColumnType("integer") + .HasColumnName("xpsettingsid"); - b.HasKey("Id") - .HasName("pk_xpcurrencyreward"); + b.HasKey("Id") + .HasName("pk_xpcurrencyreward"); - b.HasIndex("XpSettingsId") - .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid"); + b.HasIndex("XpSettingsId") + .HasDatabaseName("ix_xpcurrencyreward_xpsettingsid"); - b.ToTable("xpcurrencyreward", (string)null); - }); + b.ToTable("xpcurrencyreward", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("Level") - .HasColumnType("integer") - .HasColumnName("level"); + b.Property("Level") + .HasColumnType("integer") + .HasColumnName("level"); - b.Property("Remove") - .HasColumnType("boolean") - .HasColumnName("remove"); + b.Property("Remove") + .HasColumnType("boolean") + .HasColumnName("remove"); - b.Property("RoleId") - .HasColumnType("numeric(20,0)") - .HasColumnName("roleid"); + b.Property("RoleId") + .HasColumnType("numeric(20,0)") + .HasColumnName("roleid"); - b.Property("XpSettingsId") - .HasColumnType("integer") - .HasColumnName("xpsettingsid"); + b.Property("XpSettingsId") + .HasColumnType("integer") + .HasColumnName("xpsettingsid"); - b.HasKey("Id") - .HasName("pk_xprolereward"); + b.HasKey("Id") + .HasName("pk_xprolereward"); - b.HasIndex("XpSettingsId", "Level") - .IsUnique() - .HasDatabaseName("ix_xprolereward_xpsettingsid_level"); + b.HasIndex("XpSettingsId", "Level") + .IsUnique() + .HasDatabaseName("ix_xprolereward_xpsettingsid_level"); - b.ToTable("xprolereward", (string)null); - }); + b.ToTable("xprolereward", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("GuildConfigId") - .HasColumnType("integer") - .HasColumnName("guildconfigid"); + b.Property("GuildConfigId") + .HasColumnType("integer") + .HasColumnName("guildconfigid"); - b.Property("ServerExcluded") - .HasColumnType("boolean") - .HasColumnName("serverexcluded"); + b.Property("ServerExcluded") + .HasColumnType("boolean") + .HasColumnName("serverexcluded"); - b.HasKey("Id") - .HasName("pk_xpsettings"); + b.HasKey("Id") + .HasName("pk_xpsettings"); - b.HasIndex("GuildConfigId") - .IsUnique() - .HasDatabaseName("ix_xpsettings_guildconfigid"); + b.HasIndex("GuildConfigId") + .IsUnique() + .HasDatabaseName("ix_xpsettings_guildconfigid"); - b.ToTable("xpsettings", (string)null); - }); + b.ToTable("xpsettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer") - .HasColumnName("id"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - b.Property("DateAdded") - .HasColumnType("timestamp without time zone") - .HasColumnName("dateadded"); + b.Property("DateAdded") + .HasColumnType("timestamp without time zone") + .HasColumnName("dateadded"); - b.Property("IsUsing") - .HasColumnType("boolean") - .HasColumnName("isusing"); + b.Property("IsUsing") + .HasColumnType("boolean") + .HasColumnName("isusing"); - b.Property("ItemKey") - .IsRequired() - .HasColumnType("text") - .HasColumnName("itemkey"); + b.Property("ItemKey") + .IsRequired() + .HasColumnType("text") + .HasColumnName("itemkey"); - b.Property("ItemType") - .HasColumnType("integer") - .HasColumnName("itemtype"); + b.Property("ItemType") + .HasColumnType("integer") + .HasColumnName("itemtype"); - b.Property("UserId") - .HasColumnType("numeric(20,0)") - .HasColumnName("userid"); + b.Property("UserId") + .HasColumnType("numeric(20,0)") + .HasColumnName("userid"); - b.HasKey("Id") - .HasName("pk_xpshopowneditem"); + b.HasKey("Id") + .HasName("pk_xpshopowneditem"); - b.HasIndex("UserId", "ItemType", "ItemKey") - .IsUnique() - .HasDatabaseName("ix_xpshopowneditem_userid_itemtype_itemkey"); + b.HasIndex("UserId", "ItemType", "ItemKey") + .IsUnique() + .HasDatabaseName("ix_xpshopowneditem_userid_itemtype_itemkey"); - b.ToTable("xpshopowneditem", (string)null); - }); + b.ToTable("xpshopowneditem", (string)null); + }); + + modelBuilder.Entity("EllieBot.Services.GreetSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoDeleteTimer") + .HasColumnType("integer") + .HasColumnName("autodeletetimer"); + + b.Property("ChannelId") + .HasColumnType("numeric(20,0)") + .HasColumnName("channelid"); + + b.Property("GreetType") + .HasColumnType("integer") + .HasColumnName("greettype"); + + b.Property("GuildId") + .HasColumnType("numeric(20,0)") + .HasColumnName("guildid"); + + b.Property("IsEnabled") + .HasColumnType("boolean") + .HasColumnName("isenabled"); + + b.Property("MessageText") + .HasColumnType("text") + .HasColumnName("messagetext"); + + b.HasKey("Id") + .HasName("pk_greetsettings"); + + b.HasIndex("GuildId", "GreetType") + .IsUnique() + .HasDatabaseName("ix_greetsettings_guildid_greettype"); + + b.ToTable("greetsettings", (string)null); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiAltSetting") - .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiAltSetting") + .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antialtsetting_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiRaidSetting") - .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiRaidSetting") + .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antiraidsetting_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => - { - b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) - .WithMany("IgnoredChannels") - .HasForeignKey("AntiSpamSettingId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_antispamignore_antispamsetting_antispamsettingid"); - }); + { + b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_antispamignore_antispamsetting_antispamsettingid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiSpamSetting") - .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiSpamSetting") + .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_antispamsetting_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => - { - b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") - .WithMany("Users") - .HasForeignKey("ChannelId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_autotranslateusers_autotranslatechannels_channelid"); + { + b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") + .WithMany("Users") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_autotranslateusers_autotranslatechannels_channelid"); - b.Navigation("Channel"); - }); + b.Navigation("Channel"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Applicants") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubapplicants_clubs_clubid"); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Applicants") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_clubs_clubid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubapplicants_discorduser_userid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubapplicants_discorduser_userid"); - b.Navigation("Club"); + b.Navigation("Club"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Bans") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubbans_clubs_clubid"); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Bans") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_clubs_clubid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_clubbans_discorduser_userid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_clubbans_discorduser_userid"); - b.Navigation("Club"); + b.Navigation("Club"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") - .WithOne() - .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("fk_clubs_discorduser_ownerid"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("fk_clubs_discorduser_ownerid"); - b.Navigation("Owner"); - }); + b.Navigation("Owner"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("CommandAliases") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandalias_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("CommandCooldowns") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_commandcooldown_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("DelMsgOnCmdChannels") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("DelMsgOnCmdChannels") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_delmsgoncmdchannel_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Members") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.NoAction) - .HasConstraintName("fk_discorduser_clubs_clubid"); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Members") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.NoAction) + .HasConstraintName("fk_discorduser_clubs_clubid"); - b.Navigation("Club"); - }); + b.Navigation("Club"); + }); modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("ExclusionList") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid"); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("ExclusionList") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_excludeditem_xpsettings_xpsettingsid"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("FeedSubs") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("FeedSubs") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_feedsub_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterchannelid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterLinksChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterLinksChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterlinkschannelid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filterwordschannelid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_filteredword_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_followedstream_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("GenerateCurrencyChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_gcchannelid_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => - { - b.HasOne("EllieBot.Db.Models.GiveawayModel", null) - .WithMany("Participants") - .HasForeignKey("GiveawayId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_giveawayuser_giveawaymodel_giveawayid"); - }); + { + b.HasOne("EllieBot.Db.Models.GiveawayModel", null) + .WithMany("Participants") + .HasForeignKey("GiveawayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_giveawayuser_giveawaymodel_giveawayid"); + }); modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("SelfAssignableRoleGroupNames") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_groupname_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("SelfAssignableRoleGroupNames") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_groupname_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => - { - b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") - .WithMany("LogIgnores") - .HasForeignKey("LogSettingId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_ignoredlogchannels_logsettings_logsettingid"); + { + b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") + .WithMany("LogIgnores") + .HasForeignKey("LogSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_ignoredlogchannels_logsettings_logsettingid"); - b.Navigation("LogSetting"); - }); + b.Navigation("LogSetting"); + }); modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("MutedUsers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_muteduserid_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("Permissions") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_permissions_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("Permissions") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_permissions_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => - { - b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_playlistsong_musicplaylists_musicplaylistid"); - }); + { + b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_playlistsong_musicplaylists_musicplaylistid"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("ShopEntries") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentry_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => - { - b.HasOne("EllieBot.Db.Models.ShopEntry", null) - .WithMany("Items") - .HasForeignKey("ShopEntryId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_shopentryitem_shopentry_shopentryid"); - }); + { + b.HasOne("EllieBot.Db.Models.ShopEntry", null) + .WithMany("Items") + .HasForeignKey("ShopEntryId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_shopentryitem_shopentry_shopentryid"); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("SlowmodeIgnoredRoles") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoredrole_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("SlowmodeIgnoredUsers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_slowmodeignoreduser_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => - { - b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") - .WithMany("Blacklist") - .HasForeignKey("StreamRoleSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_streamroleblacklisteduser_streamrolesettings_streamrolesett~"); + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Blacklist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamroleblacklisteduser_streamrolesettings_streamrolesett~"); - b.Navigation("StreamRoleSettings"); - }); + b.Navigation("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithOne("StreamRole") - .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("StreamRole") + .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolesettings_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => - { - b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") - .WithMany("Whitelist") - .HasForeignKey("StreamRoleSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_streamrolewhitelisteduser_streamrolesettings_streamrolesett~"); + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Whitelist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_streamrolewhitelisteduser_streamrolesettings_streamrolesett~"); - b.Navigation("StreamRoleSettings"); - }); + b.Navigation("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => - { - b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) - .WithMany("Items") - .HasForeignKey("ArchiveId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_todos_todosarchive_archiveid"); - }); + { + b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) + .WithMany("Items") + .HasForeignKey("ArchiveId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_todos_todosarchive_archiveid"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnbanTimer") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnbanTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unbantimer_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnmuteTimers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unmutetimer_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnroleTimer") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnroleTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_unroletimer_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("VcRoleInfos") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_vcroleinfo_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") - .WithMany() - .HasForeignKey("AffinityId") - .HasConstraintName("fk_waifuinfo_discorduser_affinityid"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId") + .HasConstraintName("fk_waifuinfo_discorduser_affinityid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") - .WithMany() - .HasForeignKey("ClaimerId") - .HasConstraintName("fk_waifuinfo_discorduser_claimerid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId") + .HasConstraintName("fk_waifuinfo_discorduser_claimerid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") - .WithOne() - .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_waifuinfo_discorduser_waifuid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuinfo_discorduser_waifuid"); - b.Navigation("Affinity"); + b.Navigation("Affinity"); - b.Navigation("Claimer"); + b.Navigation("Claimer"); - b.Navigation("Waifu"); - }); + b.Navigation("Waifu"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => - { - b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") - .WithMany("Items") - .HasForeignKey("WaifuInfoId") - .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid"); + { + b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") + .WithMany("Items") + .HasForeignKey("WaifuInfoId") + .HasConstraintName("fk_waifuitem_waifuinfo_waifuinfoid"); - b.Navigation("WaifuInfo"); - }); + b.Navigation("WaifuInfo"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "New") - .WithMany() - .HasForeignKey("NewId") - .HasConstraintName("fk_waifuupdates_discorduser_newid"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId") + .HasConstraintName("fk_waifuupdates_discorduser_newid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") - .WithMany() - .HasForeignKey("OldId") - .HasConstraintName("fk_waifuupdates_discorduser_oldid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId") + .HasConstraintName("fk_waifuupdates_discorduser_oldid"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_waifuupdates_discorduser_userid"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_waifuupdates_discorduser_userid"); - b.Navigation("New"); + b.Navigation("New"); - b.Navigation("Old"); + b.Navigation("Old"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("WarnPunishments") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_warningpunishment_guildconfigs_guildconfigid"); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("fk_warningpunishment_guildconfigs_guildconfigid"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("CurrencyRewards") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_xpcurrencyreward_xpsettings_xpsettingsid"); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("CurrencyRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpcurrencyreward_xpsettings_xpsettingsid"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("RoleRewards") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_xprolereward_xpsettings_xpsettingsid"); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("RoleRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xprolereward_xpsettings_xpsettingsid"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithOne("XpSettings") - .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid"); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("XpSettings") + .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_xpsettings_guildconfigs_guildconfigid"); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.Navigation("IgnoredChannels"); - }); + { + b.Navigation("IgnoredChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => - { - b.Navigation("Users"); - }); + { + b.Navigation("Users"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.Navigation("Applicants"); + { + b.Navigation("Applicants"); - b.Navigation("Bans"); + b.Navigation("Bans"); - b.Navigation("Members"); - }); + b.Navigation("Members"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => - { - b.Navigation("Participants"); - }); + { + b.Navigation("Participants"); + }); modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => - { - b.Navigation("AntiAltSetting"); + { + b.Navigation("AntiAltSetting"); - b.Navigation("AntiRaidSetting"); + b.Navigation("AntiRaidSetting"); - b.Navigation("AntiSpamSetting"); + b.Navigation("AntiSpamSetting"); - b.Navigation("CommandAliases"); + b.Navigation("CommandAliases"); - b.Navigation("CommandCooldowns"); + b.Navigation("CommandCooldowns"); - b.Navigation("DelMsgOnCmdChannels"); + b.Navigation("DelMsgOnCmdChannels"); - b.Navigation("FeedSubs"); + b.Navigation("FeedSubs"); - b.Navigation("FilterInvitesChannelIds"); + b.Navigation("FilterInvitesChannelIds"); - b.Navigation("FilterLinksChannelIds"); + b.Navigation("FilterLinksChannelIds"); - b.Navigation("FilterWordsChannelIds"); + b.Navigation("FilterWordsChannelIds"); - b.Navigation("FilteredWords"); + b.Navigation("FilteredWords"); - b.Navigation("FollowedStreams"); + b.Navigation("FollowedStreams"); - b.Navigation("GenerateCurrencyChannelIds"); + b.Navigation("GenerateCurrencyChannelIds"); - b.Navigation("MutedUsers"); + b.Navigation("MutedUsers"); - b.Navigation("Permissions"); + b.Navigation("Permissions"); - b.Navigation("SelfAssignableRoleGroupNames"); + b.Navigation("SelfAssignableRoleGroupNames"); - b.Navigation("ShopEntries"); + b.Navigation("ShopEntries"); - b.Navigation("SlowmodeIgnoredRoles"); + b.Navigation("SlowmodeIgnoredRoles"); - b.Navigation("SlowmodeIgnoredUsers"); + b.Navigation("SlowmodeIgnoredUsers"); - b.Navigation("StreamRole"); + b.Navigation("StreamRole"); - b.Navigation("UnbanTimer"); + b.Navigation("UnbanTimer"); - b.Navigation("UnmuteTimers"); + b.Navigation("UnmuteTimers"); - b.Navigation("UnroleTimer"); + b.Navigation("UnroleTimer"); - b.Navigation("VcRoleInfos"); + b.Navigation("VcRoleInfos"); - b.Navigation("WarnPunishments"); + b.Navigation("WarnPunishments"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => - { - b.Navigation("LogIgnores"); - }); + { + b.Navigation("LogIgnores"); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => - { - b.Navigation("Songs"); - }); + { + b.Navigation("Songs"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.Navigation("Blacklist"); + { + b.Navigation("Blacklist"); - b.Navigation("Whitelist"); - }); + b.Navigation("Whitelist"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.Navigation("CurrencyRewards"); + { + b.Navigation("CurrencyRewards"); - b.Navigation("ExclusionList"); + b.Navigation("ExclusionList"); - b.Navigation("RoleRewards"); - }); + b.Navigation("RoleRewards"); + }); #pragma warning restore 612, 618 } } diff --git a/src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.Designer.cs b/src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.Designer.cs new file mode 100644 index 0000000..54ccb84 --- /dev/null +++ b/src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.Designer.cs @@ -0,0 +1,2925 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using EllieBot.Db; + +#nullable disable + +namespace EllieBot.Migrations +{ + [DbContext(typeof(SqliteContext))] + [Migration("20240911104847_greet-settings")] + partial class greetsettings + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "8.0.8"); + + modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Action") + .HasColumnType("INTEGER"); + + b.Property("ActionDurationMinutes") + .HasColumnType("INTEGER"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("MinAge") + .HasColumnType("TEXT"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("AntiAltSetting"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Action") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("PunishDuration") + .HasColumnType("INTEGER"); + + b.Property("Seconds") + .HasColumnType("INTEGER"); + + b.Property("UserThreshold") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("AntiRaidSetting"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AntiSpamSettingId") + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("AntiSpamSettingId"); + + b.ToTable("AntiSpamIgnore"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Action") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("MessageThreshold") + .HasColumnType("INTEGER"); + + b.Property("MuteTime") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("AntiSpamSetting"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("TodosArchive"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("ChannelName") + .HasColumnType("TEXT"); + + b.Property("CommandText") + .HasColumnType("TEXT"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("GuildName") + .HasColumnType("TEXT"); + + b.Property("Interval") + .HasColumnType("INTEGER"); + + b.Property("VoiceChannelId") + .HasColumnType("INTEGER"); + + b.Property("VoiceChannelName") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("AutoCommands"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("AutoPublishChannel"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AutoDelete") + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.HasIndex("GuildId"); + + b.ToTable("AutoTranslateChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Source") + .HasColumnType("TEXT"); + + b.Property("Target") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasAlternateKey("ChannelId", "UserId"); + + b.ToTable("AutoTranslateUsers"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("PruneDays") + .HasColumnType("INTEGER"); + + b.Property("Text") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("BanTemplates"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BankUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Balance") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("BankUsers"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("ItemId") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("Blacklist"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => + { + b.Property("ClubId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("ClubId", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("ClubApplicants"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => + { + b.Property("ClubId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("ClubId", "UserId"); + + b.HasIndex("UserId"); + + b.ToTable("ClubBans"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Description") + .HasColumnType("TEXT"); + + b.Property("ImageUrl") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasMaxLength(20) + .HasColumnType("TEXT"); + + b.Property("OwnerId") + .HasColumnType("INTEGER"); + + b.Property("Xp") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.HasIndex("OwnerId") + .IsUnique(); + + b.ToTable("Clubs"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Mapping") + .HasColumnType("TEXT"); + + b.Property("Trigger") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandAlias"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("CommandName") + .HasColumnType("TEXT"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Seconds") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandCooldown"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Amount") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Extra") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Note") + .HasColumnType("TEXT"); + + b.Property("OtherId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValueSql("NULL"); + + b.Property("Type") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("CurrencyTransactions"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("State") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("DelMsgOnCmdChannel"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Command") + .HasColumnType("TEXT"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Perm") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "Command") + .IsUnique(); + + b.ToTable("DiscordPermOverrides"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AvatarId") + .HasColumnType("TEXT"); + + b.Property("ClubId") + .HasColumnType("INTEGER"); + + b.Property("CurrencyAmount") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0L); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Discriminator") + .HasColumnType("TEXT"); + + b.Property("IsClubAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(false); + + b.Property("NotifyOnLevelUp") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0); + + b.Property("TotalXp") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0L); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("Username") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasAlternateKey("UserId"); + + b.HasIndex("ClubId"); + + b.HasIndex("CurrencyAmount"); + + b.HasIndex("TotalXp"); + + b.HasIndex("UserId"); + + b.ToTable("DiscordUser"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("ItemId") + .HasColumnType("INTEGER"); + + b.Property("ItemType") + .HasColumnType("INTEGER"); + + b.Property("XpSettingsId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("XpSettingsId"); + + b.ToTable("ExcludedItem"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Message") + .HasColumnType("TEXT"); + + b.Property("Url") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasAlternateKey("GuildConfigId", "Url"); + + b.ToTable("FeedSub"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilterLinksChannelId"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilterWordsChannelId"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Word") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Message") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("Username") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("GCChannelId"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Bet") + .HasColumnType("TEXT"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Feature") + .HasColumnType("TEXT"); + + b.Property("PaidOut") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("Feature") + .IsUnique(); + + b.ToTable("GamblingStats"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("EndsAt") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Message") + .HasColumnType("TEXT"); + + b.Property("MessageId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("GiveawayModel"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("GiveawayId") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GiveawayId", "UserId") + .IsUnique(); + + b.ToTable("GiveawayUser"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Number") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId", "Number") + .IsUnique(); + + b.ToTable("GroupName"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AutoAssignRoleIds") + .HasColumnType("TEXT"); + + b.Property("AutoDeleteSelfAssignedRoleMessages") + .HasColumnType("INTEGER"); + + b.Property("CleverbotEnabled") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("DeleteMessageOnCommand") + .HasColumnType("INTEGER"); + + b.Property("DeleteStreamOnlineMessage") + .HasColumnType("INTEGER"); + + b.Property("DisableGlobalExpressions") + .HasColumnType("INTEGER"); + + b.Property("ExclusiveSelfAssignedRoles") + .HasColumnType("INTEGER"); + + b.Property("FilterInvites") + .HasColumnType("INTEGER"); + + b.Property("FilterLinks") + .HasColumnType("INTEGER"); + + b.Property("FilterWords") + .HasColumnType("INTEGER"); + + b.Property("GameVoiceChannel") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Locale") + .HasColumnType("TEXT"); + + b.Property("MuteRoleName") + .HasColumnType("TEXT"); + + b.Property("NotifyStreamOffline") + .HasColumnType("INTEGER"); + + b.Property("PermissionRole") + .HasColumnType("TEXT"); + + b.Property("Prefix") + .HasColumnType("TEXT"); + + b.Property("StickyRoles") + .HasColumnType("INTEGER"); + + b.Property("TimeZoneId") + .HasColumnType("TEXT"); + + b.Property("VerboseErrors") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(true); + + b.Property("VerbosePermissions") + .HasColumnType("INTEGER"); + + b.Property("WarnExpireAction") + .HasColumnType("INTEGER"); + + b.Property("WarnExpireHours") + .HasColumnType("INTEGER"); + + b.Property("WarningsInitialized") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("WarnExpireHours"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b => + { + b.Property("GuildId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.HasKey("GuildId"); + + b.ToTable("HoneyPotChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("ItemType") + .HasColumnType("INTEGER"); + + b.Property("LogItemId") + .HasColumnType("INTEGER"); + + b.Property("LogSettingId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId", "LogItemId", "ItemType") + .IsUnique(); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("ImageOnlyChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelCreatedId") + .HasColumnType("INTEGER"); + + b.Property("ChannelDestroyedId") + .HasColumnType("INTEGER"); + + b.Property("ChannelUpdatedId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("LogOtherId") + .HasColumnType("INTEGER"); + + b.Property("LogUserPresenceId") + .HasColumnType("INTEGER"); + + b.Property("LogVoicePresenceId") + .HasColumnType("INTEGER"); + + b.Property("LogVoicePresenceTTSId") + .HasColumnType("INTEGER"); + + b.Property("LogWarnsId") + .HasColumnType("INTEGER"); + + b.Property("MessageDeletedId") + .HasColumnType("INTEGER"); + + b.Property("MessageUpdatedId") + .HasColumnType("INTEGER"); + + b.Property("ThreadCreatedId") + .HasColumnType("INTEGER"); + + b.Property("ThreadDeletedId") + .HasColumnType("INTEGER"); + + b.Property("UserBannedId") + .HasColumnType("INTEGER"); + + b.Property("UserJoinedId") + .HasColumnType("INTEGER"); + + b.Property("UserLeftId") + .HasColumnType("INTEGER"); + + b.Property("UserMutedId") + .HasColumnType("INTEGER"); + + b.Property("UserUnbannedId") + .HasColumnType("INTEGER"); + + b.Property("UserUpdatedId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AutoDisconnect") + .HasColumnType("INTEGER"); + + b.Property("AutoPlay") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("MusicChannelId") + .HasColumnType("INTEGER"); + + b.Property("PlayerRepeat") + .HasColumnType("INTEGER"); + + b.Property("QualityPreset") + .HasColumnType("INTEGER"); + + b.Property("Volume") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(100); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("MusicPlayerSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Author") + .HasColumnType("TEXT"); + + b.Property("AuthorId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("MutedUserId"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AllowTarget") + .HasColumnType("INTEGER"); + + b.Property("AutoDeleteTrigger") + .HasColumnType("INTEGER"); + + b.Property("ContainsAnywhere") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("DmResponse") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Reactions") + .HasColumnType("TEXT"); + + b.Property("Response") + .HasColumnType("TEXT"); + + b.Property("Trigger") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Expressions"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AmountCents") + .HasColumnType("INTEGER"); + + b.Property("LastCharge") + .HasColumnType("TEXT"); + + b.Property("UniquePlatformUserId") + .HasColumnType("TEXT"); + + b.Property("ValidThru") + .HasColumnType("TEXT"); + + b.HasKey("UserId"); + + b.HasIndex("UniquePlatformUserId") + .IsUnique(); + + b.ToTable("Patrons"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Index") + .HasColumnType("INTEGER"); + + b.Property("IsCustomCommand") + .HasColumnType("INTEGER"); + + b.Property("PrimaryTarget") + .HasColumnType("INTEGER"); + + b.Property("PrimaryTargetId") + .HasColumnType("INTEGER"); + + b.Property("SecondaryTarget") + .HasColumnType("INTEGER"); + + b.Property("SecondaryTargetName") + .HasColumnType("TEXT"); + + b.Property("State") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("Permissions"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Amount") + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("MessageId") + .HasColumnType("INTEGER"); + + b.Property("Password") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId"); + + b.HasIndex("MessageId") + .IsUnique(); + + b.ToTable("PlantedCurrency"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("MusicPlaylistId") + .HasColumnType("INTEGER"); + + b.Property("Provider") + .HasColumnType("TEXT"); + + b.Property("ProviderType") + .HasColumnType("INTEGER"); + + b.Property("Query") + .HasColumnType("TEXT"); + + b.Property("Title") + .HasColumnType("TEXT"); + + b.Property("Uri") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AuthorId") + .HasColumnType("INTEGER"); + + b.Property("AuthorName") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Keyword") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Text") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildId"); + + b.HasIndex("Keyword"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Emote") + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.Property("Group") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("LevelReq") + .HasColumnType("INTEGER"); + + b.Property("MessageId") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId"); + + b.HasIndex("MessageId", "Emote") + .IsUnique(); + + b.ToTable("ReactionRoles"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("IsPrivate") + .HasColumnType("INTEGER"); + + b.Property("Message") + .HasColumnType("TEXT"); + + b.Property("ServerId") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("When") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("When"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Interval") + .HasColumnType("TEXT"); + + b.Property("LastMessageId") + .HasColumnType("INTEGER"); + + b.Property("Message") + .HasColumnType("TEXT"); + + b.Property("NoRedundant") + .HasColumnType("INTEGER"); + + b.Property("StartTimeOfDay") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AmountRewardedThisMonth") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("LastReward") + .HasColumnType("TEXT"); + + b.Property("PlatformUserId") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("PlatformUserId") + .IsUnique(); + + b.ToTable("RewardedUsers"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Status") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("RotatingStatus"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Group") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("LevelRequirement") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AuthorId") + .HasColumnType("INTEGER"); + + b.Property("Command") + .HasColumnType("TEXT"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Index") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Price") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.Property("RoleName") + .HasColumnType("TEXT"); + + b.Property("RoleRequirement") + .HasColumnType("INTEGER"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("ShopEntry"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("ShopEntryId") + .HasColumnType("INTEGER"); + + b.Property("Text") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("ShopEntryId"); + + b.ToTable("ShopEntryItem"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("SlowmodeIgnoredRole"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("SlowmodeIgnoredUser"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("RoleIds") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "UserId") + .IsUnique(); + + b.ToTable("StickyRoles"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("MessageId") + .HasColumnType("INTEGER"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("StreamOnlineMessages"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("StreamRoleSettingsId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("Username") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("StreamRoleSettingsId"); + + b.ToTable("StreamRoleBlacklistedUser"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AddRoleId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Enabled") + .HasColumnType("INTEGER"); + + b.Property("FromRoleId") + .HasColumnType("INTEGER"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Keyword") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("StreamRoleSettingsId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("Username") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("StreamRoleSettingsId"); + + b.ToTable("StreamRoleWhitelistedUser"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ArchiveId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("IsDone") + .HasColumnType("INTEGER"); + + b.Property("Todo") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("ArchiveId"); + + b.HasIndex("UserId"); + + b.ToTable("Todos"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("UnbanAt") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("UnbanTimer"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("UnmuteAt") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("UnmuteTimer"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.Property("UnbanAt") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("UnroleTimer"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AwardedXp") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("NotifyOnLevelUp") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("Xp") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("AwardedXp"); + + b.HasIndex("GuildId"); + + b.HasIndex("UserId"); + + b.HasIndex("Xp"); + + b.HasIndex("UserId", "GuildId") + .IsUnique(); + + b.ToTable("UserXpStats"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.Property("VoiceChannelId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("VcRoleInfo"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AffinityId") + .HasColumnType("INTEGER"); + + b.Property("ClaimerId") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Price") + .HasColumnType("INTEGER"); + + b.Property("WaifuId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("AffinityId"); + + b.HasIndex("ClaimerId"); + + b.HasIndex("Price"); + + b.HasIndex("WaifuId") + .IsUnique(); + + b.ToTable("WaifuInfo"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("ItemEmoji") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("WaifuInfoId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("WaifuInfoId"); + + b.ToTable("WaifuItem"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("NewId") + .HasColumnType("INTEGER"); + + b.Property("OldId") + .HasColumnType("INTEGER"); + + b.Property("UpdateType") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("NewId"); + + b.HasIndex("OldId"); + + b.HasIndex("UserId"); + + b.ToTable("WaifuUpdates"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Warning", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Forgiven") + .HasColumnType("INTEGER"); + + b.Property("ForgivenBy") + .HasColumnType("TEXT"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("Moderator") + .HasColumnType("TEXT"); + + b.Property("Reason") + .HasColumnType("TEXT"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("Weight") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(1L); + + b.HasKey("Id"); + + b.HasIndex("DateAdded"); + + b.HasIndex("GuildId"); + + b.HasIndex("UserId"); + + b.ToTable("Warnings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Count") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("Punishment") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.Property("Time") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("WarningPunishment"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Amount") + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Level") + .HasColumnType("INTEGER"); + + b.Property("XpSettingsId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("XpSettingsId"); + + b.ToTable("XpCurrencyReward"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("Level") + .HasColumnType("INTEGER"); + + b.Property("Remove") + .HasColumnType("INTEGER"); + + b.Property("RoleId") + .HasColumnType("INTEGER"); + + b.Property("XpSettingsId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("XpSettingsId", "Level") + .IsUnique(); + + b.ToTable("XpRoleReward"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); + + b.Property("ServerExcluded") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId") + .IsUnique(); + + b.ToTable("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DateAdded") + .HasColumnType("TEXT"); + + b.Property("IsUsing") + .HasColumnType("INTEGER"); + + b.Property("ItemKey") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("ItemType") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("UserId", "ItemType", "ItemKey") + .IsUnique(); + + b.ToTable("XpShopOwnedItem"); + }); + + modelBuilder.Entity("EllieBot.Services.GreetSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AutoDeleteTimer") + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("GreetType") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("IsEnabled") + .HasColumnType("INTEGER"); + + b.Property("MessageText") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "GreetType") + .IsUnique(); + + b.ToTable("GreetSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiAltSetting") + .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiRaidSetting") + .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => + { + b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiSpamSetting") + .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => + { + b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") + .WithMany("Users") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Channel"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Applicants") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Club"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Bans") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Club"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") + .OnDelete(DeleteBehavior.SetNull); + + b.Navigation("Owner"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("DelMsgOnCmdChannels") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Members") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.NoAction); + + b.Navigation("Club"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("ExclusionList") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("FeedSubs") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterLinksChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => + { + b.HasOne("EllieBot.Db.Models.GiveawayModel", null) + .WithMany("Participants") + .HasForeignKey("GiveawayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("SelfAssignableRoleGroupNames") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => + { + b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") + .WithMany("LogIgnores") + .HasForeignKey("LogSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LogSetting"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("Permissions") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => + { + b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => + { + b.HasOne("EllieBot.Db.Models.ShopEntry", null) + .WithMany("Items") + .HasForeignKey("ShopEntryId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Blacklist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("StreamRole") + .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Whitelist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("StreamRoleSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => + { + b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) + .WithMany("Items") + .HasForeignKey("ArchiveId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnbanTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnroleTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Affinity"); + + b.Navigation("Claimer"); + + b.Navigation("Waifu"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => + { + b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") + .WithMany("Items") + .HasForeignKey("WaifuInfoId"); + + b.Navigation("WaifuInfo"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId"); + + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("New"); + + b.Navigation("Old"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("CurrencyRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("RoleRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("XpSettings") + .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GuildConfig"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => + { + b.Navigation("IgnoredChannels"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => + { + b.Navigation("Users"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => + { + b.Navigation("Applicants"); + + b.Navigation("Bans"); + + b.Navigation("Members"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => + { + b.Navigation("Participants"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => + { + b.Navigation("AntiAltSetting"); + + b.Navigation("AntiRaidSetting"); + + b.Navigation("AntiSpamSetting"); + + b.Navigation("CommandAliases"); + + b.Navigation("CommandCooldowns"); + + b.Navigation("DelMsgOnCmdChannels"); + + b.Navigation("FeedSubs"); + + b.Navigation("FilterInvitesChannelIds"); + + b.Navigation("FilterLinksChannelIds"); + + b.Navigation("FilterWordsChannelIds"); + + b.Navigation("FilteredWords"); + + b.Navigation("FollowedStreams"); + + b.Navigation("GenerateCurrencyChannelIds"); + + b.Navigation("MutedUsers"); + + b.Navigation("Permissions"); + + b.Navigation("SelfAssignableRoleGroupNames"); + + b.Navigation("ShopEntries"); + + b.Navigation("SlowmodeIgnoredRoles"); + + b.Navigation("SlowmodeIgnoredUsers"); + + b.Navigation("StreamRole"); + + b.Navigation("UnbanTimer"); + + b.Navigation("UnmuteTimers"); + + b.Navigation("UnroleTimer"); + + b.Navigation("VcRoleInfos"); + + b.Navigation("WarnPunishments"); + + b.Navigation("XpSettings"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => + { + b.Navigation("LogIgnores"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => + { + b.Navigation("Songs"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => + { + b.Navigation("Blacklist"); + + b.Navigation("Whitelist"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => + { + b.Navigation("Items"); + }); + + modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => + { + b.Navigation("CurrencyRewards"); + + b.Navigation("ExclusionList"); + + b.Navigation("RoleRewards"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.cs b/src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.cs new file mode 100644 index 0000000..12448ba --- /dev/null +++ b/src/EllieBot/Migrations/Sqlite/20240911104847_greet-settings.cs @@ -0,0 +1,219 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace EllieBot.Migrations +{ + /// + public partial class greetsettings : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "GreetSettings", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + GuildId = table.Column(type: "INTEGER", nullable: false), + GreetType = table.Column(type: "INTEGER", nullable: false), + MessageText = table.Column(type: "TEXT", nullable: true), + IsEnabled = table.Column(type: "INTEGER", nullable: false), + ChannelId = table.Column(type: "INTEGER", nullable: true), + AutoDeleteTimer = table.Column(type: "INTEGER", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_GreetSettings", x => x.Id); + }); + + migrationBuilder.CreateIndex( + name: "IX_GreetSettings_GuildId_GreetType", + table: "GreetSettings", + columns: new[] { "GuildId", "GreetType" }, + unique: true); + + + migrationBuilder.Sql(""" + INSERT INTO GreetSettings (GuildId, GreetType, MessageText, IsEnabled, ChannelId, AutoDeleteTimer) + SELECT GuildId, 0, ChannelGreetMessageText, SendChannelGreetMessage, GreetMessageChannelId, AutoDeleteGreetMessagesTimer + FROM GuildConfigs + WHERE SendChannelGreetMessage = 1; + + INSERT INTO GreetSettings (GuildId, GreetType, MessageText, IsEnabled, ChannelId, AutoDeleteTimer) + SELECT GuildId, 1, DmGreetMessageText, SendDmGreetMessage, GreetMessageChannelId, 0 + FROM GuildConfigs + WHERE SendDmGreetMessage = 1; + + INSERT INTO GreetSettings (GuildId, GreetType, MessageText, IsEnabled, ChannelId, AutoDeleteTimer) + SELECT GuildId, 2, ChannelByeMessageText, SendChannelByeMessage, ByeMessageChannelId, AutoDeleteByeMessagesTimer + FROM GuildConfigs + WHERE SendChannelByeMessage = 1; + + INSERT INTO GreetSettings (GuildId, GreetType, MessageText, IsEnabled, ChannelId, AutoDeleteTimer) + SELECT GuildId, 3, BoostMessage, SendBoostMessage, BoostMessageChannelId, BoostMessageDeleteAfter + FROM GuildConfigs + WHERE SendBoostMessage = 1; + """); + + + migrationBuilder.DropColumn( + name: "AutoDeleteByeMessagesTimer", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "AutoDeleteGreetMessagesTimer", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "BoostMessage", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "BoostMessageChannelId", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "BoostMessageDeleteAfter", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "ByeMessageChannelId", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "ChannelByeMessageText", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "ChannelGreetMessageText", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "DmGreetMessageText", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "GreetMessageChannelId", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "SendBoostMessage", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "SendChannelByeMessage", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "SendChannelGreetMessage", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "SendDmGreetMessage", + table: "GuildConfigs"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "GreetSettings"); + + migrationBuilder.AddColumn( + name: "AutoDeleteByeMessagesTimer", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "AutoDeleteGreetMessagesTimer", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "BoostMessage", + table: "GuildConfigs", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn( + name: "BoostMessageChannelId", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: 0ul); + + migrationBuilder.AddColumn( + name: "BoostMessageDeleteAfter", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "ByeMessageChannelId", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: 0ul); + + migrationBuilder.AddColumn( + name: "ChannelByeMessageText", + table: "GuildConfigs", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn( + name: "ChannelGreetMessageText", + table: "GuildConfigs", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn( + name: "DmGreetMessageText", + table: "GuildConfigs", + type: "TEXT", + nullable: true); + + migrationBuilder.AddColumn( + name: "GreetMessageChannelId", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: 0ul); + + migrationBuilder.AddColumn( + name: "SendBoostMessage", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "SendChannelByeMessage", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "SendChannelGreetMessage", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "SendDmGreetMessage", + table: "GuildConfigs", + type: "INTEGER", + nullable: false, + defaultValue: false); + } + } +} \ No newline at end of file diff --git a/src/EllieBot/Migrations/Sqlite/EllieSqliteContextModelSnapshot.cs b/src/EllieBot/Migrations/Sqlite/EllieSqliteContextModelSnapshot.cs index 0b6c04d..0891194 100644 --- a/src/EllieBot/Migrations/Sqlite/EllieSqliteContextModelSnapshot.cs +++ b/src/EllieBot/Migrations/Sqlite/EllieSqliteContextModelSnapshot.cs @@ -15,2917 +15,2907 @@ namespace EllieBot.Migrations protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 - modelBuilder.HasAnnotation("ProductVersion", "8.0.4"); + modelBuilder.HasAnnotation("ProductVersion", "8.0.8"); modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Action") - .HasColumnType("INTEGER"); + b.Property("Action") + .HasColumnType("INTEGER"); - b.Property("ActionDurationMinutes") - .HasColumnType("INTEGER"); + b.Property("ActionDurationMinutes") + .HasColumnType("INTEGER"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("MinAge") - .HasColumnType("TEXT"); + b.Property("MinAge") + .HasColumnType("TEXT"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId") - .IsUnique(); + b.HasIndex("GuildConfigId") + .IsUnique(); - b.ToTable("AntiAltSetting"); - }); + b.ToTable("AntiAltSetting"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Action") - .HasColumnType("INTEGER"); + b.Property("Action") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("PunishDuration") - .HasColumnType("INTEGER"); + b.Property("PunishDuration") + .HasColumnType("INTEGER"); - b.Property("Seconds") - .HasColumnType("INTEGER"); + b.Property("Seconds") + .HasColumnType("INTEGER"); - b.Property("UserThreshold") - .HasColumnType("INTEGER"); + b.Property("UserThreshold") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId") - .IsUnique(); + b.HasIndex("GuildConfigId") + .IsUnique(); - b.ToTable("AntiRaidSetting"); - }); + b.ToTable("AntiRaidSetting"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AntiSpamSettingId") - .HasColumnType("INTEGER"); + b.Property("AntiSpamSettingId") + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("AntiSpamSettingId"); + b.HasIndex("AntiSpamSettingId"); - b.ToTable("AntiSpamIgnore"); - }); + b.ToTable("AntiSpamIgnore"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Action") - .HasColumnType("INTEGER"); + b.Property("Action") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("MessageThreshold") - .HasColumnType("INTEGER"); + b.Property("MessageThreshold") + .HasColumnType("INTEGER"); - b.Property("MuteTime") - .HasColumnType("INTEGER"); + b.Property("MuteTime") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId") - .IsUnique(); + b.HasIndex("GuildConfigId") + .IsUnique(); - b.ToTable("AntiSpamSetting"); - }); + b.ToTable("AntiSpamSetting"); + }); modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("TodosArchive"); - }); + b.ToTable("TodosArchive"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoCommand", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("ChannelName") - .HasColumnType("TEXT"); + b.Property("ChannelName") + .HasColumnType("TEXT"); - b.Property("CommandText") - .HasColumnType("TEXT"); + b.Property("CommandText") + .HasColumnType("TEXT"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("GuildName") - .HasColumnType("TEXT"); + b.Property("GuildName") + .HasColumnType("TEXT"); - b.Property("Interval") - .HasColumnType("INTEGER"); + b.Property("Interval") + .HasColumnType("INTEGER"); - b.Property("VoiceChannelId") - .HasColumnType("INTEGER"); + b.Property("VoiceChannelId") + .HasColumnType("INTEGER"); - b.Property("VoiceChannelName") - .HasColumnType("TEXT"); + b.Property("VoiceChannelName") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("AutoCommands"); - }); + b.ToTable("AutoCommands"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoPublishChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId") - .IsUnique(); + b.HasIndex("GuildId") + .IsUnique(); - b.ToTable("AutoPublishChannel"); - }); + b.ToTable("AutoPublishChannel"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AutoDelete") - .HasColumnType("INTEGER"); + b.Property("AutoDelete") + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("ChannelId") - .IsUnique(); + b.HasIndex("ChannelId") + .IsUnique(); - b.HasIndex("GuildId"); + b.HasIndex("GuildId"); - b.ToTable("AutoTranslateChannels"); - }); + b.ToTable("AutoTranslateChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Source") - .HasColumnType("TEXT"); + b.Property("Source") + .HasColumnType("TEXT"); - b.Property("Target") - .HasColumnType("TEXT"); + b.Property("Target") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasAlternateKey("ChannelId", "UserId"); + b.HasAlternateKey("ChannelId", "UserId"); - b.ToTable("AutoTranslateUsers"); - }); + b.ToTable("AutoTranslateUsers"); + }); modelBuilder.Entity("EllieBot.Db.Models.BanTemplate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("PruneDays") - .HasColumnType("INTEGER"); + b.Property("PruneDays") + .HasColumnType("INTEGER"); - b.Property("Text") - .HasColumnType("TEXT"); + b.Property("Text") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId") - .IsUnique(); + b.HasIndex("GuildId") + .IsUnique(); - b.ToTable("BanTemplates"); - }); + b.ToTable("BanTemplates"); + }); modelBuilder.Entity("EllieBot.Db.Models.BankUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Balance") - .HasColumnType("INTEGER"); + b.Property("Balance") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("UserId") - .IsUnique(); + b.HasIndex("UserId") + .IsUnique(); - b.ToTable("BankUsers"); - }); + b.ToTable("BankUsers"); + }); modelBuilder.Entity("EllieBot.Db.Models.BlacklistEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("ItemId") - .HasColumnType("INTEGER"); + b.Property("ItemId") + .HasColumnType("INTEGER"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("Blacklist"); - }); + b.ToTable("Blacklist"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => - { - b.Property("ClubId") - .HasColumnType("INTEGER"); + { + b.Property("ClubId") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("ClubId", "UserId"); + b.HasKey("ClubId", "UserId"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("ClubApplicants"); - }); + b.ToTable("ClubApplicants"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => - { - b.Property("ClubId") - .HasColumnType("INTEGER"); + { + b.Property("ClubId") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("ClubId", "UserId"); + b.HasKey("ClubId", "UserId"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("ClubBans"); - }); + b.ToTable("ClubBans"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Description") - .HasColumnType("TEXT"); + b.Property("Description") + .HasColumnType("TEXT"); - b.Property("ImageUrl") - .HasColumnType("TEXT"); + b.Property("ImageUrl") + .HasColumnType("TEXT"); - b.Property("Name") - .HasMaxLength(20) - .HasColumnType("TEXT"); + b.Property("Name") + .HasMaxLength(20) + .HasColumnType("TEXT"); - b.Property("OwnerId") - .HasColumnType("INTEGER"); + b.Property("OwnerId") + .HasColumnType("INTEGER"); - b.Property("Xp") - .HasColumnType("INTEGER"); + b.Property("Xp") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("Name") - .IsUnique(); + b.HasIndex("Name") + .IsUnique(); - b.HasIndex("OwnerId") - .IsUnique(); + b.HasIndex("OwnerId") + .IsUnique(); - b.ToTable("Clubs"); - }); + b.ToTable("Clubs"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Mapping") - .HasColumnType("TEXT"); + b.Property("Mapping") + .HasColumnType("TEXT"); - b.Property("Trigger") - .HasColumnType("TEXT"); + b.Property("Trigger") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("CommandAlias"); - }); + b.ToTable("CommandAlias"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("CommandName") - .HasColumnType("TEXT"); + b.Property("CommandName") + .HasColumnType("TEXT"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Seconds") - .HasColumnType("INTEGER"); + b.Property("Seconds") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("CommandCooldown"); - }); + b.ToTable("CommandCooldown"); + }); modelBuilder.Entity("EllieBot.Db.Models.CurrencyTransaction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Amount") - .HasColumnType("INTEGER"); + b.Property("Amount") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Extra") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("Extra") + .IsRequired() + .HasColumnType("TEXT"); - b.Property("Note") - .HasColumnType("TEXT"); + b.Property("Note") + .HasColumnType("TEXT"); - b.Property("OtherId") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValueSql("NULL"); + b.Property("OtherId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValueSql("NULL"); - b.Property("Type") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("Type") + .IsRequired() + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("CurrencyTransactions"); - }); + b.ToTable("CurrencyTransactions"); + }); modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("State") - .HasColumnType("INTEGER"); + b.Property("State") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("DelMsgOnCmdChannel"); - }); + b.ToTable("DelMsgOnCmdChannel"); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordPermOverride", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Command") - .HasColumnType("TEXT"); + b.Property("Command") + .HasColumnType("TEXT"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Perm") - .HasColumnType("INTEGER"); + b.Property("Perm") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId", "Command") - .IsUnique(); + b.HasIndex("GuildId", "Command") + .IsUnique(); - b.ToTable("DiscordPermOverrides"); - }); + b.ToTable("DiscordPermOverrides"); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AvatarId") - .HasColumnType("TEXT"); + b.Property("AvatarId") + .HasColumnType("TEXT"); - b.Property("ClubId") - .HasColumnType("INTEGER"); + b.Property("ClubId") + .HasColumnType("INTEGER"); - b.Property("CurrencyAmount") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(0L); + b.Property("CurrencyAmount") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0L); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Discriminator") - .HasColumnType("TEXT"); + b.Property("Discriminator") + .HasColumnType("TEXT"); - b.Property("IsClubAdmin") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(false); + b.Property("IsClubAdmin") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(false); - b.Property("NotifyOnLevelUp") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(0); + b.Property("NotifyOnLevelUp") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0); - b.Property("TotalXp") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(0L); + b.Property("TotalXp") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0L); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.Property("Username") - .HasColumnType("TEXT"); + b.Property("Username") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasAlternateKey("UserId"); + b.HasAlternateKey("UserId"); - b.HasIndex("ClubId"); + b.HasIndex("ClubId"); - b.HasIndex("CurrencyAmount"); + b.HasIndex("CurrencyAmount"); - b.HasIndex("TotalXp"); + b.HasIndex("TotalXp"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("DiscordUser"); - }); + b.ToTable("DiscordUser"); + }); modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("ItemId") - .HasColumnType("INTEGER"); + b.Property("ItemId") + .HasColumnType("INTEGER"); - b.Property("ItemType") - .HasColumnType("INTEGER"); + b.Property("ItemType") + .HasColumnType("INTEGER"); - b.Property("XpSettingsId") - .HasColumnType("INTEGER"); + b.Property("XpSettingsId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("XpSettingsId"); + b.HasIndex("XpSettingsId"); - b.ToTable("ExcludedItem"); - }); + b.ToTable("ExcludedItem"); + }); modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Message") - .HasColumnType("TEXT"); + b.Property("Message") + .HasColumnType("TEXT"); - b.Property("Url") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("Url") + .IsRequired() + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasAlternateKey("GuildConfigId", "Url"); + b.HasAlternateKey("GuildConfigId", "Url"); - b.ToTable("FeedSub"); - }); + b.ToTable("FeedSub"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("FilterChannelId"); - }); + b.ToTable("FilterChannelId"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("FilterLinksChannelId"); - }); + b.ToTable("FilterLinksChannelId"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("FilterWordsChannelId"); - }); + b.ToTable("FilterWordsChannelId"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Word") - .HasColumnType("TEXT"); + b.Property("Word") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("FilteredWord"); - }); + b.ToTable("FilteredWord"); + }); modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Message") - .HasColumnType("TEXT"); + b.Property("Message") + .HasColumnType("TEXT"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.Property("Username") - .HasColumnType("TEXT"); + b.Property("Username") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("FollowedStream"); - }); + b.ToTable("FollowedStream"); + }); modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("GCChannelId"); - }); + b.ToTable("GCChannelId"); + }); modelBuilder.Entity("EllieBot.Db.Models.GamblingStats", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Bet") - .HasColumnType("TEXT"); + b.Property("Bet") + .HasColumnType("TEXT"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Feature") - .HasColumnType("TEXT"); + b.Property("Feature") + .HasColumnType("TEXT"); - b.Property("PaidOut") - .HasColumnType("TEXT"); + b.Property("PaidOut") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("Feature") - .IsUnique(); + b.HasIndex("Feature") + .IsUnique(); - b.ToTable("GamblingStats"); - }); + b.ToTable("GamblingStats"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("EndsAt") - .HasColumnType("TEXT"); + b.Property("EndsAt") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Message") - .HasColumnType("TEXT"); + b.Property("Message") + .HasColumnType("TEXT"); - b.Property("MessageId") - .HasColumnType("INTEGER"); + b.Property("MessageId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("GiveawayModel"); - }); + b.ToTable("GiveawayModel"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("GiveawayId") - .HasColumnType("INTEGER"); + b.Property("GiveawayId") + .HasColumnType("INTEGER"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GiveawayId", "UserId") - .IsUnique(); + b.HasIndex("GiveawayId", "UserId") + .IsUnique(); - b.ToTable("GiveawayUser"); - }); + b.ToTable("GiveawayUser"); + }); modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.Property("Number") - .HasColumnType("INTEGER"); + b.Property("Number") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId", "Number") - .IsUnique(); + b.HasIndex("GuildConfigId", "Number") + .IsUnique(); - b.ToTable("GroupName"); - }); + b.ToTable("GroupName"); + }); modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AutoAssignRoleIds") - .HasColumnType("TEXT"); + b.Property("AutoAssignRoleIds") + .HasColumnType("TEXT"); - b.Property("AutoDeleteByeMessagesTimer") - .HasColumnType("INTEGER"); + b.Property("AutoDeleteSelfAssignedRoleMessages") + .HasColumnType("INTEGER"); - b.Property("AutoDeleteGreetMessagesTimer") - .HasColumnType("INTEGER"); + b.Property("CleverbotEnabled") + .HasColumnType("INTEGER"); - b.Property("AutoDeleteSelfAssignedRoleMessages") - .HasColumnType("INTEGER"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("BoostMessage") - .HasColumnType("TEXT"); + b.Property("DeleteMessageOnCommand") + .HasColumnType("INTEGER"); - b.Property("BoostMessageChannelId") - .HasColumnType("INTEGER"); + b.Property("DeleteStreamOnlineMessage") + .HasColumnType("INTEGER"); - b.Property("BoostMessageDeleteAfter") - .HasColumnType("INTEGER"); + b.Property("DisableGlobalExpressions") + .HasColumnType("INTEGER"); - b.Property("ByeMessageChannelId") - .HasColumnType("INTEGER"); + b.Property("ExclusiveSelfAssignedRoles") + .HasColumnType("INTEGER"); - b.Property("ChannelByeMessageText") - .HasColumnType("TEXT"); + b.Property("FilterInvites") + .HasColumnType("INTEGER"); - b.Property("ChannelGreetMessageText") - .HasColumnType("TEXT"); + b.Property("FilterLinks") + .HasColumnType("INTEGER"); - b.Property("CleverbotEnabled") - .HasColumnType("INTEGER"); + b.Property("FilterWords") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("GameVoiceChannel") + .HasColumnType("INTEGER"); - b.Property("DeleteMessageOnCommand") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("DeleteStreamOnlineMessage") - .HasColumnType("INTEGER"); + b.Property("Locale") + .HasColumnType("TEXT"); - b.Property("DisableGlobalExpressions") - .HasColumnType("INTEGER"); + b.Property("MuteRoleName") + .HasColumnType("TEXT"); - b.Property("DmGreetMessageText") - .HasColumnType("TEXT"); + b.Property("NotifyStreamOffline") + .HasColumnType("INTEGER"); - b.Property("ExclusiveSelfAssignedRoles") - .HasColumnType("INTEGER"); + b.Property("PermissionRole") + .HasColumnType("TEXT"); - b.Property("FilterInvites") - .HasColumnType("INTEGER"); + b.Property("Prefix") + .HasColumnType("TEXT"); - b.Property("FilterLinks") - .HasColumnType("INTEGER"); + b.Property("StickyRoles") + .HasColumnType("INTEGER"); - b.Property("FilterWords") - .HasColumnType("INTEGER"); + b.Property("TimeZoneId") + .HasColumnType("TEXT"); - b.Property("GameVoiceChannel") - .HasColumnType("INTEGER"); + b.Property("VerboseErrors") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(true); - b.Property("GreetMessageChannelId") - .HasColumnType("INTEGER"); + b.Property("VerbosePermissions") + .HasColumnType("INTEGER"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("WarnExpireAction") + .HasColumnType("INTEGER"); - b.Property("Locale") - .HasColumnType("TEXT"); + b.Property("WarnExpireHours") + .HasColumnType("INTEGER"); - b.Property("MuteRoleName") - .HasColumnType("TEXT"); + b.Property("WarningsInitialized") + .HasColumnType("INTEGER"); - b.Property("NotifyStreamOffline") - .HasColumnType("INTEGER"); + b.HasKey("Id"); - b.Property("PermissionRole") - .HasColumnType("TEXT"); + b.HasIndex("GuildId") + .IsUnique(); - b.Property("Prefix") - .HasColumnType("TEXT"); + b.HasIndex("WarnExpireHours"); - b.Property("SendBoostMessage") - .HasColumnType("INTEGER"); - - b.Property("SendChannelByeMessage") - .HasColumnType("INTEGER"); - - b.Property("SendChannelGreetMessage") - .HasColumnType("INTEGER"); - - b.Property("SendDmGreetMessage") - .HasColumnType("INTEGER"); - - b.Property("StickyRoles") - .HasColumnType("INTEGER"); - - b.Property("TimeZoneId") - .HasColumnType("TEXT"); - - b.Property("VerboseErrors") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(true); - - b.Property("VerbosePermissions") - .HasColumnType("INTEGER"); - - b.Property("WarnExpireAction") - .HasColumnType("INTEGER"); - - b.Property("WarnExpireHours") - .HasColumnType("INTEGER"); - - b.Property("WarningsInitialized") - .HasColumnType("INTEGER"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("WarnExpireHours"); - - b.ToTable("GuildConfigs"); - }); + b.ToTable("GuildConfigs"); + }); modelBuilder.Entity("EllieBot.Db.Models.HoneypotChannel", b => - { - b.Property("GuildId") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("GuildId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.HasKey("GuildId"); + b.HasKey("GuildId"); - b.ToTable("HoneyPotChannels"); - }); + b.ToTable("HoneyPotChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("ItemType") - .HasColumnType("INTEGER"); + b.Property("ItemType") + .HasColumnType("INTEGER"); - b.Property("LogItemId") - .HasColumnType("INTEGER"); + b.Property("LogItemId") + .HasColumnType("INTEGER"); - b.Property("LogSettingId") - .HasColumnType("INTEGER"); + b.Property("LogSettingId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("LogSettingId", "LogItemId", "ItemType") - .IsUnique(); + b.HasIndex("LogSettingId", "LogItemId", "ItemType") + .IsUnique(); - b.ToTable("IgnoredLogChannels"); - }); + b.ToTable("IgnoredLogChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.ImageOnlyChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("ChannelId") - .IsUnique(); + b.HasIndex("ChannelId") + .IsUnique(); - b.ToTable("ImageOnlyChannels"); - }); + b.ToTable("ImageOnlyChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelCreatedId") - .HasColumnType("INTEGER"); + b.Property("ChannelCreatedId") + .HasColumnType("INTEGER"); - b.Property("ChannelDestroyedId") - .HasColumnType("INTEGER"); + b.Property("ChannelDestroyedId") + .HasColumnType("INTEGER"); - b.Property("ChannelUpdatedId") - .HasColumnType("INTEGER"); + b.Property("ChannelUpdatedId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("LogOtherId") - .HasColumnType("INTEGER"); + b.Property("LogOtherId") + .HasColumnType("INTEGER"); - b.Property("LogUserPresenceId") - .HasColumnType("INTEGER"); + b.Property("LogUserPresenceId") + .HasColumnType("INTEGER"); - b.Property("LogVoicePresenceId") - .HasColumnType("INTEGER"); + b.Property("LogVoicePresenceId") + .HasColumnType("INTEGER"); - b.Property("LogVoicePresenceTTSId") - .HasColumnType("INTEGER"); + b.Property("LogVoicePresenceTTSId") + .HasColumnType("INTEGER"); - b.Property("LogWarnsId") - .HasColumnType("INTEGER"); + b.Property("LogWarnsId") + .HasColumnType("INTEGER"); - b.Property("MessageDeletedId") - .HasColumnType("INTEGER"); + b.Property("MessageDeletedId") + .HasColumnType("INTEGER"); - b.Property("MessageUpdatedId") - .HasColumnType("INTEGER"); + b.Property("MessageUpdatedId") + .HasColumnType("INTEGER"); - b.Property("ThreadCreatedId") - .HasColumnType("INTEGER"); + b.Property("ThreadCreatedId") + .HasColumnType("INTEGER"); - b.Property("ThreadDeletedId") - .HasColumnType("INTEGER"); + b.Property("ThreadDeletedId") + .HasColumnType("INTEGER"); - b.Property("UserBannedId") - .HasColumnType("INTEGER"); + b.Property("UserBannedId") + .HasColumnType("INTEGER"); - b.Property("UserJoinedId") - .HasColumnType("INTEGER"); + b.Property("UserJoinedId") + .HasColumnType("INTEGER"); - b.Property("UserLeftId") - .HasColumnType("INTEGER"); + b.Property("UserLeftId") + .HasColumnType("INTEGER"); - b.Property("UserMutedId") - .HasColumnType("INTEGER"); + b.Property("UserMutedId") + .HasColumnType("INTEGER"); - b.Property("UserUnbannedId") - .HasColumnType("INTEGER"); + b.Property("UserUnbannedId") + .HasColumnType("INTEGER"); - b.Property("UserUpdatedId") - .HasColumnType("INTEGER"); + b.Property("UserUpdatedId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId") - .IsUnique(); + b.HasIndex("GuildId") + .IsUnique(); - b.ToTable("LogSettings"); - }); + b.ToTable("LogSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlayerSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AutoDisconnect") - .HasColumnType("INTEGER"); + b.Property("AutoDisconnect") + .HasColumnType("INTEGER"); - b.Property("AutoPlay") - .HasColumnType("INTEGER"); + b.Property("AutoPlay") + .HasColumnType("INTEGER"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("MusicChannelId") - .HasColumnType("INTEGER"); + b.Property("MusicChannelId") + .HasColumnType("INTEGER"); - b.Property("PlayerRepeat") - .HasColumnType("INTEGER"); + b.Property("PlayerRepeat") + .HasColumnType("INTEGER"); - b.Property("QualityPreset") - .HasColumnType("INTEGER"); + b.Property("QualityPreset") + .HasColumnType("INTEGER"); - b.Property("Volume") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(100); + b.Property("Volume") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(100); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId") - .IsUnique(); + b.HasIndex("GuildId") + .IsUnique(); - b.ToTable("MusicPlayerSettings"); - }); + b.ToTable("MusicPlayerSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Author") - .HasColumnType("TEXT"); + b.Property("Author") + .HasColumnType("TEXT"); - b.Property("AuthorId") - .HasColumnType("INTEGER"); + b.Property("AuthorId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("MusicPlaylists"); - }); + b.ToTable("MusicPlaylists"); + }); modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("MutedUserId"); - }); + b.ToTable("MutedUserId"); + }); modelBuilder.Entity("EllieBot.Db.Models.EllieExpression", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AllowTarget") - .HasColumnType("INTEGER"); + b.Property("AllowTarget") + .HasColumnType("INTEGER"); - b.Property("AutoDeleteTrigger") - .HasColumnType("INTEGER"); + b.Property("AutoDeleteTrigger") + .HasColumnType("INTEGER"); - b.Property("ContainsAnywhere") - .HasColumnType("INTEGER"); + b.Property("ContainsAnywhere") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("DmResponse") - .HasColumnType("INTEGER"); + b.Property("DmResponse") + .HasColumnType("INTEGER"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Reactions") - .HasColumnType("TEXT"); + b.Property("Reactions") + .HasColumnType("TEXT"); - b.Property("Response") - .HasColumnType("TEXT"); + b.Property("Response") + .HasColumnType("TEXT"); - b.Property("Trigger") - .HasColumnType("TEXT"); + b.Property("Trigger") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("Expressions"); - }); + b.ToTable("Expressions"); + }); modelBuilder.Entity("EllieBot.Db.Models.PatronUser", b => - { - b.Property("UserId") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AmountCents") - .HasColumnType("INTEGER"); + b.Property("AmountCents") + .HasColumnType("INTEGER"); - b.Property("LastCharge") - .HasColumnType("TEXT"); + b.Property("LastCharge") + .HasColumnType("TEXT"); - b.Property("UniquePlatformUserId") - .HasColumnType("TEXT"); + b.Property("UniquePlatformUserId") + .HasColumnType("TEXT"); - b.Property("ValidThru") - .HasColumnType("TEXT"); + b.Property("ValidThru") + .HasColumnType("TEXT"); - b.HasKey("UserId"); + b.HasKey("UserId"); - b.HasIndex("UniquePlatformUserId") - .IsUnique(); + b.HasIndex("UniquePlatformUserId") + .IsUnique(); - b.ToTable("Patrons"); - }); + b.ToTable("Patrons"); + }); modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Index") - .HasColumnType("INTEGER"); + b.Property("Index") + .HasColumnType("INTEGER"); - b.Property("IsCustomCommand") - .HasColumnType("INTEGER"); + b.Property("IsCustomCommand") + .HasColumnType("INTEGER"); - b.Property("PrimaryTarget") - .HasColumnType("INTEGER"); + b.Property("PrimaryTarget") + .HasColumnType("INTEGER"); - b.Property("PrimaryTargetId") - .HasColumnType("INTEGER"); + b.Property("PrimaryTargetId") + .HasColumnType("INTEGER"); - b.Property("SecondaryTarget") - .HasColumnType("INTEGER"); + b.Property("SecondaryTarget") + .HasColumnType("INTEGER"); - b.Property("SecondaryTargetName") - .HasColumnType("TEXT"); + b.Property("SecondaryTargetName") + .HasColumnType("TEXT"); - b.Property("State") - .HasColumnType("INTEGER"); + b.Property("State") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("Permissions"); - }); + b.ToTable("Permissions"); + }); modelBuilder.Entity("EllieBot.Db.Models.PlantedCurrency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Amount") - .HasColumnType("INTEGER"); + b.Property("Amount") + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("MessageId") - .HasColumnType("INTEGER"); + b.Property("MessageId") + .HasColumnType("INTEGER"); - b.Property("Password") - .HasColumnType("TEXT"); + b.Property("Password") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("ChannelId"); + b.HasIndex("ChannelId"); - b.HasIndex("MessageId") - .IsUnique(); + b.HasIndex("MessageId") + .IsUnique(); - b.ToTable("PlantedCurrency"); - }); + b.ToTable("PlantedCurrency"); + }); modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("MusicPlaylistId") - .HasColumnType("INTEGER"); + b.Property("MusicPlaylistId") + .HasColumnType("INTEGER"); - b.Property("Provider") - .HasColumnType("TEXT"); + b.Property("Provider") + .HasColumnType("TEXT"); - b.Property("ProviderType") - .HasColumnType("INTEGER"); + b.Property("ProviderType") + .HasColumnType("INTEGER"); - b.Property("Query") - .HasColumnType("TEXT"); + b.Property("Query") + .HasColumnType("TEXT"); - b.Property("Title") - .HasColumnType("TEXT"); + b.Property("Title") + .HasColumnType("TEXT"); - b.Property("Uri") - .HasColumnType("TEXT"); + b.Property("Uri") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("MusicPlaylistId"); + b.HasIndex("MusicPlaylistId"); - b.ToTable("PlaylistSong"); - }); + b.ToTable("PlaylistSong"); + }); modelBuilder.Entity("EllieBot.Db.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AuthorId") - .HasColumnType("INTEGER"); + b.Property("AuthorId") + .HasColumnType("INTEGER"); - b.Property("AuthorName") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("AuthorName") + .IsRequired() + .HasColumnType("TEXT"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Keyword") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("Keyword") + .IsRequired() + .HasColumnType("TEXT"); - b.Property("Text") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("Text") + .IsRequired() + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId"); + b.HasIndex("GuildId"); - b.HasIndex("Keyword"); + b.HasIndex("Keyword"); - b.ToTable("Quotes"); - }); + b.ToTable("Quotes"); + }); modelBuilder.Entity("EllieBot.Db.Models.ReactionRoleV2", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Emote") - .HasMaxLength(100) - .HasColumnType("TEXT"); + b.Property("Emote") + .HasMaxLength(100) + .HasColumnType("TEXT"); - b.Property("Group") - .HasColumnType("INTEGER"); + b.Property("Group") + .HasColumnType("INTEGER"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("LevelReq") - .HasColumnType("INTEGER"); + b.Property("LevelReq") + .HasColumnType("INTEGER"); - b.Property("MessageId") - .HasColumnType("INTEGER"); + b.Property("MessageId") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId"); + b.HasIndex("GuildId"); - b.HasIndex("MessageId", "Emote") - .IsUnique(); + b.HasIndex("MessageId", "Emote") + .IsUnique(); - b.ToTable("ReactionRoles"); - }); + b.ToTable("ReactionRoles"); + }); modelBuilder.Entity("EllieBot.Db.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("IsPrivate") - .HasColumnType("INTEGER"); + b.Property("IsPrivate") + .HasColumnType("INTEGER"); - b.Property("Message") - .HasColumnType("TEXT"); + b.Property("Message") + .HasColumnType("TEXT"); - b.Property("ServerId") - .HasColumnType("INTEGER"); + b.Property("ServerId") + .HasColumnType("INTEGER"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.Property("When") - .HasColumnType("TEXT"); + b.Property("When") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("When"); + b.HasIndex("When"); - b.ToTable("Reminders"); - }); + b.ToTable("Reminders"); + }); modelBuilder.Entity("EllieBot.Db.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Interval") - .HasColumnType("TEXT"); + b.Property("Interval") + .HasColumnType("TEXT"); - b.Property("LastMessageId") - .HasColumnType("INTEGER"); + b.Property("LastMessageId") + .HasColumnType("INTEGER"); - b.Property("Message") - .HasColumnType("TEXT"); + b.Property("Message") + .HasColumnType("TEXT"); - b.Property("NoRedundant") - .HasColumnType("INTEGER"); + b.Property("NoRedundant") + .HasColumnType("INTEGER"); - b.Property("StartTimeOfDay") - .HasColumnType("TEXT"); + b.Property("StartTimeOfDay") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("Repeaters"); - }); + b.ToTable("Repeaters"); + }); modelBuilder.Entity("EllieBot.Db.Models.RewardedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AmountRewardedThisMonth") - .HasColumnType("INTEGER"); + b.Property("AmountRewardedThisMonth") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("LastReward") - .HasColumnType("TEXT"); + b.Property("LastReward") + .HasColumnType("TEXT"); - b.Property("PlatformUserId") - .HasColumnType("TEXT"); + b.Property("PlatformUserId") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("PlatformUserId") - .IsUnique(); + b.HasIndex("PlatformUserId") + .IsUnique(); - b.ToTable("RewardedUsers"); - }); + b.ToTable("RewardedUsers"); + }); modelBuilder.Entity("EllieBot.Db.Models.RotatingPlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Status") - .HasColumnType("TEXT"); + b.Property("Status") + .HasColumnType("TEXT"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("RotatingStatus"); - }); + b.ToTable("RotatingStatus"); + }); modelBuilder.Entity("EllieBot.Db.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Group") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(0); + b.Property("Group") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("LevelRequirement") - .HasColumnType("INTEGER"); + b.Property("LevelRequirement") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId", "RoleId") - .IsUnique(); + b.HasIndex("GuildId", "RoleId") + .IsUnique(); - b.ToTable("SelfAssignableRoles"); - }); + b.ToTable("SelfAssignableRoles"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AuthorId") - .HasColumnType("INTEGER"); + b.Property("AuthorId") + .HasColumnType("INTEGER"); - b.Property("Command") - .HasColumnType("TEXT"); + b.Property("Command") + .HasColumnType("TEXT"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Index") - .HasColumnType("INTEGER"); + b.Property("Index") + .HasColumnType("INTEGER"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.Property("Price") - .HasColumnType("INTEGER"); + b.Property("Price") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.Property("RoleName") - .HasColumnType("TEXT"); + b.Property("RoleName") + .HasColumnType("TEXT"); - b.Property("RoleRequirement") - .HasColumnType("INTEGER"); + b.Property("RoleRequirement") + .HasColumnType("INTEGER"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("ShopEntry"); - }); + b.ToTable("ShopEntry"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("ShopEntryId") - .HasColumnType("INTEGER"); + b.Property("ShopEntryId") + .HasColumnType("INTEGER"); - b.Property("Text") - .HasColumnType("TEXT"); + b.Property("Text") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("ShopEntryId"); + b.HasIndex("ShopEntryId"); - b.ToTable("ShopEntryItem"); - }); + b.ToTable("ShopEntryItem"); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("SlowmodeIgnoredRole"); - }); + b.ToTable("SlowmodeIgnoredRole"); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("SlowmodeIgnoredUser"); - }); + b.ToTable("SlowmodeIgnoredUser"); + }); modelBuilder.Entity("EllieBot.Db.Models.StickyRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("RoleIds") - .HasColumnType("TEXT"); + b.Property("RoleIds") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildId", "UserId") - .IsUnique(); + b.HasIndex("GuildId", "UserId") + .IsUnique(); - b.ToTable("StickyRoles"); - }); + b.ToTable("StickyRoles"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamOnlineMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ChannelId") - .HasColumnType("INTEGER"); + b.Property("ChannelId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("MessageId") - .HasColumnType("INTEGER"); + b.Property("MessageId") + .HasColumnType("INTEGER"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.Property("Type") - .HasColumnType("INTEGER"); + b.Property("Type") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.ToTable("StreamOnlineMessages"); - }); + b.ToTable("StreamOnlineMessages"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("StreamRoleSettingsId") - .HasColumnType("INTEGER"); + b.Property("StreamRoleSettingsId") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.Property("Username") - .HasColumnType("TEXT"); + b.Property("Username") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("StreamRoleSettingsId"); + b.HasIndex("StreamRoleSettingsId"); - b.ToTable("StreamRoleBlacklistedUser"); - }); + b.ToTable("StreamRoleBlacklistedUser"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AddRoleId") - .HasColumnType("INTEGER"); + b.Property("AddRoleId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Enabled") - .HasColumnType("INTEGER"); + b.Property("Enabled") + .HasColumnType("INTEGER"); - b.Property("FromRoleId") - .HasColumnType("INTEGER"); + b.Property("FromRoleId") + .HasColumnType("INTEGER"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Keyword") - .HasColumnType("TEXT"); + b.Property("Keyword") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId") - .IsUnique(); + b.HasIndex("GuildConfigId") + .IsUnique(); - b.ToTable("StreamRoleSettings"); - }); + b.ToTable("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("StreamRoleSettingsId") - .HasColumnType("INTEGER"); + b.Property("StreamRoleSettingsId") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.Property("Username") - .HasColumnType("TEXT"); + b.Property("Username") + .HasColumnType("TEXT"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("StreamRoleSettingsId"); + b.HasIndex("StreamRoleSettingsId"); - b.ToTable("StreamRoleWhitelistedUser"); - }); + b.ToTable("StreamRoleWhitelistedUser"); + }); modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("ArchiveId") - .HasColumnType("INTEGER"); + b.Property("ArchiveId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("IsDone") - .HasColumnType("INTEGER"); + b.Property("IsDone") + .HasColumnType("INTEGER"); - b.Property("Todo") - .HasColumnType("TEXT"); + b.Property("Todo") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("ArchiveId"); + b.HasIndex("ArchiveId"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("Todos"); - }); + b.ToTable("Todos"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("UnbanAt") - .HasColumnType("TEXT"); + b.Property("UnbanAt") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("UnbanTimer"); - }); + b.ToTable("UnbanTimer"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("UnmuteAt") - .HasColumnType("TEXT"); + b.Property("UnmuteAt") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("UnmuteTimer"); - }); + b.ToTable("UnmuteTimer"); + }); modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.Property("UnbanAt") - .HasColumnType("TEXT"); + b.Property("UnbanAt") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("UnroleTimer"); - }); + b.ToTable("UnroleTimer"); + }); modelBuilder.Entity("EllieBot.Db.Models.UserXpStats", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AwardedXp") - .HasColumnType("INTEGER"); + b.Property("AwardedXp") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("NotifyOnLevelUp") - .HasColumnType("INTEGER"); + b.Property("NotifyOnLevelUp") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.Property("Xp") - .HasColumnType("INTEGER"); + b.Property("Xp") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("AwardedXp"); + b.HasIndex("AwardedXp"); - b.HasIndex("GuildId"); + b.HasIndex("GuildId"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.HasIndex("Xp"); + b.HasIndex("Xp"); - b.HasIndex("UserId", "GuildId") - .IsUnique(); + b.HasIndex("UserId", "GuildId") + .IsUnique(); - b.ToTable("UserXpStats"); - }); + b.ToTable("UserXpStats"); + }); modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.Property("VoiceChannelId") - .HasColumnType("INTEGER"); + b.Property("VoiceChannelId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("VcRoleInfo"); - }); + b.ToTable("VcRoleInfo"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("AffinityId") - .HasColumnType("INTEGER"); + b.Property("AffinityId") + .HasColumnType("INTEGER"); - b.Property("ClaimerId") - .HasColumnType("INTEGER"); + b.Property("ClaimerId") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Price") - .HasColumnType("INTEGER"); + b.Property("Price") + .HasColumnType("INTEGER"); - b.Property("WaifuId") - .HasColumnType("INTEGER"); + b.Property("WaifuId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("AffinityId"); + b.HasIndex("AffinityId"); - b.HasIndex("ClaimerId"); + b.HasIndex("ClaimerId"); - b.HasIndex("Price"); + b.HasIndex("Price"); - b.HasIndex("WaifuId") - .IsUnique(); + b.HasIndex("WaifuId") + .IsUnique(); - b.ToTable("WaifuInfo"); - }); + b.ToTable("WaifuInfo"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("ItemEmoji") - .HasColumnType("TEXT"); + b.Property("ItemEmoji") + .HasColumnType("TEXT"); - b.Property("Name") - .HasColumnType("TEXT"); + b.Property("Name") + .HasColumnType("TEXT"); - b.Property("WaifuInfoId") - .HasColumnType("INTEGER"); + b.Property("WaifuInfoId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("WaifuInfoId"); + b.HasIndex("WaifuInfoId"); - b.ToTable("WaifuItem"); - }); + b.ToTable("WaifuItem"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("NewId") - .HasColumnType("INTEGER"); + b.Property("NewId") + .HasColumnType("INTEGER"); - b.Property("OldId") - .HasColumnType("INTEGER"); + b.Property("OldId") + .HasColumnType("INTEGER"); - b.Property("UpdateType") - .HasColumnType("INTEGER"); + b.Property("UpdateType") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("NewId"); + b.HasIndex("NewId"); - b.HasIndex("OldId"); + b.HasIndex("OldId"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("WaifuUpdates"); - }); + b.ToTable("WaifuUpdates"); + }); modelBuilder.Entity("EllieBot.Db.Models.Warning", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Forgiven") - .HasColumnType("INTEGER"); + b.Property("Forgiven") + .HasColumnType("INTEGER"); - b.Property("ForgivenBy") - .HasColumnType("TEXT"); + b.Property("ForgivenBy") + .HasColumnType("TEXT"); - b.Property("GuildId") - .HasColumnType("INTEGER"); + b.Property("GuildId") + .HasColumnType("INTEGER"); - b.Property("Moderator") - .HasColumnType("TEXT"); + b.Property("Moderator") + .HasColumnType("TEXT"); - b.Property("Reason") - .HasColumnType("TEXT"); + b.Property("Reason") + .HasColumnType("TEXT"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.Property("Weight") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER") - .HasDefaultValue(1L); + b.Property("Weight") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(1L); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("DateAdded"); + b.HasIndex("DateAdded"); - b.HasIndex("GuildId"); + b.HasIndex("GuildId"); - b.HasIndex("UserId"); + b.HasIndex("UserId"); - b.ToTable("Warnings"); - }); + b.ToTable("Warnings"); + }); modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Count") - .HasColumnType("INTEGER"); + b.Property("Count") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("Punishment") - .HasColumnType("INTEGER"); + b.Property("Punishment") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.Property("Time") - .HasColumnType("INTEGER"); + b.Property("Time") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("GuildConfigId"); - b.ToTable("WarningPunishment"); - }); + b.ToTable("WarningPunishment"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("Amount") - .HasColumnType("INTEGER"); + b.Property("Amount") + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Level") - .HasColumnType("INTEGER"); + b.Property("Level") + .HasColumnType("INTEGER"); - b.Property("XpSettingsId") - .HasColumnType("INTEGER"); + b.Property("XpSettingsId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("XpSettingsId"); + b.HasIndex("XpSettingsId"); - b.ToTable("XpCurrencyReward"); - }); + b.ToTable("XpCurrencyReward"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("Level") - .HasColumnType("INTEGER"); + b.Property("Level") + .HasColumnType("INTEGER"); - b.Property("Remove") - .HasColumnType("INTEGER"); + b.Property("Remove") + .HasColumnType("INTEGER"); - b.Property("RoleId") - .HasColumnType("INTEGER"); + b.Property("RoleId") + .HasColumnType("INTEGER"); - b.Property("XpSettingsId") - .HasColumnType("INTEGER"); + b.Property("XpSettingsId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("XpSettingsId", "Level") - .IsUnique(); + b.HasIndex("XpSettingsId", "Level") + .IsUnique(); - b.ToTable("XpRoleReward"); - }); + b.ToTable("XpRoleReward"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("GuildConfigId") - .HasColumnType("INTEGER"); + b.Property("GuildConfigId") + .HasColumnType("INTEGER"); - b.Property("ServerExcluded") - .HasColumnType("INTEGER"); + b.Property("ServerExcluded") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("GuildConfigId") - .IsUnique(); + b.HasIndex("GuildConfigId") + .IsUnique(); - b.ToTable("XpSettings"); - }); + b.ToTable("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpShopOwnedItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); - b.Property("DateAdded") - .HasColumnType("TEXT"); + b.Property("DateAdded") + .HasColumnType("TEXT"); - b.Property("IsUsing") - .HasColumnType("INTEGER"); + b.Property("IsUsing") + .HasColumnType("INTEGER"); - b.Property("ItemKey") - .IsRequired() - .HasColumnType("TEXT"); + b.Property("ItemKey") + .IsRequired() + .HasColumnType("TEXT"); - b.Property("ItemType") - .HasColumnType("INTEGER"); + b.Property("ItemType") + .HasColumnType("INTEGER"); - b.Property("UserId") - .HasColumnType("INTEGER"); + b.Property("UserId") + .HasColumnType("INTEGER"); - b.HasKey("Id"); + b.HasKey("Id"); - b.HasIndex("UserId", "ItemType", "ItemKey") - .IsUnique(); + b.HasIndex("UserId", "ItemType", "ItemKey") + .IsUnique(); - b.ToTable("XpShopOwnedItem"); - }); + b.ToTable("XpShopOwnedItem"); + }); + + modelBuilder.Entity("EllieBot.Services.GreetSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("AutoDeleteTimer") + .HasColumnType("INTEGER"); + + b.Property("ChannelId") + .HasColumnType("INTEGER"); + + b.Property("GreetType") + .HasColumnType("INTEGER"); + + b.Property("GuildId") + .HasColumnType("INTEGER"); + + b.Property("IsEnabled") + .HasColumnType("INTEGER"); + + b.Property("MessageText") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "GreetType") + .IsUnique(); + + b.ToTable("GreetSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiAltSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiAltSetting") - .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiAltSetting") + .HasForeignKey("EllieBot.Db.Models.AntiAltSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiRaidSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiRaidSetting") - .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiRaidSetting") + .HasForeignKey("EllieBot.Db.Models.AntiRaidSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamIgnore", b => - { - b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) - .WithMany("IgnoredChannels") - .HasForeignKey("AntiSpamSettingId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.AntiSpamSetting", null) + .WithMany("IgnoredChannels") + .HasForeignKey("AntiSpamSettingId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithOne("AntiSpamSetting") - .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithOne("AntiSpamSetting") + .HasForeignKey("EllieBot.Db.Models.AntiSpamSetting", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateUser", b => - { - b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") - .WithMany("Users") - .HasForeignKey("ChannelId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.AutoTranslateChannel", "Channel") + .WithMany("Users") + .HasForeignKey("ChannelId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("Channel"); - }); + b.Navigation("Channel"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubApplicants", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Applicants") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Applicants") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("Club"); + b.Navigation("Club"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubBans", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Bans") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Bans") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("Club"); + b.Navigation("Club"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") - .WithOne() - .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") - .OnDelete(DeleteBehavior.SetNull); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Owner") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.ClubInfo", "OwnerId") + .OnDelete(DeleteBehavior.SetNull); - b.Navigation("Owner"); - }); + b.Navigation("Owner"); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandAlias", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("CommandAliases") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandAliases") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.CommandCooldown", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("CommandCooldowns") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.DelMsgOnCmdChannel", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("DelMsgOnCmdChannels") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("DelMsgOnCmdChannels") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); modelBuilder.Entity("EllieBot.Db.Models.DiscordUser", b => - { - b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") - .WithMany("Members") - .HasForeignKey("ClubId") - .OnDelete(DeleteBehavior.NoAction); + { + b.HasOne("EllieBot.Db.Models.ClubInfo", "Club") + .WithMany("Members") + .HasForeignKey("ClubId") + .OnDelete(DeleteBehavior.NoAction); - b.Navigation("Club"); - }); + b.Navigation("Club"); + }); modelBuilder.Entity("EllieBot.Db.Models.ExcludedItem", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("ExclusionList") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("ExclusionList") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.FeedSub", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("FeedSubs") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("FeedSubs") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterLinksChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterLinksChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterLinksChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.FilterWordsChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.FilteredWord", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.FollowedStream", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.GCChannelId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("GenerateCurrencyChannelIds") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayUser", b => - { - b.HasOne("EllieBot.Db.Models.GiveawayModel", null) - .WithMany("Participants") - .HasForeignKey("GiveawayId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); + { + b.HasOne("EllieBot.Db.Models.GiveawayModel", null) + .WithMany("Participants") + .HasForeignKey("GiveawayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); modelBuilder.Entity("EllieBot.Db.Models.GroupName", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithMany("SelfAssignableRoleGroupNames") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithMany("SelfAssignableRoleGroupNames") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.IgnoredLogItem", b => - { - b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") - .WithMany("LogIgnores") - .HasForeignKey("LogSettingId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.LogSetting", "LogSetting") + .WithMany("LogIgnores") + .HasForeignKey("LogSettingId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("LogSetting"); - }); + b.Navigation("LogSetting"); + }); modelBuilder.Entity("EllieBot.Db.Models.MutedUserId", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("MutedUsers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("MutedUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.Permissionv2", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("Permissions") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("Permissions") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.PlaylistSong", b => - { - b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.MusicPlaylist", null) + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("ShopEntries") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("ShopEntries") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntryItem", b => - { - b.HasOne("EllieBot.Db.Models.ShopEntry", null) - .WithMany("Items") - .HasForeignKey("ShopEntryId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.ShopEntry", null) + .WithMany("Items") + .HasForeignKey("ShopEntryId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredRole", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("SlowmodeIgnoredRoles") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredRoles") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.SlowmodeIgnoredUser", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("SlowmodeIgnoredUsers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("SlowmodeIgnoredUsers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleBlacklistedUser", b => - { - b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") - .WithMany("Blacklist") - .HasForeignKey("StreamRoleSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Blacklist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("StreamRoleSettings"); - }); + b.Navigation("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithOne("StreamRole") - .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("StreamRole") + .HasForeignKey("EllieBot.Db.Models.StreamRoleSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleWhitelistedUser", b => - { - b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") - .WithMany("Whitelist") - .HasForeignKey("StreamRoleSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.StreamRoleSettings", "StreamRoleSettings") + .WithMany("Whitelist") + .HasForeignKey("StreamRoleSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("StreamRoleSettings"); - }); + b.Navigation("StreamRoleSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.TodoModel", b => - { - b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) - .WithMany("Items") - .HasForeignKey("ArchiveId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.ArchivedTodoListModel", null) + .WithMany("Items") + .HasForeignKey("ArchiveId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.UnbanTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnbanTimer") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnbanTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.UnmuteTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnmuteTimers") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnmuteTimers") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.UnroleTimer", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("UnroleTimer") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("UnroleTimer") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.VcRoleInfo", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("VcRoleInfos") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("VcRoleInfos") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") - .WithMany() - .HasForeignKey("AffinityId"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "Affinity") + .WithMany() + .HasForeignKey("AffinityId"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") - .WithMany() - .HasForeignKey("ClaimerId"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Claimer") + .WithMany() + .HasForeignKey("ClaimerId"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") - .WithOne() - .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Waifu") + .WithOne() + .HasForeignKey("EllieBot.Db.Models.WaifuInfo", "WaifuId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("Affinity"); + b.Navigation("Affinity"); - b.Navigation("Claimer"); + b.Navigation("Claimer"); - b.Navigation("Waifu"); - }); + b.Navigation("Waifu"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuItem", b => - { - b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") - .WithMany("Items") - .HasForeignKey("WaifuInfoId"); + { + b.HasOne("EllieBot.Db.Models.WaifuInfo", "WaifuInfo") + .WithMany("Items") + .HasForeignKey("WaifuInfoId"); - b.Navigation("WaifuInfo"); - }); + b.Navigation("WaifuInfo"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuUpdate", b => - { - b.HasOne("EllieBot.Db.Models.DiscordUser", "New") - .WithMany() - .HasForeignKey("NewId"); + { + b.HasOne("EllieBot.Db.Models.DiscordUser", "New") + .WithMany() + .HasForeignKey("NewId"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") - .WithMany() - .HasForeignKey("OldId"); + b.HasOne("EllieBot.Db.Models.DiscordUser", "Old") + .WithMany() + .HasForeignKey("OldId"); - b.HasOne("EllieBot.Db.Models.DiscordUser", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + b.HasOne("EllieBot.Db.Models.DiscordUser", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("New"); + b.Navigation("New"); - b.Navigation("Old"); + b.Navigation("Old"); - b.Navigation("User"); - }); + b.Navigation("User"); + }); modelBuilder.Entity("EllieBot.Db.Models.WarningPunishment", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", null) - .WithMany("WarnPunishments") - .HasForeignKey("GuildConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", null) + .WithMany("WarnPunishments") + .HasForeignKey("GuildConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); modelBuilder.Entity("EllieBot.Db.Models.XpCurrencyReward", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("CurrencyRewards") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("CurrencyRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpRoleReward", b => - { - b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") - .WithMany("RoleRewards") - .HasForeignKey("XpSettingsId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.XpSettings", "XpSettings") + .WithMany("RoleRewards") + .HasForeignKey("XpSettingsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") - .WithOne("XpSettings") - .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); + { + b.HasOne("EllieBot.Db.Models.GuildConfig", "GuildConfig") + .WithOne("XpSettings") + .HasForeignKey("EllieBot.Db.Models.XpSettings", "GuildConfigId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); - b.Navigation("GuildConfig"); - }); + b.Navigation("GuildConfig"); + }); modelBuilder.Entity("EllieBot.Db.Models.AntiSpamSetting", b => - { - b.Navigation("IgnoredChannels"); - }); + { + b.Navigation("IgnoredChannels"); + }); modelBuilder.Entity("EllieBot.Db.Models.ArchivedTodoListModel", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.AutoTranslateChannel", b => - { - b.Navigation("Users"); - }); + { + b.Navigation("Users"); + }); modelBuilder.Entity("EllieBot.Db.Models.ClubInfo", b => - { - b.Navigation("Applicants"); + { + b.Navigation("Applicants"); - b.Navigation("Bans"); + b.Navigation("Bans"); - b.Navigation("Members"); - }); + b.Navigation("Members"); + }); modelBuilder.Entity("EllieBot.Db.Models.GiveawayModel", b => - { - b.Navigation("Participants"); - }); + { + b.Navigation("Participants"); + }); modelBuilder.Entity("EllieBot.Db.Models.GuildConfig", b => - { - b.Navigation("AntiAltSetting"); + { + b.Navigation("AntiAltSetting"); - b.Navigation("AntiRaidSetting"); + b.Navigation("AntiRaidSetting"); - b.Navigation("AntiSpamSetting"); + b.Navigation("AntiSpamSetting"); - b.Navigation("CommandAliases"); + b.Navigation("CommandAliases"); - b.Navigation("CommandCooldowns"); + b.Navigation("CommandCooldowns"); - b.Navigation("DelMsgOnCmdChannels"); + b.Navigation("DelMsgOnCmdChannels"); - b.Navigation("FeedSubs"); + b.Navigation("FeedSubs"); - b.Navigation("FilterInvitesChannelIds"); + b.Navigation("FilterInvitesChannelIds"); - b.Navigation("FilterLinksChannelIds"); + b.Navigation("FilterLinksChannelIds"); - b.Navigation("FilterWordsChannelIds"); + b.Navigation("FilterWordsChannelIds"); - b.Navigation("FilteredWords"); + b.Navigation("FilteredWords"); - b.Navigation("FollowedStreams"); + b.Navigation("FollowedStreams"); - b.Navigation("GenerateCurrencyChannelIds"); + b.Navigation("GenerateCurrencyChannelIds"); - b.Navigation("MutedUsers"); + b.Navigation("MutedUsers"); - b.Navigation("Permissions"); + b.Navigation("Permissions"); - b.Navigation("SelfAssignableRoleGroupNames"); + b.Navigation("SelfAssignableRoleGroupNames"); - b.Navigation("ShopEntries"); + b.Navigation("ShopEntries"); - b.Navigation("SlowmodeIgnoredRoles"); + b.Navigation("SlowmodeIgnoredRoles"); - b.Navigation("SlowmodeIgnoredUsers"); + b.Navigation("SlowmodeIgnoredUsers"); - b.Navigation("StreamRole"); + b.Navigation("StreamRole"); - b.Navigation("UnbanTimer"); + b.Navigation("UnbanTimer"); - b.Navigation("UnmuteTimers"); + b.Navigation("UnmuteTimers"); - b.Navigation("UnroleTimer"); + b.Navigation("UnroleTimer"); - b.Navigation("VcRoleInfos"); + b.Navigation("VcRoleInfos"); - b.Navigation("WarnPunishments"); + b.Navigation("WarnPunishments"); - b.Navigation("XpSettings"); - }); + b.Navigation("XpSettings"); + }); modelBuilder.Entity("EllieBot.Db.Models.LogSetting", b => - { - b.Navigation("LogIgnores"); - }); + { + b.Navigation("LogIgnores"); + }); modelBuilder.Entity("EllieBot.Db.Models.MusicPlaylist", b => - { - b.Navigation("Songs"); - }); + { + b.Navigation("Songs"); + }); modelBuilder.Entity("EllieBot.Db.Models.ShopEntry", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.StreamRoleSettings", b => - { - b.Navigation("Blacklist"); + { + b.Navigation("Blacklist"); - b.Navigation("Whitelist"); - }); + b.Navigation("Whitelist"); + }); modelBuilder.Entity("EllieBot.Db.Models.WaifuInfo", b => - { - b.Navigation("Items"); - }); + { + b.Navigation("Items"); + }); modelBuilder.Entity("EllieBot.Db.Models.XpSettings", b => - { - b.Navigation("CurrencyRewards"); + { + b.Navigation("CurrencyRewards"); - b.Navigation("ExclusionList"); + b.Navigation("ExclusionList"); - b.Navigation("RoleRewards"); - }); + b.Navigation("RoleRewards"); + }); #pragma warning restore 612, 618 } } diff --git a/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs b/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs index 104e4e7..b473326 100644 --- a/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs +++ b/src/EllieBot/Modules/Administration/GreetBye/GreetCommands.cs @@ -5,238 +5,223 @@ public partial class Administration [Group] public partial class GreetCommands : EllieModule { - [Cmd] - [RequireContext(ContextType.Guild)] - [UserPerm(GuildPerm.ManageGuild)] - public async Task Boost() + public async Task Toggle(GreetType type) { - var enabled = await _service.ToggleBoost(ctx.Guild.Id, ctx.Channel.Id); + var enabled = await _service.SetGreet(ctx.Guild.Id, ctx.Channel.Id, type); if (enabled) - await Response().Confirm(strs.boost_on).SendAsync(); + await Response() + .Confirm( + type switch + { + GreetType.Boost => strs.boost_on, + GreetType.Greet => strs.greet_on, + GreetType.Bye => strs.bye_on, + GreetType.GreetDm => strs.greetdm_on, + _ => strs.error + } + ) + .SendAsync(); else - await Response().Pending(strs.boost_off).SendAsync(); + await Response() + .Pending( + type switch + { + GreetType.Boost => strs.boost_off, + GreetType.Greet => strs.greet_off, + GreetType.Bye => strs.bye_off, + GreetType.GreetDm => strs.greetdm_off, + _ => strs.error + } + ) + .SendAsync(); } - [Cmd] - [RequireContext(ContextType.Guild)] - [UserPerm(GuildPerm.ManageGuild)] - public async Task BoostDel(int timer = 30) + + public async Task SetDel(GreetType type, int timer) { if (timer is < 0 or > 600) return; - await _service.SetBoostDel(ctx.Guild.Id, timer); + await _service.SetDeleteTimer(ctx.Guild.Id, type, timer); if (timer > 0) - await Response().Confirm(strs.boostdel_on(timer)).SendAsync(); + await Response() + .Confirm( + type switch + { + GreetType.Boost => strs.boostdel_on(timer), + GreetType.Greet => strs.greetdel_on(timer), + GreetType.Bye => strs.byedel_on(timer), + _ => strs.error + } + ) + .SendAsync(); else - await Response().Pending(strs.boostdel_off).SendAsync(); + await Response() + .Pending( + type switch + { + GreetType.Boost => strs.boostdel_off, + GreetType.Greet => strs.greetdel_off, + GreetType.Bye => strs.byedel_off, + _ => strs.error + }) + .SendAsync(); } - [Cmd] - [RequireContext(ContextType.Guild)] - [UserPerm(GuildPerm.ManageGuild)] - public async Task BoostMsg([Leftover] string? text = null) + + public async Task SetMsg(GreetType type, string? text = null) { if (string.IsNullOrWhiteSpace(text)) { - var boostMessage = _service.GetBoostMessage(ctx.Guild.Id); - await Response().Confirm(strs.boostmsg_cur(boostMessage?.SanitizeMentions())).SendAsync(); + await _service.SetMessage(ctx.Guild.Id, type, null); + var conf = await _service.GetGreetSettingsAsync(ctx.Guild.Id, type); + var msg = conf?.MessageText ?? "No message set."; + await Response() + .Confirm( + type switch + { + GreetType.Boost => strs.boostmsg_cur(msg.SanitizeMentions()), + GreetType.Greet => strs.greetmsg_cur(msg.SanitizeMentions()), + GreetType.Bye => strs.byemsg_cur(msg.SanitizeMentions()), + GreetType.GreetDm => strs.greetdmmsg_cur(msg.SanitizeMentions()), + _ => strs.error + }) + .SendAsync(); return; } - var sendBoostEnabled = _service.SetBoostMessage(ctx.Guild.Id, ref text); + var isEnabled = await _service.SetMessage(ctx.Guild.Id, type, text); - await Response().Confirm(strs.boostmsg_new).SendAsync(); - if (!sendBoostEnabled) - await Response().Pending(strs.boostmsg_enable($"`{prefix}boost`")).SendAsync(); - } + await Response() + .Confirm(type switch + { + GreetType.Boost => strs.boostmsg_new, + GreetType.Greet => strs.greetmsg_new, + GreetType.Bye => strs.byemsg_new, + GreetType.GreetDm => strs.greetdmmsg_new, + _ => strs.error + }) + .SendAsync(); - [Cmd] - [RequireContext(ContextType.Guild)] - [UserPerm(GuildPerm.ManageGuild)] - public async Task GreetDel(int timer = 30) - { - if (timer is < 0 or > 600) - return; - await _service.SetGreetDel(ctx.Guild.Id, timer); - - if (timer > 0) - await Response().Confirm(strs.greetdel_on(timer)).SendAsync(); - else - await Response().Pending(strs.greetdel_off).SendAsync(); - } - - [Cmd] - [RequireContext(ContextType.Guild)] - [UserPerm(GuildPerm.ManageGuild)] - public async Task Greet() - { - var enabled = await _service.SetGreet(ctx.Guild.Id, ctx.Channel.Id); - - if (enabled) - await Response().Confirm(strs.greet_on).SendAsync(); - else - await Response().Pending(strs.greet_off).SendAsync(); - } - - [Cmd] - [RequireContext(ContextType.Guild)] - [UserPerm(GuildPerm.ManageGuild)] - public async Task GreetMsg([Leftover] string? text = null) - { - if (string.IsNullOrWhiteSpace(text)) + if (!isEnabled) { - var greetMsg = _service.GetGreetMsg(ctx.Guild.Id); - await Response().Confirm(strs.greetmsg_cur(greetMsg?.SanitizeMentions())).SendAsync(); - return; + var cmdName = type switch + { + GreetType.Greet => "greet", + GreetType.Bye => "bye", + GreetType.Boost => "boost", + GreetType.GreetDm => "greetdm", + _ => "unknown_command" + }; + + await Response().Pending(strs.boostmsg_enable($"`{prefix}{cmdName}`")).SendAsync(); } - - var sendGreetEnabled = _service.SetGreetMessage(ctx.Guild.Id, ref text); - - await Response().Confirm(strs.greetmsg_new).SendAsync(); - - if (!sendGreetEnabled) - await Response().Pending(strs.greetmsg_enable($"`{prefix}greet`")).SendAsync(); } [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] - public async Task GreetDm() - { - var enabled = await _service.SetGreetDm(ctx.Guild.Id); - - if (enabled) - await Response().Confirm(strs.greetdm_on).SendAsync(); - else - await Response().Confirm(strs.greetdm_off).SendAsync(); - } + public Task Boost() + => Toggle(GreetType.Boost); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] - public async Task GreetDmMsg([Leftover] string? text = null) - { - if (string.IsNullOrWhiteSpace(text)) - { - var dmGreetMsg = _service.GetDmGreetMsg(ctx.Guild.Id); - await Response().Confirm(strs.greetdmmsg_cur(dmGreetMsg?.SanitizeMentions())).SendAsync(); - return; - } - - var sendGreetEnabled = _service.SetGreetDmMessage(ctx.Guild.Id, ref text); - - await Response().Confirm(strs.greetdmmsg_new).SendAsync(); - if (!sendGreetEnabled) - await Response().Pending(strs.greetdmmsg_enable($"`{prefix}greetdm`")).SendAsync(); - } + public Task BoostDel(int timer = 30) + => SetDel(GreetType.Boost, timer); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] - public async Task Bye() - { - var enabled = await _service.SetBye(ctx.Guild.Id, ctx.Channel.Id); - - if (enabled) - await Response().Confirm(strs.bye_on).SendAsync(); - else - await Response().Confirm(strs.bye_off).SendAsync(); - } + public Task BoostMsg([Leftover] string? text = null) + => SetMsg(GreetType.Boost, text); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] - public async Task ByeMsg([Leftover] string? text = null) - { - if (string.IsNullOrWhiteSpace(text)) - { - var byeMsg = _service.GetByeMessage(ctx.Guild.Id); - await Response().Confirm(strs.byemsg_cur(byeMsg?.SanitizeMentions())).SendAsync(); - return; - } - - var sendByeEnabled = _service.SetByeMessage(ctx.Guild.Id, ref text); - - await Response().Confirm(strs.byemsg_new).SendAsync(); - if (!sendByeEnabled) - await Response().Pending(strs.byemsg_enable($"`{prefix}bye`")).SendAsync(); - } + public Task Greet() + => Toggle(GreetType.Greet); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] - public async Task ByeDel(int timer = 30) - { - await _service.SetByeDel(ctx.Guild.Id, timer); + public Task GreetDel(int timer = 30) + => SetDel(GreetType.Greet, timer); - if (timer > 0) - await Response().Confirm(strs.byedel_on(timer)).SendAsync(); - else - await Response().Pending(strs.byedel_off).SendAsync(); - } + [Cmd] + [RequireContext(ContextType.Guild)] + [UserPerm(GuildPerm.ManageGuild)] + public Task GreetMsg([Leftover] string? text = null) + => SetMsg(GreetType.Greet, text); + [Cmd] + [RequireContext(ContextType.Guild)] + [UserPerm(GuildPerm.ManageGuild)] + public Task GreetDm() + => Toggle(GreetType.GreetDm); + + [Cmd] + [RequireContext(ContextType.Guild)] + [UserPerm(GuildPerm.ManageGuild)] + public Task GreetDmMsg([Leftover] string? text = null) + => SetMsg(GreetType.GreetDm, text); + + [Cmd] + [RequireContext(ContextType.Guild)] + [UserPerm(GuildPerm.ManageGuild)] + public Task Bye() + => Toggle(GreetType.Bye); + + [Cmd] + [RequireContext(ContextType.Guild)] + [UserPerm(GuildPerm.ManageGuild)] + public Task ByeDel(int timer = 30) + => SetDel(GreetType.Bye, timer); + + [Cmd] + [RequireContext(ContextType.Guild)] + [UserPerm(GuildPerm.ManageGuild)] + public Task ByeMsg([Leftover] string? text = null) + => SetMsg(GreetType.Bye, text); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] [Ratelimit(5)] - public async Task ByeTest([Leftover] IGuildUser? user = null) - { - user ??= (IGuildUser)ctx.User; - - await _service.ByeTest((ITextChannel)ctx.Channel, user); - var enabled = _service.GetByeEnabled(ctx.Guild.Id); - if (!enabled) - await Response().Pending(strs.byemsg_enable($"`{prefix}bye`")).SendAsync(); - } + public Task GreetTest([Leftover] IGuildUser? user = null) + => Test(GreetType.Greet, user); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] [Ratelimit(5)] - public async Task GreetTest([Leftover] IGuildUser? user = null) - { - user ??= (IGuildUser)ctx.User; - - await _service.GreetTest((ITextChannel)ctx.Channel, user); - var enabled = _service.GetGreetEnabled(ctx.Guild.Id); - if (!enabled) - await Response().Pending(strs.greetmsg_enable($"`{prefix}greet`")).SendAsync(); - } + public Task GreetDmTest([Leftover] IGuildUser? user = null) + => Test(GreetType.GreetDm, user); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] [Ratelimit(5)] - public async Task GreetDmTest([Leftover] IGuildUser? user = null) - { - user ??= (IGuildUser)ctx.User; - - var success = await _service.GreetDmTest(user); - if (success) - await ctx.OkAsync(); - else - await ctx.WarningAsync(); - var enabled = _service.GetGreetDmEnabled(ctx.Guild.Id); - if (!enabled) - await Response().Pending(strs.greetdmmsg_enable($"`{prefix}greetdm`")).SendAsync(); - } + public Task ByeTest([Leftover] IGuildUser? user = null) + => Test(GreetType.Bye, user); [Cmd] [RequireContext(ContextType.Guild)] [UserPerm(GuildPerm.ManageGuild)] [Ratelimit(5)] - public async Task BoostTest([Leftover] IGuildUser? user = null) + public Task BoostTest([Leftover] IGuildUser? user = null) + => Test(GreetType.Boost, user); + + public async Task Test(GreetType type, IGuildUser? user = null) { user ??= (IGuildUser)ctx.User; - await _service.BoostTest((ITextChannel)ctx.Channel, user); - var enabled = _service.GetBoostEnabled(ctx.Guild.Id); - if (!enabled) + await _service.Test(ctx.Guild.Id, type, (ITextChannel)ctx.Channel, user); + var conf = await _service.GetGreetSettingsAsync(ctx.Guild.Id, type); + if (conf?.IsEnabled is not true) await Response().Pending(strs.boostmsg_enable($"`{prefix}boost`")).SendAsync(); } } diff --git a/src/EllieBot/Modules/Administration/GreetBye/GreetGrouper.cs b/src/EllieBot/Modules/Administration/GreetBye/GreetGrouper.cs deleted file mode 100644 index a92256e..0000000 --- a/src/EllieBot/Modules/Administration/GreetBye/GreetGrouper.cs +++ /dev/null @@ -1,71 +0,0 @@ -namespace EllieBot.Services; - -public class GreetGrouper -{ - private readonly Dictionary> _group; - private readonly object _locker = new(); - - public GreetGrouper() - => _group = new(); - - - /// - /// Creates a group, if group already exists, adds the specified user - /// - /// Id of the server for which to create group for - /// User to add if group already exists - /// - public bool CreateOrAdd(ulong guildId, T toAddIfExists) - { - lock (_locker) - { - if (_group.TryGetValue(guildId, out var list)) - { - list.Add(toAddIfExists); - return false; - } - - _group[guildId] = new(); - return true; - } - } - - /// - /// Remove the specified amount of items from the group. If all items are removed, group will be removed. - /// - /// Id of the group - /// Maximum number of items to retrieve - /// Items retrieved - /// Whether the group has no more items left and is deleted - public bool ClearGroup(ulong guildId, int count, out IReadOnlyCollection items) - { - lock (_locker) - { - if (_group.TryGetValue(guildId, out var set)) - { - // if we want more than there are, return everything - if (count >= set.Count) - { - items = set; - _group.Remove(guildId); - return true; - } - - // if there are more in the group than what's needed - // take the requested number, remove them from the set - // and return them - var toReturn = set.TakeWhile(_ => count-- != 0).ToList(); - foreach (var item in toReturn) - set.Remove(item); - - items = toReturn; - // returning falsemeans group is not yet deleted - // because there are items left - return false; - } - - items = Array.Empty(); - return true; - } - } -} \ No newline at end of file diff --git a/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs b/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs index 59fc1b7..e1fd0db 100644 --- a/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs +++ b/src/EllieBot/Modules/Administration/GreetBye/GreetService.cs @@ -8,36 +8,38 @@ namespace EllieBot.Services; public class GreetService : IEService, IReadyExecutor { - public bool GroupGreets - => _bss.Data.GroupGreets; - private readonly DbService _db; - private ConcurrentHashSet _greetDmEnabledGuilds = new(); - private ConcurrentHashSet _boostEnabledGuilds = new(); - private ConcurrentHashSet _greetEnabledGuilds = new(); - private ConcurrentHashSet _byeEnabledGuilds = new(); + private ConcurrentDictionary> _enabled = new(); private readonly DiscordSocketClient _client; - private readonly GreetGrouper _greets = new(); - private readonly GreetGrouper _byes = new(); private readonly BotConfigService _bss; private readonly IReplacementService _repSvc; + private readonly IBotCache _cache; private readonly IMessageSenderService _sender; + private readonly Channel<(GreetSettings, IUser, ITextChannel?)> _greetQueue = + Channel.CreateBounded<(GreetSettings, IUser, ITextChannel?)>( + new BoundedChannelOptions(60) + { + FullMode = BoundedChannelFullMode.DropOldest + }); + public GreetService( DiscordSocketClient client, DbService db, BotConfigService bss, IMessageSenderService sender, - IReplacementService repSvc + IReplacementService repSvc, + IBotCache cache ) { _db = db; _client = client; _bss = bss; _repSvc = repSvc; + _cache = cache; _sender = sender; } @@ -49,16 +51,12 @@ public class GreetService : IEService, IReadyExecutor var guilds = _client.Guilds.Select(x => x.Id).ToList(); var enabled = await uow.GetTable() .Where(x => x.GuildId.In(guilds)) - .Where(x => x.SendChannelGreetMessage - || x.SendBoostMessage - || x.SendChannelByeMessage - || x.SendDmGreetMessage) + .Where(x => x.IsEnabled) .ToListAsync(); - _boostEnabledGuilds = new(enabled.Where(x => x.SendBoostMessage).Select(x => x.GuildId)); - _byeEnabledGuilds = new(enabled.Where(x => x.SendChannelByeMessage).Select(x => x.GuildId)); - _greetDmEnabledGuilds = new(enabled.Where(x => x.SendDmGreetMessage).Select(x => x.GuildId)); - _greetEnabledGuilds = new(enabled.Where(x => x.SendChannelGreetMessage).Select(x => x.GuildId)); + _enabled = enabled.GroupBy(x => x.GreetType, v => v.GuildId) + .ToDictionary(x => x.Key, x => x.ToHashSet().ToConcurrentSet()) + .ToConcurrent(); } _client.UserJoined += OnUserJoined; @@ -71,9 +69,8 @@ public class GreetService : IEService, IReadyExecutor var timer = new PeriodicTimer(TimeSpan.FromSeconds(2)); while (await timer.WaitForNextTickAsync()) { - var (conf, user, compl) = await _greetDmQueue.Reader.ReadAsync(); - var res = await GreetDmUserInternal(conf, user); - compl.TrySetResult(res); + var (conf, user, ch) = await _greetQueue.Reader.ReadAsync(); + await GreetUsers(conf, ch, user); } } @@ -88,62 +85,35 @@ public class GreetService : IEService, IReadyExecutor { _ = Task.Run(async () => { - var conf = await GetGreetSettingsAsync(newUser.Guild.Id); + var conf = await GetGreetSettingsAsync(newUser.Guild.Id, GreetType.Boost); - if (conf is null || !conf.SendBoostMessage) + if (conf is null || !conf.IsEnabled) return; - await TriggerBoostMessage(conf, newUser); + ITextChannel? channel = null; + if (conf.ChannelId is { } cid) + channel = newUser.Guild.GetTextChannel(cid); + + if (channel is null) + return; + + await GreetUsers(conf, channel, newUser); }); } return Task.CompletedTask; } - private async Task TriggerBoostMessage(GreetSettings conf, SocketGuildUser user) + private async Task OnClientLeftGuild(SocketGuild guild) { - var channel = user.Guild.GetTextChannel(conf.BoostMessageChannelId); - if (channel is null) - return; - - await SendBoostMessage(conf, user, channel); - } - - private async Task SendBoostMessage(GreetSettings conf, IGuildUser user, ITextChannel channel) - { - if (string.IsNullOrWhiteSpace(conf.BoostMessage)) - return false; - - var toSend = SmartText.CreateFrom(conf.BoostMessage); - - try + foreach (var gt in Enum.GetValues()) { - var newContent = await _repSvc.ReplaceAsync(toSend, - new(client: _client, guild: user.Guild, channel: channel, users: user)); - var toDelete = await _sender.Response(channel).Text(newContent).Sanitize(false).SendAsync(); - if (conf.BoostMessageDeleteAfter > 0) - toDelete.DeleteAfter(conf.BoostMessageDeleteAfter); - - return true; + _enabled[gt].TryRemove(guild.Id); } - catch (Exception ex) - { - Log.Error(ex, "Error sending boost message"); - } - - return false; - } - - private async Task OnClientLeftGuild(SocketGuild arg) - { - _boostEnabledGuilds.TryRemove(arg.Id); - _byeEnabledGuilds.TryRemove(arg.Id); - _greetDmEnabledGuilds.TryRemove(arg.Id); - _greetEnabledGuilds.TryRemove(arg.Id); await using var uow = _db.GetDbContext(); await uow.GetTable() - .Where(x => x.GuildId == arg.Id) + .Where(x => x.GuildId == guild.Id) .DeleteAsync(); } @@ -153,38 +123,20 @@ public class GreetService : IEService, IReadyExecutor { try { - var conf = await GetGreetSettingsAsync(guild.Id); + var conf = await GetGreetSettingsAsync(guild.Id, GreetType.Bye); if (conf is null) return; - var channel = guild.TextChannels.FirstOrDefault(c => c.Id == conf.ByeMessageChannelId); + var channel = guild.TextChannels.FirstOrDefault(c => c.Id == conf.ChannelId); if (channel is null) //maybe warn the server owner that the channel is missing + { + await SetGreet(guild.Id, null, GreetType.Bye, false); return; + } - if (GroupGreets) - { - // if group is newly created, greet that user right away, - // but any user which joins in the next 5 seconds will - // be greeted in a group greet - if (_byes.CreateOrAdd(guild.Id, user)) - { - // greet single user - await ByeUsers(conf, channel, new[] { user }); - var groupClear = false; - while (!groupClear) - { - await Task.Delay(5000); - groupClear = _byes.ClearGroup(guild.Id, 5, out var toBye); - await ByeUsers(conf, channel, toBye); - } - } - } - else - { - await ByeUsers(conf, channel, new[] { user }); - } + await _greetQueue.Writer.WriteAsync((conf, user, channel)); } catch { @@ -194,7 +146,14 @@ public class GreetService : IEService, IReadyExecutor return Task.CompletedTask; } + private readonly TypedKey _greetSettingsKey = new(); + public async Task GetGreetSettingsAsync(ulong gid, GreetType type) + => await _cache.GetOrAddAsync(_greetSettingsKey, + () => InternalGetGreetSettingsAsync(gid, type), + TimeSpan.FromSeconds(3)); + + private async Task InternalGetGreetSettingsAsync(ulong gid, GreetType type) { await using var uow = _db.GetDbContext(); var res = await uow.GetTable() @@ -204,62 +163,32 @@ public class GreetService : IEService, IReadyExecutor return res; } - private Task ByeUsers(GreetSettings conf, ITextChannel channel, IUser user) - => ByeUsers(conf, channel, new[] { user }); - - private async Task ByeUsers(GreetSettings conf, ITextChannel channel, IReadOnlyCollection users) + private async Task GreetUsers(GreetSettings conf, ITextChannel? channel, IUser user) { - if (!users.Any()) + if (conf.GreetType == GreetType.GreetDm) + { + if (user is not IGuildUser gu) + return; + + await GreetDmUserInternal(conf, gu); + return; + } + + if (channel is null) return; var repCtx = new ReplacementContext(client: _client, guild: channel.Guild, channel: channel, - users: users.ToArray()); + user: user); - var text = SmartText.CreateFrom(conf.ChannelByeMessageText); + var text = SmartText.CreateFrom(conf.MessageText); text = await _repSvc.ReplaceAsync(text, repCtx); try { var toDelete = await _sender.Response(channel).Text(text).Sanitize(false).SendAsync(); - if (conf.AutoDeleteByeMessagesTimer > 0) - toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer); - } - catch (HttpException ex) when (ex.DiscordCode == DiscordErrorCode.InsufficientPermissions - || ex.DiscordCode == DiscordErrorCode.MissingPermissions - || ex.DiscordCode == DiscordErrorCode.UnknownChannel) - { - Log.Warning(ex, - "Missing permissions to send a bye message, the bye message will be disabled on server: {GuildId}", - channel.GuildId); - await SetGreet(channel.GuildId, channel.Id, GreetType.Bye, false); - } - catch (Exception ex) - { - Log.Warning(ex, "Error embeding bye message"); - } - } - - private Task GreetUsers(GreetSettings conf, ITextChannel channel, IGuildUser user) - => GreetUsers(conf, channel, new[] { user }); - - private async Task GreetUsers(GreetSettings conf, ITextChannel channel, IReadOnlyCollection users) - { - if (users.Count == 0) - return; - - var repCtx = new ReplacementContext(client: _client, - guild: channel.Guild, - channel: channel, - users: users.ToArray()); - - var text = SmartText.CreateFrom(conf.ChannelGreetMessageText); - text = await _repSvc.ReplaceAsync(text, repCtx); - try - { - var toDelete = await _sender.Response(channel).Text(text).Sanitize(false).SendAsync(); - if (conf.AutoDeleteGreetMessagesTimer > 0) - toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer); + if (conf.AutoDeleteTimer > 0) + toDelete.DeleteAfter(conf.AutoDeleteTimer); } catch (HttpException ex) when (ex.DiscordCode is DiscordErrorCode.InsufficientPermissions or DiscordErrorCode.MissingPermissions @@ -276,19 +205,11 @@ public class GreetService : IEService, IReadyExecutor } } - private readonly Channel<(GreetSettings, IGuildUser, TaskCompletionSource)> _greetDmQueue = - Channel.CreateBounded<(GreetSettings, IGuildUser, TaskCompletionSource)>(new BoundedChannelOptions(60) - { - // The limit of 60 users should be only hit when there's a raid. In that case - // probably the best thing to do is to drop newest (raiding) users - FullMode = BoundedChannelFullMode.DropNewest - }); - private async Task GreetDmUser(GreetSettings conf, IGuildUser user) { var completionSource = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); - await _greetDmQueue.Writer.WriteAsync((conf, user, completionSource)); + await _greetQueue.Writer.WriteAsync((conf, user, null)); return await completionSource.Task; } @@ -296,8 +217,8 @@ public class GreetService : IEService, IReadyExecutor { try { - var repCtx = new ReplacementContext(client: _client, guild: user.Guild, users: user); - var smartText = SmartText.CreateFrom(conf.DmGreetMessageText); + var repCtx = new ReplacementContext(client: _client, guild: user.Guild, user: user); + var smartText = SmartText.CreateFrom(conf.MessageText); smartText = await _repSvc.ReplaceAsync(smartText, repCtx); if (smartText is SmartPlainText pt) @@ -378,40 +299,21 @@ public class GreetService : IEService, IReadyExecutor { try { - var conf = await GetGreetSettingsAsync(user.GuildId); - if (conf is null) - return; + var conf = await GetGreetSettingsAsync(user.GuildId, GreetType.Greet); - if (conf.SendChannelGreetMessage) + if (conf is not null && conf.IsEnabled && conf.ChannelId is { } channelId) { - var channel = await user.Guild.GetTextChannelAsync(conf.GreetMessageChannelId); + var channel = await user.Guild.GetTextChannelAsync(channelId); if (channel is not null) { - if (GroupGreets) - { - // if group is newly created, greet that user right away, - // but any user which joins in the next 5 seconds will - // be greeted in a group greet - if (_greets.CreateOrAdd(user.GuildId, user)) - { - // greet single user - await GreetUsers(conf, channel, new[] { user }); - var groupClear = false; - while (!groupClear) - { - await Task.Delay(5000); - groupClear = _greets.ClearGroup(user.GuildId, 5, out var toGreet); - await GreetUsers(conf, channel, toGreet); - } - } - } - else - await GreetUsers(conf, channel, new[] { user }); + await _greetQueue.Writer.WriteAsync((conf, user, channel)); } } - if (conf.SendDmGreetMessage) - await GreetDmUser(conf, user); + var confDm = await GetGreetSettingsAsync(user.GuildId, GreetType.GreetDm); + + if (confDm?.IsEnabled ?? false) + await GreetDmUser(confDm, user); } catch { @@ -421,20 +323,16 @@ public class GreetService : IEService, IReadyExecutor return Task.CompletedTask; } - // public GreetSettings GetOrAddSettingsForGuild(ulong guildId) - // { - // if (_greetDmEnabledGuilds.TryGetValue(guildId, out var settings)) - // return settings; - // - // using (var uow = _db.GetDbContext()) - // { - // var gc = uow.GuildConfigsForId(guildId, set => set); - // settings = GreetSettings.Create(gc); - // } - // - // _greetDmEnabledGuilds.TryAdd(guildId, settings); - // return settings; - // } + + private static string GetDefaultGreet(GreetType greetType) + => greetType switch + { + GreetType.Boost => "%user.name% has boosted the server!", + GreetType.Greet => "%user.name% has joined the server!", + GreetType.Bye => "%user.name has left the server!", + GreetType.GreetDm => "Welcome to the server %user.name%", + _ => "%user.name% did something new!" + }; public async Task SetGreet( ulong guildId, @@ -447,9 +345,14 @@ public class GreetService : IEService, IReadyExecutor if (value is { } v) { + var defaultGreet = GetDefaultGreet(greetType); + await q .InsertOrUpdateAsync(() => new() { + GuildId = guildId, + GreetType = greetType, + MessageText = defaultGreet, IsEnabled = v, ChannelId = channelId, }, @@ -466,29 +369,45 @@ public class GreetService : IEService, IReadyExecutor } else { - await q - .Where(x => x.GuildId == guildId && x.GreetType == greetType) - .UpdateAsync((old) => new() - { - IsEnabled = !old.IsEnabled - }); + var result = await q + .Where(x => x.GuildId == guildId && x.GreetType == greetType) + .UpdateWithOutputAsync((old) => new() + { + IsEnabled = !old.IsEnabled + }, + (o, n) => n.IsEnabled); + + if (result.Length > 0) + value = result[0]; + } + + if (value is true) + { + _enabled[greetType].Add(guildId); + } + else + { + _enabled[greetType].TryRemove(guildId); } return true; } - public async Task SetGreetTypeMessage(ulong guildId, GreetType greetType, string message) + + public async Task SetMessage(ulong guildId, GreetType greetType, string? message) { - message = message.SanitizeMentions(); + message = message?.SanitizeMentions(); if (string.IsNullOrWhiteSpace(message)) - throw new ArgumentNullException(nameof(message)); + message = GetDefaultGreet(greetType); await using (var uow = _db.GetDbContext()) { await uow.GetTable() .InsertOrUpdateAsync(() => new() { + GuildId = guildId, + GreetType = greetType, MessageText = message }, x => new() @@ -502,11 +421,42 @@ public class GreetService : IEService, IReadyExecutor }); } - var conf = await GetGreetSettingsAsync(guildId, type); + var conf = await GetGreetSettingsAsync(guildId, greetType); return conf?.IsEnabled ?? false; } + public async Task SetDeleteTimer(ulong guildId, GreetType greetType, int timer) + { + if (timer < 0 || timer > 3600) + throw new ArgumentOutOfRangeException(nameof(timer)); + + await using (var uow = _db.GetDbContext()) + { + await uow.GetTable() + .InsertOrUpdateAsync(() => new() + { + GuildId = guildId, + GreetType = greetType, + AutoDeleteTimer = timer, + }, + x => new() + { + AutoDeleteTimer = timer + }, + () => new() + { + GuildId = guildId, + GreetType = greetType + }); + } + + var conf = await GetGreetSettingsAsync(guildId, greetType); + + return conf?.IsEnabled ?? false; + } + + public async Task Test( ulong guildId, GreetType type, @@ -514,14 +464,24 @@ public class GreetService : IEService, IReadyExecutor IGuildUser user) { var conf = await GetGreetSettingsAsync(guildId, type); - return SendMessage(conf, user, channel); + if (conf is null) + return false; + + await SendMessage(conf, channel, user); + return true; } public async Task SendMessage(GreetSettings conf, IMessageChannel channel, IGuildUser user) { if (conf.GreetType == GreetType.GreetDm) { - await GreetDmUser(conf, user); + return await GreetDmUser(conf, user); } + + if (channel is not ITextChannel ch) + return false; + + await GreetUsers(conf, ch, user); + return true; } } \ No newline at end of file diff --git a/src/EllieBot/Modules/Administration/GreetBye/GreetSettings.cs b/src/EllieBot/Modules/Administration/GreetBye/GreetSettings.cs index 6e4f8ed..76579e6 100644 --- a/src/EllieBot/Modules/Administration/GreetBye/GreetSettings.cs +++ b/src/EllieBot/Modules/Administration/GreetBye/GreetSettings.cs @@ -2,44 +2,43 @@ using EllieBot.Db.Models; namespace EllieBot.Services; +public enum GreetType +{ + Greet, + GreetDm, + Bye, + Boost, +} + public class GreetSettings { - public int AutoDeleteGreetMessagesTimer { get; set; } - public int AutoDeleteByeMessagesTimer { get; set; } + public int Id { get; set; } - public ulong GreetMessageChannelId { get; set; } - public ulong ByeMessageChannelId { get; set; } + public ulong GuildId { get; set; } + public GreetType GreetType { get; set; } + public string? MessageText { get; set; } + public bool IsEnabled { get; set; } + public ulong? ChannelId { get; set; } - public bool SendDmGreetMessage { get; set; } - public string? DmGreetMessageText { get; set; } + public int AutoDeleteTimer { get; set; } - public bool SendChannelGreetMessage { get; set; } - public string? ChannelGreetMessageText { get; set; } - - public bool SendChannelByeMessage { get; set; } - public string? ChannelByeMessageText { get; set; } - - public bool SendBoostMessage { get; set; } - public string? BoostMessage { get; set; } - public int BoostMessageDeleteAfter { get; set; } - public ulong BoostMessageChannelId { get; set; } - - public static GreetSettings Create(GuildConfig g) - => new() - { - AutoDeleteByeMessagesTimer = g.AutoDeleteByeMessagesTimer, - AutoDeleteGreetMessagesTimer = g.AutoDeleteGreetMessagesTimer, - GreetMessageChannelId = g.GreetMessageChannelId, - ByeMessageChannelId = g.ByeMessageChannelId, - SendDmGreetMessage = g.SendDmGreetMessage, - DmGreetMessageText = g.DmGreetMessageText, - SendChannelGreetMessage = g.SendChannelGreetMessage, - ChannelGreetMessageText = g.ChannelGreetMessageText, - SendChannelByeMessage = g.SendChannelByeMessage, - ChannelByeMessageText = g.ChannelByeMessageText, - SendBoostMessage = g.SendBoostMessage, - BoostMessage = g.BoostMessage, - BoostMessageDeleteAfter = g.BoostMessageDeleteAfter, - BoostMessageChannelId = g.BoostMessageChannelId - }; + // public int AutoDeleteGreetMessagesTimer { get; set; } + // public int AutoDeleteByeMessagesTimer { get; set; } + // + // public ulong GreetMessageChannelId { get; set; } + // public ulong ByeMessageChannelId { get; set; } + // + // public bool SendDmGreetMessage { get; set; } + // public string? DmGreetMessageText { get; set; } + // + // public bool SendChannelGreetMessage { get; set; } + // public string? ChannelGreetMessageText { get; set; } + // + // public bool SendChannelByeMessage { get; set; } + // public string? ChannelByeMessageText { get; set; } + // + // public bool SendBoostMessage { get; set; } + // public string? BoostMessage { get; set; } + // public int BoostMessageDeleteAfter { get; set; } + // public ulong BoostMessageChannelId { get; set; } } \ No newline at end of file diff --git a/src/EllieBot/Modules/Administration/UserPunish/UserPunishService.cs b/src/EllieBot/Modules/Administration/UserPunish/UserPunishService.cs index a42a9f1..2b9e00d 100644 --- a/src/EllieBot/Modules/Administration/UserPunish/UserPunishService.cs +++ b/src/EllieBot/Modules/Administration/UserPunish/UserPunishService.cs @@ -243,14 +243,16 @@ public class UserPunishService : IEService, IReadyExecutor public async Task CheckAllWarnExpiresAsync() { await using var uow = _db.GetDbContext(); - var cleared = await uow.Set() - .Where(x => uow.Set() - .Any(y => y.GuildId == x.GuildId - && y.WarnExpireHours > 0 - && y.WarnExpireAction == WarnExpireAction.Clear) + + var cleared = await uow.GetTable() + .Where(x => uow.GetTable() + .Count(y => y.GuildId == x.GuildId + && y.WarnExpireHours > 0 + && y.WarnExpireAction == WarnExpireAction.Clear) + > 0 && x.Forgiven == false && x.DateAdded - < DateTime.UtcNow.AddHours(-uow.Set() + < DateTime.UtcNow.AddHours(-uow.GetTable() .Where(y => x.GuildId == y.GuildId) .Select(y => y.WarnExpireHours) .First())) @@ -260,13 +262,14 @@ public class UserPunishService : IEService, IReadyExecutor ForgivenBy = "expiry" }); - var deleted = await uow.Set() - .Where(x => uow.Set() - .Any(y => y.GuildId == x.GuildId - && y.WarnExpireHours > 0 - && y.WarnExpireAction == WarnExpireAction.Delete) + var deleted = await uow.GetTable() + .Where(x => uow.GetTable() + .Count(y => y.GuildId == x.GuildId + && y.WarnExpireHours > 0 + && y.WarnExpireAction == WarnExpireAction.Delete) + > 0 && x.DateAdded - < DateTime.UtcNow.AddHours(-uow.Set() + < DateTime.UtcNow.AddHours(-uow.GetTable() .Where(y => x.GuildId == y.GuildId) .Select(y => y.WarnExpireHours) .First())) @@ -278,8 +281,6 @@ public class UserPunishService : IEService, IReadyExecutor cleared, deleted); } - - await uow.SaveChangesAsync(); } public async Task CheckWarnExpiresAsync(ulong guildId) diff --git a/src/EllieBot/Modules/Expressions/EllieExpressionExtensions.cs b/src/EllieBot/Modules/Expressions/EllieExpressionExtensions.cs index 0eeb68d..1ed9504 100644 --- a/src/EllieBot/Modules/Expressions/EllieExpressionExtensions.cs +++ b/src/EllieBot/Modules/Expressions/EllieExpressionExtensions.cs @@ -36,7 +36,7 @@ public static class EllieExpressionExtensions var repCtx = new ReplacementContext(client: client, guild: (ctx.Channel as ITextChannel)?.Guild as SocketGuild, channel: ctx.Channel, - users: ctx.Author + user: ctx.Author ) .WithOverride("%target%", () => canMentionEveryone diff --git a/src/EllieBot/Modules/Help/HelpService.cs b/src/EllieBot/Modules/Help/HelpService.cs index 5904c03..fd1b18b 100644 --- a/src/EllieBot/Modules/Help/HelpService.cs +++ b/src/EllieBot/Modules/Help/HelpService.cs @@ -31,7 +31,7 @@ public class HelpService : IExecNoCommand, IEService return; } - var repCtx = new ReplacementContext(guild: guild, channel: msg.Channel, users: msg.Author) + var repCtx = new ReplacementContext(guild: guild, channel: msg.Channel, user: msg.Author) .WithOverride("%prefix%", () => _bss.Data.Prefix) .WithOverride("%bot.prefix%", () => _bss.Data.Prefix); diff --git a/src/EllieBot/Modules/Utility/Repeater/RepeaterService.cs b/src/EllieBot/Modules/Utility/Repeater/RepeaterService.cs index 07d05cc..8d513cb 100644 --- a/src/EllieBot/Modules/Utility/Repeater/RepeaterService.cs +++ b/src/EllieBot/Modules/Utility/Repeater/RepeaterService.cs @@ -262,7 +262,7 @@ public sealed class RepeaterService : IReadyExecutor, IEService var repCtx = new ReplacementContext(client: _client, guild: guild, channel: channel, - users: guild.CurrentUser); + user: guild.CurrentUser); try { diff --git a/src/EllieBot/Services/Impl/BotCredsProvider.cs b/src/EllieBot/Services/Impl/BotCredsProvider.cs index 81c5a25..09cfcac 100644 --- a/src/EllieBot/Services/Impl/BotCredsProvider.cs +++ b/src/EllieBot/Services/Impl/BotCredsProvider.cs @@ -1,6 +1,5 @@ #nullable disable using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Primitives; using EllieBot.Common.Yml; namespace EllieBot.Services; @@ -22,7 +21,6 @@ public sealed class BotCredsProvider : IBotCredsProvider private readonly object _reloadLock = new(); - private readonly IDisposable _changeToken; public BotCredsProvider(int? totalShards = null, string credPath = null) { @@ -49,18 +47,18 @@ public sealed class BotCredsProvider : IBotCredsProvider // this can fail in docker containers } - MigrateCredentials(); - - if (!File.Exists(CredsPath)) - { - Log.Warning( - "{CredsPath} is missing. Attempting to load creds from environment variables prefixed with 'EllieBot_'. Example is in {CredsExamplePath}", - CredsPath, - CredsExamplePath); - } - try { + MigrateCredentials(); + + if (!File.Exists(CredsPath)) + { + Log.Warning( + "{CredsPath} is missing. Attempting to load creds from environment variables prefixed with 'EllieBot_'. Example is in {CredsExamplePath}", + CredsPath, + CredsExamplePath); + } + _config = new ConfigurationBuilder().AddYamlFile(CredsPath, false, true) .AddEnvironmentVariables("EllieBot_") .Build(); @@ -70,7 +68,6 @@ public sealed class BotCredsProvider : IBotCredsProvider Console.WriteLine(ex.ToString()); } - _changeToken = ChangeToken.OnChange(() => _config.GetReloadToken(), Reload); Reload(); } @@ -141,6 +138,7 @@ public sealed class BotCredsProvider : IBotCredsProvider { creds.BotCache = BotCacheImplemenation.Redis; } + if (creds.Version <= 6) { creds.Version = 7; diff --git a/src/EllieBot/_common/Abstractions/Extensions/EnumerableExtensions.cs b/src/EllieBot/_common/Abstractions/Extensions/EnumerableExtensions.cs index 3cedd0e..1a20437 100644 --- a/src/EllieBot/_common/Abstractions/Extensions/EnumerableExtensions.cs +++ b/src/EllieBot/_common/Abstractions/Extensions/EnumerableExtensions.cs @@ -72,6 +72,22 @@ public static class EnumerableExtensions where TKey : notnull => new(dict); + /// + /// Initializes a new instance of the class + /// that contains elements copied from the specified + /// has the default concurrency level, has the default initial capacity, + /// and uses the default comparer for the key type. + /// + /// + /// The whose elements are copied to the new + /// . + /// + /// A new instance of the class + public static ConcurrentHashSet ToConcurrentSet( + this IReadOnlyCollection dict) + where TValue : notnull + => new(dict); + public static IndexedCollection ToIndexed(this IEnumerable enumerable) where T : class, IIndexed => new(enumerable); diff --git a/src/EllieBot/_common/Configs/BotConfig.cs b/src/EllieBot/_common/Configs/BotConfig.cs index 0908577..c686ed7 100644 --- a/src/EllieBot/_common/Configs/BotConfig.cs +++ b/src/EllieBot/_common/Configs/BotConfig.cs @@ -84,19 +84,6 @@ public sealed partial class BotConfig : ICloneable [Comment("""Which string will be used to recognize the commands""")] public string Prefix { get; set; } - [Comment(""" - Toggles whether your bot will group greet/bye messages into a single message every 5 seconds. - 1st user who joins will get greeted immediately - If more users join within the next 5 seconds, they will be greeted in groups of 5. - This will cause %user.mention% and other placeholders to be replaced with multiple users. - Keep in mind this might break some of your embeds - for example if you have %user.avatar% in the thumbnail, - it will become invalid, as it will resolve to a list of avatars of grouped users. - note: This setting is primarily used if you're afraid of raids, or you're running medium/large bots where some - servers might get hundreds of people join at once. This is used to prevent the bot from getting ratelimited, - and (slightly) reduce the greet spam in those servers. - """)] - public bool GroupGreets { get; set; } - [Comment(""" Whether the bot will rotate through all specified statuses. This setting can be changed via .ropl command. @@ -144,7 +131,6 @@ public sealed partial class BotConfig : ICloneable Blocked = blocked; Prefix = "."; RotateStatuses = false; - GroupGreets = false; DmHelpTextKeywords = [ "help", diff --git a/src/EllieBot/_common/Replacements/Impl/ReplacementContext.cs b/src/EllieBot/_common/Replacements/Impl/ReplacementContext.cs index b321941..184ba4e 100644 --- a/src/EllieBot/_common/Replacements/Impl/ReplacementContext.cs +++ b/src/EllieBot/_common/Replacements/Impl/ReplacementContext.cs @@ -7,7 +7,7 @@ public sealed class ReplacementContext public DiscordSocketClient? Client { get; } public IGuild? Guild { get; } public IMessageChannel? Channel { get; } - public IUser[]? Users { get; } + public IUser? User { get; } private readonly List _overrides = new(); private readonly HashSet _tokens = new(); @@ -21,10 +21,11 @@ public sealed class ReplacementContext public IReadOnlyList RegexOverrides => _regexOverrides.AsReadOnly(); - public ReplacementContext(ICommandContext cmdContext) : this(cmdContext.Client as DiscordSocketClient, - cmdContext.Guild, - cmdContext.Channel, - cmdContext.User) + public ReplacementContext(ICommandContext cmdContext) + : this(cmdContext.Client as DiscordSocketClient, + cmdContext.Guild, + cmdContext.Channel, + cmdContext.User) { } @@ -32,12 +33,12 @@ public sealed class ReplacementContext DiscordSocketClient? client = null, IGuild? guild = null, IMessageChannel? channel = null, - params IUser[]? users) + IUser? user = null) { Client = client; Guild = guild; Channel = channel; - Users = users; + User = user; } public ReplacementContext WithOverride(string key, Func> repFactory) diff --git a/src/EllieBot/_common/Replacements/Impl/ReplacementService.cs b/src/EllieBot/_common/Replacements/Impl/ReplacementService.cs index 4d17213..18712d8 100644 --- a/src/EllieBot/_common/Replacements/Impl/ReplacementService.cs +++ b/src/EllieBot/_common/Replacements/Impl/ReplacementService.cs @@ -40,8 +40,8 @@ public sealed class ReplacementService : IReplacementService, IEService if (repCtx.Guild is not null) obj.Add(repCtx.Guild); - if (repCtx.Users is not null) - obj.Add(repCtx.Users); + if (repCtx.User is not null) + obj.Add(repCtx.User); if (repCtx.Channel is not null) obj.Add(repCtx.Channel); @@ -86,9 +86,9 @@ public sealed class ReplacementService : IReplacementService, IEService objs.Add(repCtx.Channel); } - if (repCtx.Users is not null) + if (repCtx.User is not null) { - objs.Add(repCtx.Users); + objs.Add(repCtx.User); } if (repCtx.Guild is not null) @@ -117,9 +117,9 @@ public sealed class ReplacementService : IReplacementService, IEService objs.Add(repCtx.Channel); } - if (repCtx.Users is not null) + if (repCtx.User is not null) { - objs.Add(repCtx.Users); + objs.Add(repCtx.User); } if (repCtx.Guild is not null) diff --git a/src/EllieBot/data/strings/commands/commands.en-US.yml b/src/EllieBot/data/strings/commands/commands.en-US.yml index 303bdec..de8c200 100644 --- a/src/EllieBot/data/strings/commands/commands.en-US.yml +++ b/src/EllieBot/data/strings/commands/commands.en-US.yml @@ -1623,12 +1623,12 @@ gencurlist: - page: desc: "The current page number for pagination." choose: - desc: Chooses a thing from a list of things + desc: Chooses a thing from a list of things. Seperate items with a semicolon ; ex: - Get up;Sleep;Sleep more params: - list: - desc: "The type of items in the collection being searched." + desc: "The items separated by ;" rps: desc: |- Play a game of Rocket-Paperclip-Scissors with Ellie.