diff --git a/gui/rpk-gui/src/lib/crud/providers/jsonschema-provider.tsx b/gui/rpk-gui/src/lib/crud/providers/jsonschema-provider.tsx index 7e56ade..cb57164 100644 --- a/gui/rpk-gui/src/lib/crud/providers/jsonschema-provider.tsx +++ b/gui/rpk-gui/src/lib/crud/providers/jsonschema-provider.tsx @@ -32,6 +32,21 @@ export const jsonschemaProvider = { return readSchema }, + getReadOnlyResourceSchema: async (resourceName: string): Promise => { + const updateSchema = await getResourceSchema(`${resourceName}Update`); + const readSchema = await getResourceSchema(`${resourceName}Read`); + + for (let prop_name in readSchema.properties) { + if (updateSchema.hasOwnProperty(prop_name)) { + delete readSchema.properties[prop_name]; + } else { + readSchema.properties[prop_name].readOnly = true; + } + } + + return readSchema + }, + getUpdateResourceSchema: async (resourceName: string): Promise => { return getResourceSchema(`${resourceName}Update`) },