feat(batch28): implement jetstream api consumer/message/snapshot handlers

This commit is contained in:
Joseph Doherty
2026-02-28 22:33:50 -05:00
parent b40a32cfe9
commit d6754eae25
3 changed files with 478 additions and 0 deletions

View File

@@ -545,4 +545,22 @@ public sealed partial class Account
return EnableAllJetStreamServiceImportsAndMappings();
}
internal Exception? JsNonClusteredStreamLimitsCheck(StreamConfig config)
{
var (server, jsa, err) = CheckForJetStream();
if (err is not null || server is null || jsa is null)
return err ?? new InvalidOperationException("jetstream not enabled for account");
var selected = jsa.SelectLimits(config.Replicas);
if (!selected.Found)
return new InvalidOperationException(JsApiErrors.NewJSNoLimitsError().Description ?? "jetstream limits not configured");
var reservation = jsa.TieredReservation(selected.Tier, config);
var js = server.GetJetStream();
if (js is null)
return new InvalidOperationException("jetstream not enabled");
return js.CheckAccountLimits(selected.Limits, config, reservation);
}
}