fix: fixed expire settings not returned on api

This commit is contained in:
Kwoth
2024-10-21 04:36:54 +00:00
parent 716090a132
commit 49f04a594b
3 changed files with 5 additions and 3 deletions

View File

@@ -118,7 +118,7 @@ public partial class Administration
[Priority(1)] [Priority(1)]
public async Task WarnExpire() public async Task WarnExpire()
{ {
var expireDays = await _service.GetWarnExpire(ctx.Guild.Id); var (expireDays, _) = await _service.GetWarnExpire(ctx.Guild.Id);
if (expireDays == 0) if (expireDays == 0)
await Response().Confirm(strs.warns_dont_expire).SendAsync(); await Response().Confirm(strs.warns_dont_expire).SendAsync();

View File

@@ -330,11 +330,11 @@ public class UserPunishService : INService, IReadyExecutor
await uow.SaveChangesAsync(); await uow.SaveChangesAsync();
} }
public Task<int> GetWarnExpire(ulong guildId) public Task<(int, bool)> GetWarnExpire(ulong guildId)
{ {
using var uow = _db.GetDbContext(); using var uow = _db.GetDbContext();
var config = uow.GuildConfigsForId(guildId, set => set); var config = uow.GuildConfigsForId(guildId, set => set);
return Task.FromResult(config.WarnExpireHours / 24); return Task.FromResult((config.WarnExpireHours / 24, config.WarnExpireAction == WarnExpireAction.Delete));
} }
public async Task WarnExpireAsync(ulong guildId, int days, bool delete) public async Task WarnExpireAsync(ulong guildId, int days, bool delete)

View File

@@ -27,6 +27,8 @@ public sealed class WarnSvc : GrpcWarn.GrpcWarnBase, IGrpcSvc, INService
var wsr = new WarnSettingsReply(); var wsr = new WarnSettingsReply();
(wsr.ExpiryDays, wsr.DeleteOnExpire) = await _ups.GetWarnExpire(request.GuildId);
wsr.Punishments.AddRange(list.Select(x => new WarnPunishment() wsr.Punishments.AddRange(list.Select(x => new WarnPunishment()
{ {
Action = x.Punishment.ToString(), Action = x.Punishment.ToString(),