diff --git a/webui/swagger.html b/webui/swagger.html index 9c6c3cd..bfe7cf5 100644 --- a/webui/swagger.html +++ b/webui/swagger.html @@ -1,4 +1,4 @@ - +
diff --git a/webui/swagger.js b/webui/swagger.js index 3e64962..47f5d7b 100644 --- a/webui/swagger.js +++ b/webui/swagger.js @@ -1,37 +1,37 @@ async function loadSpec() { - const response = await fetch("/openapi.json"); + const response = await fetch('/openapi.json'); const spec = await response.json(); if (!response.ok) { - throw new Error(spec.error || "Failed to load OpenAPI spec"); + throw new Error(spec.error || 'Failed to load OpenAPI spec'); } return spec; } function methodPayload(operation) { - const body = operation.requestBody?.content?.["application/json"]?.schema; - if (!body) return ""; + const body = operation.requestBody?.content?.['application/json']?.schema; + if (!body) return ''; return JSON.stringify(body.example || body.properties || body, null, 2); } function renderSpec(spec) { - const root = document.getElementById("api-docs"); - const sectionTemplate = document.getElementById("api-section-template"); - const methodTemplate = document.getElementById("api-method-template"); - root.innerHTML = ""; + const root = document.getElementById('api-docs'); + const sectionTemplate = document.getElementById('api-section-template'); + const methodTemplate = document.getElementById('api-method-template'); + root.innerHTML = ''; Object.entries(spec.paths || {}).forEach(([path, methods]) => { const section = sectionTemplate.content.firstElementChild.cloneNode(true); - section.querySelector(".api-path").textContent = path; - const methodsRoot = section.querySelector(".api-methods"); + section.querySelector('.api-path').textContent = path; + const methodsRoot = section.querySelector('.api-methods'); Object.entries(methods).forEach(([method, operation]) => { const node = methodTemplate.content.firstElementChild.cloneNode(true); - node.querySelector(".api-verb").textContent = method.toUpperCase(); - node.querySelector(".api-summary").textContent = operation.summary || ""; - node.querySelector(".api-description").textContent = operation.description || ""; + node.querySelector('.api-verb').textContent = method.toUpperCase(); + node.querySelector('.api-summary').textContent = operation.summary || ''; + node.querySelector('.api-description').textContent = operation.description || ''; const body = methodPayload(operation); - const bodyNode = node.querySelector(".api-body"); + const bodyNode = node.querySelector('.api-body'); if (body) { bodyNode.textContent = body; } else { @@ -49,5 +49,5 @@ loadSpec() .then(renderSpec) .catch((error) => { console.error(error); - document.getElementById("api-docs").innerHTML = `