WebSvc.ConfigVisualizer
1.0.3
dotnet add package WebSvc.ConfigVisualizer --version 1.0.3
NuGet\Install-Package WebSvc.ConfigVisualizer -Version 1.0.3
<PackageReference Include="WebSvc.ConfigVisualizer" Version="1.0.3" />
<PackageVersion Include="WebSvc.ConfigVisualizer" Version="1.0.3" />
<PackageReference Include="WebSvc.ConfigVisualizer" />
paket add WebSvc.ConfigVisualizer --version 1.0.3
#r "nuget: WebSvc.ConfigVisualizer, 1.0.3"
#:package WebSvc.ConfigVisualizer@1.0.3
#addin nuget:?package=WebSvc.ConfigVisualizer&version=1.0.3
#tool nuget:?package=WebSvc.ConfigVisualizer&version=1.0.3
WebSvc.ConfigVisualizer
Standalone editor for the tenant dashboard config JSON that CrudApi's AI pipeline
(CrudConfigApplicationService) generates and pushes to git at
mydash/tenants-config/{db}.json.
- Tree/field-list/inspector editor over the config's
groups[] → entities[] → fieldsshape — fixes gaps the generator leaves behind (e.g. a relation field'slabelFieldsalways emitted empty). - No SQL storage of its own — same "JSON-file session" shape as
WebSvc.SqliteAdmin. Draft edits live entirely in the browser; nothing is written until you publish. - Publishing creates a new git commit via
WebSvc.GitOps'sIGitOpsService(PushFileAsync) — the same call the generator itself uses, so there's no second write path. - Version history and restore read commit history directly from the GitHub REST API
(
GitHub:Owner/GitHub:Repo/GitHub:Token, the sameIConfigurationkeysHostSettingsConfigBridgealready populates forWebSvc.GitOps) —IGitOpsServiceitself has no history capability, so this is a small, independent, read-only client. - Independent login at
/configvisualizer/login, plus a signed, short-lived, single-use, Global-Admin-only auto-login handoff from CrudAdmin's Databases page, scoped per database.
Setup
builder.Services.AddConfigVisualizer(builder.Configuration);
// ...
app.UseConfigVisualizer();
// ...
app.MapConfigVisualizer();
Requires WebSvc.GitOps's IGitOpsService and GitHub credentials (GitHub:Owner,
GitHub:Repo, GitHub:Token) already registered/configured in the host — this
package doesn't own that setup, it only consumes it.
Configuration (appsettings.json, section ConfigVisualizer): RootPath (default
/configvisualizer), DataDirectory (default ConfigVisualizerData/ under the app's
base directory — kept separate from sibling packages' data folders), Username/
PasswordHash (the Global-Admin break-glass manual-login credential), SessionHours,
ConfigPathPrefix (default mydash/tenants-config), Branch (default main).
To enable the signed cross-app handoff from CrudAdmin's Databases page, also call
AddCrudAdmin(...) in the same host — ConfigVisualizer shares whatever
IDataProtectionProvider key ring is already registered (typically CrudAdmin's), so
no AddDataProtection() call is needed here.
Explicitly out of scope
Schema introspection, the AI grouping call, and generate-config itself all stay in
CrudApi's own CrudConfigApplicationService — this package only ever reads, edits,
and republishes the JSON that pipeline already produces.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- WebSvc.GitOps (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.