mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2024-10-03 04:23:13 +00:00
- Automatically update permissions for CustomReactions to Expressions during
- Small refactor
This commit is contained in:
parent
e1fca41a70
commit
7b84d6363c
4 changed files with 14 additions and 10 deletions
|
@ -112,14 +112,14 @@ public static class GuildConfigExtensions
|
|||
return logSetting;
|
||||
}
|
||||
|
||||
public static IEnumerable<GuildConfig> Permissionsv2ForAll(this DbSet<GuildConfig> configs, List<ulong> include)
|
||||
public static IEnumerable<GuildConfig> PermissionsForAll(this DbSet<GuildConfig> configs, List<ulong> include)
|
||||
{
|
||||
var query = configs.AsQueryable().Where(x => include.Contains(x.GuildId)).Include(gc => gc.Permissions);
|
||||
|
||||
return query.ToList();
|
||||
}
|
||||
|
||||
public static GuildConfig GcWithPermissionsv2For(this NadekoContext ctx, ulong guildId)
|
||||
public static GuildConfig GcWithPermissionsFor(this NadekoContext ctx, ulong guildId)
|
||||
{
|
||||
var config = ctx.GuildConfigs.AsQueryable()
|
||||
.Where(gc => gc.GuildId == guildId)
|
||||
|
|
|
@ -53,6 +53,10 @@ namespace NadekoBot.Migrations
|
|||
migrationBuilder.Sql(@"UPDATE Permissions
|
||||
SET SecondaryTargetName='ACTUALEXPRESSIONS'
|
||||
WHERE SecondaryTargetName='ActualCustomReactions' COLLATE NOCASE;");
|
||||
|
||||
migrationBuilder.Sql(@"UPDATE Permissions
|
||||
SET SecondaryTargetName='EXPRESSIONS'
|
||||
WHERE SecondaryTargetName='CustomReactions' COLLATE NOCASE;");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
|
|
@ -23,7 +23,7 @@ public partial class Permissions : NadekoModule<PermissionService>
|
|||
{
|
||||
await using (var uow = _db.GetDbContext())
|
||||
{
|
||||
var config = uow.GcWithPermissionsv2For(ctx.Guild.Id);
|
||||
var config = uow.GcWithPermissionsFor(ctx.Guild.Id);
|
||||
if (action is null) action = new(!config.VerbosePermissions); // New behaviour, can toggle.
|
||||
config.VerbosePermissions = action.Value;
|
||||
await uow.SaveChangesAsync();
|
||||
|
@ -58,7 +58,7 @@ public partial class Permissions : NadekoModule<PermissionService>
|
|||
|
||||
await using (var uow = _db.GetDbContext())
|
||||
{
|
||||
var config = uow.GcWithPermissionsv2For(ctx.Guild.Id);
|
||||
var config = uow.GcWithPermissionsFor(ctx.Guild.Id);
|
||||
config.PermissionRole = role.Id.ToString();
|
||||
uow.SaveChanges();
|
||||
_service.UpdateCache(config);
|
||||
|
@ -75,7 +75,7 @@ public partial class Permissions : NadekoModule<PermissionService>
|
|||
{
|
||||
await using (var uow = _db.GetDbContext())
|
||||
{
|
||||
var config = uow.GcWithPermissionsv2For(ctx.Guild.Id);
|
||||
var config = uow.GcWithPermissionsFor(ctx.Guild.Id);
|
||||
config.PermissionRole = null;
|
||||
await uow.SaveChangesAsync();
|
||||
_service.UpdateCache(config);
|
||||
|
@ -129,7 +129,7 @@ public partial class Permissions : NadekoModule<PermissionService>
|
|||
Permissionv2 p;
|
||||
await using (var uow = _db.GetDbContext())
|
||||
{
|
||||
var config = uow.GcWithPermissionsv2For(ctx.Guild.Id);
|
||||
var config = uow.GcWithPermissionsFor(ctx.Guild.Id);
|
||||
var permsCol = new PermissionsCollection<Permissionv2>(config.Permissions);
|
||||
p = permsCol[index];
|
||||
permsCol.RemoveAt(index);
|
||||
|
@ -159,7 +159,7 @@ public partial class Permissions : NadekoModule<PermissionService>
|
|||
Permissionv2 fromPerm;
|
||||
await using (var uow = _db.GetDbContext())
|
||||
{
|
||||
var config = uow.GcWithPermissionsv2For(ctx.Guild.Id);
|
||||
var config = uow.GcWithPermissionsFor(ctx.Guild.Id);
|
||||
var permsCol = new PermissionsCollection<Permissionv2>(config.Permissions);
|
||||
|
||||
var fromFound = from < permsCol.Count;
|
||||
|
|
|
@ -32,7 +32,7 @@ public class PermissionService : ILateBlocker, INService
|
|||
_eb = eb;
|
||||
|
||||
using var uow = _db.GetDbContext();
|
||||
foreach (var x in uow.GuildConfigs.Permissionsv2ForAll(client.Guilds.ToArray().Select(x => x.Id).ToList()))
|
||||
foreach (var x in uow.GuildConfigs.PermissionsForAll(client.Guilds.ToArray().Select(x => x.Id).ToList()))
|
||||
Cache.TryAdd(x.GuildId,
|
||||
new()
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ public class PermissionService : ILateBlocker, INService
|
|||
public async Task AddPermissions(ulong guildId, params Permissionv2[] perms)
|
||||
{
|
||||
await using var uow = _db.GetDbContext();
|
||||
var config = uow.GcWithPermissionsv2For(guildId);
|
||||
var config = uow.GcWithPermissionsFor(guildId);
|
||||
//var orderedPerms = new PermissionsCollection<Permissionv2>(config.Permissions);
|
||||
var max = config.Permissions.Max(x => x.Index); //have to set its index to be the highest
|
||||
foreach (var perm in perms)
|
||||
|
@ -165,7 +165,7 @@ public class PermissionService : ILateBlocker, INService
|
|||
public async Task Reset(ulong guildId)
|
||||
{
|
||||
await using var uow = _db.GetDbContext();
|
||||
var config = uow.GcWithPermissionsv2For(guildId);
|
||||
var config = uow.GcWithPermissionsFor(guildId);
|
||||
config.Permissions = Permissionv2.GetDefaultPermlist;
|
||||
await uow.SaveChangesAsync();
|
||||
UpdateCache(config);
|
||||
|
|
Loading…
Reference in a new issue