@things-factory/api 9.0.0-beta.8 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -32,7 +32,9 @@ function initMiddlewares(app) {
|
|
|
32
32
|
.reduce((merged, file) => {
|
|
33
33
|
const parsed = yamljs_1.default.parse(fs.readFileSync(path_1.default.join(openapiDir, version, file)).toString());
|
|
34
34
|
return (0, lodash_1.merge)(merged, parsed);
|
|
35
|
-
},
|
|
35
|
+
}, {
|
|
36
|
+
...yamljs_1.default.parse(fs.readFileSync(path_1.default.join(openapiDir, file)).toString())
|
|
37
|
+
});
|
|
36
38
|
}
|
|
37
39
|
else {
|
|
38
40
|
spec[version] = yamljs_1.default.parse(fs.readFileSync(path_1.default.join(openapiDir, file)).toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-docs-router.js","sourceRoot":"","sources":["../../server/routers/api-docs-router.ts"],"names":[],"mappings":";;;AAaA,0CA4DC;;AAzED,oEAA+B;AAC/B,qDAA4C;AAC5C,mCAA8B;AAC9B,wDAAuB;AACvB,4DAAyB;AAEzB,6CAAiD;AAEjD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;AAEnD,QAAA,MAAM,GAAG,WAAW,CAAA;AACpB,QAAA,aAAa,GAAG,IAAI,oBAAM,EAAE,CAAA;AAEzC,SAAgB,eAAe,CAAC,GAAG;IACjC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtB,IAAI,IAAI,GAAG,EAAE,CAAA;IAEb,SAAS,KAAK;QACZ,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,OAAM;YACR,CAAC;YAED,IAAI,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YAEtC,KAAK;iBACF,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC5C,OAAO,CAAC,IAAI,CAAC,EAAE;gBACd,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;gBAEvD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;yBACf,WAAW,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;yBAC3C,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBAC5C,MAAM,CACL,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;wBACf,MAAM,MAAM,GAAG,gBAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;wBAC3F,OAAO,IAAA,cAAK,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAC9B,CAAC,
|
|
1
|
+
{"version":3,"file":"api-docs-router.js","sourceRoot":"","sources":["../../server/routers/api-docs-router.ts"],"names":[],"mappings":"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","sourcesContent":["import Router from 'koa-router'\nimport { koaSwagger } from 'koa2-swagger-ui'\nimport { merge } from 'lodash'\nimport path from 'path'\nimport yaml from 'yamljs'\n\nimport { appRootPath } from '@things-factory/env'\n\nconst openapiDir = path.join(appRootPath, 'dist-app', 'openapi')\n\nexport const PREFIX = '/api-docs'\nexport const apiDocsRouter = new Router()\n\nexport function initMiddlewares(app) {\n var fs = require('fs')\n\n var spec = {}\n\n function build() {\n try {\n if (!fs.existsSync(openapiDir)) {\n return\n }\n\n var files = fs.readdirSync(openapiDir)\n\n files\n .filter(filename => /\\.yaml$/.test(filename))\n .forEach(file => {\n const version = path.basename(file, path.extname(file))\n\n if (fs.existsSync(path.join(openapiDir, version))) {\n spec[version] = fs\n .readdirSync(path.join(openapiDir, version))\n .filter(filename => /\\.yaml$/.test(filename))\n .reduce(\n (merged, file) => {\n const parsed = yaml.parse(fs.readFileSync(path.join(openapiDir, version, file)).toString())\n return merge(merged, parsed)\n },\n {\n ...yaml.parse(fs.readFileSync(path.join(openapiDir, file)).toString())\n }\n )\n } else {\n spec[version] = yaml.parse(fs.readFileSync(path.join(openapiDir, file)).toString())\n }\n })\n } catch (err) {\n console.error('build error', err)\n }\n }\n\n build()\n\n process.on('client-rebuilt' as any, (app, compilerFileSystem) => {\n /* change filesystem whenever webpacking assets done. only for development mode. */\n fs = compilerFileSystem\n build()\n })\n\n apiDocsRouter.get(`/:version`, async (context, next) => {\n let { version } = context.params\n\n return await koaSwagger({ routePrefix: false, swaggerOptions: { spec: spec[version] || {} } })(context, next)\n })\n\n // fallback\n apiDocsRouter.get('(.*)', async (context, next) => {\n var defaultVersion = Object.keys(spec)[0]\n\n context.redirect(`${PREFIX}/${defaultVersion}`)\n })\n}\n"]}
|