docs: oas (#197)

Adds OpenAPI specification of Storefront and Admin APIs.
Updates docs project.
This commit is contained in:
Sebastian Rindom
2021-03-10 11:51:54 +01:00
committed by GitHub
parent 975de99ee7
commit 8edb32c742
240 changed files with 23592 additions and 419 deletions

59
scripts/build-openapi.js Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env node
const fs = require("fs");
const OAS = require("oas-normalize");
const swaggerInline = require("swagger-inline");
// Storefront API
swaggerInline(
["./packages/medusa/src/models", "./packages/medusa/src/api/routes/store"],
{
base: "./docs/api/store-spec3-base.json",
}
).then((gen) => {
const oas = new OAS(gen);
oas.validate((err, genObj) => {
if (err) {
console.error(err);
return;
}
fs.writeFileSync("./docs/api/store-spec3.json", JSON.stringify(genObj));
}, true);
});
swaggerInline(
["./packages/medusa/src/models", "./packages/medusa/src/api/routes/store"],
{
base: "./docs/api/store-spec3-base.json",
format: "yaml",
}
).then((gen) => {
fs.writeFileSync("./docs/api/store-spec3.yaml", gen);
});
// Admin API
swaggerInline(
["./packages/medusa/src/models", "./packages/medusa/src/api/routes/admin"],
{
base: "./docs/api/admin-spec3-base.json",
}
).then((gen) => {
const oas = new OAS(gen);
oas.validate((err, genObj) => {
if (err) {
console.error(err);
return;
}
fs.writeFileSync("./docs/api/admin-spec3.json", JSON.stringify(genObj));
}, true);
});
swaggerInline(
["./packages/medusa/src/models", "./packages/medusa/src/api/routes/admin"],
{
base: "./docs/api/admin-spec3-base.json",
format: "yaml",
}
).then((gen) => {
fs.writeFileSync("./docs/api/admin-spec3.yaml", gen);
});