36 lines
928 B
C#
36 lines
928 B
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace MxGateway.Worker.Bootstrap;
|
|
|
|
public sealed class WorkerBootstrapResult
|
|
{
|
|
private WorkerBootstrapResult(
|
|
WorkerExitCode exitCode,
|
|
WorkerOptions? options,
|
|
IReadOnlyList<string> errors)
|
|
{
|
|
ExitCode = exitCode;
|
|
Options = options;
|
|
Errors = errors;
|
|
}
|
|
|
|
public WorkerExitCode ExitCode { get; }
|
|
|
|
public WorkerOptions? Options { get; }
|
|
|
|
public IReadOnlyList<string> 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<string> errors)
|
|
{
|
|
return new WorkerBootstrapResult(exitCode, null, errors.ToArray());
|
|
}
|
|
}
|