ui: gate community wizard capabilities

This commit is contained in:
a.tolmachev
2026-05-03 17:11:30 +00:00
parent 10433d5193
commit 49c46c0d0b
14 changed files with 221 additions and 225 deletions
+37
View File
@@ -19,6 +19,7 @@
grpcDescriptorServices: [],
soapServiceCatalog: [],
wizardProtocolCapabilities: null,
wizardEditionCapabilities: null,
wizardSecrets: [],
wizardAuthProfiles: [],
selectedUpstreamId: null,
@@ -68,11 +69,29 @@
};
}
function defaultEditionCapabilities() {
return {
edition: 'community',
supported_protocols: ['rest', 'graphql', 'grpc'],
supported_security_levels: ['standard'],
machine_access_modes: ['static_agent_key'],
limits: {
max_workspaces: 1,
max_users_per_workspace: 1,
max_agents_per_workspace: 1,
},
};
}
function currentProtocolCapabilities() {
var capabilities = window.wizardProtocolCapabilities || defaultProtocolCapabilities();
return capabilities[window.wizardProtocol] || capabilities.rest;
}
function currentEditionCapabilities() {
return window.wizardEditionCapabilities || defaultEditionCapabilities();
}
async function loadProtocolCapabilities() {
if (!window.wizardWorkspaceId || !window.CrankApi || typeof window.CrankApi.getProtocolCapabilities !== 'function') {
window.wizardProtocolCapabilities = defaultProtocolCapabilities();
@@ -93,6 +112,21 @@
return window.wizardProtocolCapabilities;
}
async function loadEditionCapabilities() {
if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') {
window.wizardEditionCapabilities = defaultEditionCapabilities();
return window.wizardEditionCapabilities;
}
try {
window.wizardEditionCapabilities = await window.CrankApi.getCapabilities();
} catch (_error) {
window.wizardEditionCapabilities = defaultEditionCapabilities();
}
return window.wizardEditionCapabilities;
}
function step3Labels() {
return {
rest: tKey('wizard.step3.rest.label'),
@@ -106,8 +140,11 @@
window.CrankWizardState = {
state: window,
defaultProtocolCapabilities: defaultProtocolCapabilities,
defaultEditionCapabilities: defaultEditionCapabilities,
currentProtocolCapabilities: currentProtocolCapabilities,
currentEditionCapabilities: currentEditionCapabilities,
loadProtocolCapabilities: loadProtocolCapabilities,
loadEditionCapabilities: loadEditionCapabilities,
step3Labels: step3Labels,
};
}());