Files
website/apps/docs/scripts/fix-api-paths.mjs
Mauricio Siu b8fa39fc20 fix: update OpenAPI security scheme and normalize API paths
- Replaced "Authorization" with "x-api-key" in OpenAPI specifications across multiple endpoints.
- Updated the script to convert API path references from slash notation to dot notation to align with the OpenAPI schema.
- Removed redundant slash path aliases, retaining only canonical dot paths in the OpenAPI specification.
2026-03-01 11:33:45 -06:00

31 lines
1.2 KiB
JavaScript

/**
* Normalizes OpenAPI path references in API docs MDX files.
* Converts slash notation (/tag/operation) to dot notation (/tag.operation)
* so they match our OpenAPI schema paths and display the real API path.
*/
import { readdirSync, readFileSync, writeFileSync } from "node:fs";
import { join } from "node:path";
const API_DOCS_DIR = join(process.cwd(), "content", "docs", "api");
let totalFixed = 0;
for (const name of readdirSync(API_DOCS_DIR)) {
if (!name.endsWith(".mdx")) continue;
const file = join(API_DOCS_DIR, name);
const content = readFileSync(file, "utf8");
// Match path in both orders: "path":"/x/y" and "path":"/a/b"
const newContent = content.replace(/"path":"(\/[^"]+)"/g, (_, path) => {
// Convert /tag/operation or /tag/op/subop to /tag.operation or /tag.op.subop to match schema
if (path.includes("/") && !path.includes(".")) {
const dotPath = "/" + path.slice(1).replace(/\//g, ".");
totalFixed++;
return `"path":"${dotPath}"`;
}
return `"path":"${path}"`;
});
if (newContent !== content) writeFileSync(file, newContent);
}
if (totalFixed > 0) {
console.log(`✓ Normalized ${totalFixed} API path(s) in MDX (slash → dot)`);
}