feature: add swagger auth
dev / deploy (push) Successful in 2m14s

This commit is contained in:
Daniil
2026-04-30 01:13:06 +03:00
parent 1398a0db9b
commit 14db3ce403
3 changed files with 61 additions and 1 deletions
+54
View File
@@ -0,0 +1,54 @@
import { spawn } from "node:child_process"
const schemaUrl = "https://api.trimgu.ru/api/schema/"
const outputPath = "src/shared/api/__generated__/openapi.types.ts"
const existingHeader = process.env.DOCS_BASIC_AUTH_HEADER
const user = process.env.DOCS_BASIC_AUTH_USER
const password = process.env.DOCS_BASIC_AUTH_PASSWORD
const authHeader =
existingHeader ??
(user && password
? `Basic ${Buffer.from(`${user}:${password}`, "utf8").toString("base64")}`
: undefined)
if (!authHeader) {
console.error(
"Missing docs auth. Set DOCS_BASIC_AUTH_USER and DOCS_BASIC_AUTH_PASSWORD, or DOCS_BASIC_AUTH_HEADER.",
)
process.exit(1)
}
const child = spawn(
"bunx",
[
"openapi-typescript",
schemaUrl,
"--redocly",
"redocly.yaml",
"--output",
outputPath,
],
{
env: {
...process.env,
DOCS_BASIC_AUTH_HEADER: authHeader,
},
stdio: "inherit",
},
)
child.on("exit", (code, signal) => {
if (signal) {
console.error(`openapi-typescript stopped by signal ${signal}`)
process.exit(1)
}
process.exit(code ?? 1)
})
child.on("error", (error) => {
console.error(error.message)
process.exit(1)
})