mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-20 00:43:36 +03:00
Do not give up if one option fails to reset, return an aggregate error containing every reset failure if needed
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
This commit is contained in:
parent
7e71893fe0
commit
9f5f82a972
1 changed files with 10 additions and 6 deletions
|
@ -287,13 +287,17 @@ public class SettingsCommandGroup : CommandGroup
|
|||
private async Task<Result> ResetAllSettingsAsync(JsonNode cfg, IUser currentUser,
|
||||
CancellationToken ct = default)
|
||||
{
|
||||
foreach (var option in AllOptions)
|
||||
var failedResults = new List<Result>();
|
||||
foreach (var resetResult in AllOptions.Select(option => option.Reset(cfg)))
|
||||
{
|
||||
var resetResult = option.Reset(cfg);
|
||||
if (!resetResult.IsSuccess)
|
||||
{
|
||||
return Result.FromError(resetResult.Error);
|
||||
failedResults.AddIfFailed(resetResult);
|
||||
}
|
||||
|
||||
var errors = failedResults.AggregateErrors();
|
||||
|
||||
if (!errors.IsSuccess)
|
||||
{
|
||||
return errors;
|
||||
}
|
||||
|
||||
var embed = new EmbedBuilder().WithSmallTitle(Messages.AllSettingsReset, currentUser)
|
||||
|
|
Loading…
Add table
Reference in a new issue