feat(m9/T32c): schema-library CRUD commands + handlers + Central UI page + read-accessor
This commit is contained in:
@@ -124,6 +124,23 @@ public static class ServiceCollectionExtensions
|
||||
// the move dialog only SUBMITS the command and renders the returned outcome.
|
||||
services.AddScoped<IDataConnectionMoveService, DataConnectionMoveService>();
|
||||
|
||||
// Schema Library (M9-T32c): authoring + read accessors for the reusable named
|
||||
// JSON-Schema library (SharedSchema + ISharedSchemaRepository, T32a).
|
||||
//
|
||||
// ISchemaLibraryService dispatches the CRUD commands to the central
|
||||
// ManagementActor through the in-process ManagementActorHolder seam — the same
|
||||
// Ask path the HTTP /management endpoint uses — so the server stays the single
|
||||
// enforcer of the Designer gate, the unique-name guard, and JSON-Schema
|
||||
// validation; the page only SUBMITS commands.
|
||||
services.AddScoped<ISchemaLibraryService, SchemaLibraryService>();
|
||||
|
||||
// ISchemaLibraryQueryService is the READ counterpart that T30's schema-driven
|
||||
// value-entry forms reuse to resolve {"$ref":"lib:Name"} pointers — a name →
|
||||
// schema-JSON map backed by ISharedSchemaRepository over a fresh DI scope per
|
||||
// query (mirroring the AuditLog / KPI query services, off the circuit-scoped
|
||||
// DbContext). Read-only; no mutation goes through it.
|
||||
services.AddScoped<ISchemaLibraryQueryService, SchemaLibraryQueryService>();
|
||||
|
||||
// Roslyn-backed C# analysis for the Monaco script editor.
|
||||
// Scoped because SharedScriptCatalog wraps a scoped service.
|
||||
services.AddMemoryCache(o => o.SizeLimit = 200);
|
||||
|
||||
Reference in New Issue
Block a user