feat(batch5): implement jetstream error constructors group08

This commit is contained in:
Joseph Doherty
2026-02-28 08:51:21 -05:00
parent a587e8e347
commit b96d3ae182
4 changed files with 230 additions and 0 deletions

View File

@@ -920,6 +920,94 @@ public static partial class JsApiErrors
return Clone(RequiredApiLevel);
}
public static JsApiError NewJSSnapshotDeliverSubjectInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SnapshotDeliverSubjectInvalid);
}
public static JsApiError NewJSSourceDuplicateDetectedError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SourceDuplicateDetected);
}
public static JsApiError NewJSSourceInvalidStreamNameError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SourceInvalidStreamName);
}
public static JsApiError NewJSSourceMaxMessageSizeTooBigError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SourceMaxMessageSizeTooBig);
}
public static JsApiError NewJSSourceMultipleFiltersNotAllowedError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SourceMultipleFiltersNotAllowed);
}
public static JsApiError NewJSSourceOverlappingSubjectFiltersError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SourceOverlappingSubjectFilters);
}
public static JsApiError NewJSSourceWithMsgSchedulesError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(SourceWithMsgSchedules);
}
public static JsApiError NewJSStorageResourcesExceededError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(StorageResourcesExceeded);
}
public static JsApiError NewJSStreamDuplicateMessageConflictError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(StreamDuplicateMessageConflict);
}
public static JsApiError NewJSStreamExpectedLastSeqPerSubjectInvalidError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(StreamExpectedLastSeqPerSubjectInvalid);
}
public static JsApiError NewJSStreamExpectedLastSeqPerSubjectNotReadyError(params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return Clone(StreamExpectedLastSeqPerSubjectNotReady);
}
public static JsApiError NewJSAtomicPublishTooLargeBatchError(object? size, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
@@ -1088,4 +1176,76 @@ public static partial class JsApiErrors
return NewWithTags(RaftGeneralErr, "{err}", err);
}
public static JsApiError NewJSSequenceNotFoundError(ulong seq, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(SequenceNotFound, "{seq}", seq);
}
public static JsApiError NewJSSourceConsumerSetupFailedError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(SourceConsumerSetupFailed, "{err}", err);
}
public static JsApiError NewJSSourceInvalidSubjectFilterError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(SourceInvalidSubjectFilter, "{err}", err);
}
public static JsApiError NewJSSourceInvalidTransformDestinationError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(SourceInvalidTransformDestination, "{err}", err);
}
public static JsApiError NewJSStreamAssignmentError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamAssignment, "{err}", err);
}
public static JsApiError NewJSStreamCreateError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamCreate, "{err}", err);
}
public static JsApiError NewJSStreamDeleteError(Exception err, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamDelete, "{err}", err);
}
public static JsApiError NewJSStreamExternalApiOverlapError(object? prefix, object? subject, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamExternalApiOverlap, "{prefix}", prefix, "{subject}", subject);
}
public static JsApiError NewJSStreamExternalDelPrefixOverlapsError(object? prefix, object? subject, params ErrorOption[] opts)
{
if (ParseOpts(opts) is JsApiError overridden)
return Clone(overridden);
return NewWithTags(StreamExternalDelPrefixOverlaps, "{prefix}", prefix, "{subject}", subject);
}
}