using HermesSocketServer.Models; using ILogger = Serilog.ILogger; namespace HermesSocketServer.Requests { public class DeleteGroupPermission : IRequest { public string Name => "delete_group_permission"; public string[] RequiredKeys => ["id"]; private ILogger _logger; public DeleteGroupPermission(ILogger logger) { _logger = logger; } public Task Grant(Channel channel, IDictionary data) { var id = data["id"].ToString()!; var result = channel.GroupPermissions.Remove(id); if (result) { _logger.Information($"Deleted a group permission by id [group permission id: {id}]"); return Task.FromResult(RequestResult.Successful(null)); } _logger.Warning($"Group Permission Id does not exist [group permission id: {id}]"); return Task.FromResult(RequestResult.Failed("Something went wrong when updating the cache.")); } } }