using System.Collections.Generic; using System.Linq; namespace MxGateway.Worker.Bootstrap; public sealed class WorkerBootstrapResult { private WorkerBootstrapResult( WorkerExitCode exitCode, WorkerOptions? options, IReadOnlyList errors) { ExitCode = exitCode; Options = options; Errors = errors; } public WorkerExitCode ExitCode { get; } public WorkerOptions? Options { get; } public IReadOnlyList Errors { get; } public bool Succeeded => ExitCode == WorkerExitCode.Success; public static WorkerBootstrapResult Success(WorkerOptions options) { return new WorkerBootstrapResult(WorkerExitCode.Success, options, []); } public static WorkerBootstrapResult Failure(WorkerExitCode exitCode, IEnumerable errors) { return new WorkerBootstrapResult(exitCode, null, errors.ToArray()); } }