feat(medusa-oas-cli,oas-github-ci): new options + added download of OAS in api reference (#5453)

This commit is contained in:
Shahed Nasser
2023-10-31 08:05:48 +01:00
committed by GitHub
parent 03959c3e3a
commit c1b97050ab
9 changed files with 50130 additions and 6 deletions
@@ -1,5 +1,6 @@
import { CodeTabs } from "docs-ui"
import Space from "@/components/Space"
import DownloadFull from "@/components/DownloadFull"
### Just Getting Started?
@@ -28,4 +29,10 @@ Check out the [quickstart guide](https://docs.medusajs.com/create-medusa-app).
}
}
]}
/>
/>
### Download Full Reference
Download this reference as an OpenApi YAML file. You can import this file to tools like Postman and start sending requests directly to your Medusa backend.
<DownloadFull />
@@ -0,0 +1,29 @@
import { existsSync, readFileSync } from "fs"
import { NextResponse } from "next/server"
import path from "path"
type DownloadParams = {
params: {
area: string
}
}
export function GET(request: Request, { params }: DownloadParams) {
const { area } = params
const filePath = path.join(process.cwd(), `specs/${area}/openapi.full.yaml`)
if (!existsSync(filePath)) {
return new NextResponse(null, {
status: 404,
})
}
const fileContent = readFileSync(filePath)
return new Response(fileContent, {
headers: {
"Content-Type": "application/x-yaml",
"Content-Disposition": `attachment; filename="openapi.yaml"`,
},
})
}
@@ -0,0 +1,19 @@
"use client"
import { Button } from "docs-ui"
import { useArea } from "../../providers/area"
import Link from "next/link"
const DownloadFull = () => {
const { area } = useArea()
return (
<Button variant="secondary">
<Link href={`/api/download/${area}`} download target="_blank">
Download openapi.yaml
</Link>
</Button>
)
}
export default DownloadFull
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff