feat: complete governed documentation sources
This commit is contained in:
@@ -54,9 +54,20 @@ export type DocsOptionalModuleEvidence = {
|
||||
};
|
||||
|
||||
export type DocsSource = {
|
||||
id: string;
|
||||
kind: string;
|
||||
owner_module_id: string;
|
||||
label: string;
|
||||
source: string;
|
||||
layer: string;
|
||||
state: "configured" | "disabled" | "unavailable";
|
||||
state_reason?: string | null;
|
||||
inspection_url: string;
|
||||
provenance: {
|
||||
source: string;
|
||||
version?: string | null;
|
||||
revision?: string | null;
|
||||
published_at?: string | null;
|
||||
checksum?: string | null;
|
||||
};
|
||||
};
|
||||
|
||||
export type DocsDocumentationCondition = {
|
||||
@@ -94,6 +105,7 @@ export type DocsDocumentationTopic = {
|
||||
modules: string[];
|
||||
capabilities: string[];
|
||||
scopes: string[];
|
||||
configuration: string[];
|
||||
};
|
||||
audience: string[];
|
||||
order: number;
|
||||
@@ -105,6 +117,12 @@ export type DocsDocumentationTopic = {
|
||||
related_modules: string[];
|
||||
unlocks: string[];
|
||||
configuration_keys: string[];
|
||||
configuration_states: Array<{
|
||||
key: string;
|
||||
state: "enabled" | "disabled" | "inherited" | "unavailable";
|
||||
source?: string | null;
|
||||
reason?: string | null;
|
||||
}>;
|
||||
metadata: Record<string, unknown>;
|
||||
};
|
||||
|
||||
|
||||
@@ -559,7 +559,8 @@ function UnavailableDocumentationReason({ topic }: { topic: DocsDocumentationTop
|
||||
const rows = [
|
||||
["i18n:govoplan-docs.modules.04e9462c", topic.blockers.modules],
|
||||
["i18n:govoplan-docs.capabilities.ca09c54b", topic.blockers.capabilities],
|
||||
["i18n:govoplan-docs.permissions.d06d5557", topic.blockers.scopes]
|
||||
["i18n:govoplan-docs.permissions.d06d5557", topic.blockers.scopes],
|
||||
["Configuration", topic.blockers.configuration]
|
||||
].filter(([, values]) => Array.isArray(values) && values.length);
|
||||
return (
|
||||
<div className="docs-unavailable-reason">
|
||||
@@ -975,9 +976,9 @@ function EvidenceList({ modules, sources }: { modules: DocsOptionalModuleEvidenc
|
||||
</div>
|
||||
)}
|
||||
{sources.map((item) =>
|
||||
<div key={item.source}>
|
||||
<dt>{item.layer}</dt>
|
||||
<dd><strong>{item.label}</strong><span className="muted"> · {item.source}</span></dd>
|
||||
<div key={item.id}>
|
||||
<dt><StatusBadge status={item.state === "configured" ? "success" : item.state === "disabled" ? "inactive" : "warning"} label={item.state} /></dt>
|
||||
<dd><strong>{item.label}</strong><span className="muted"> · {item.owner_module_id} · {item.kind} · {item.provenance.source}</span></dd>
|
||||
</div>
|
||||
)}
|
||||
</dl>
|
||||
|
||||
Reference in New Issue
Block a user