diff --git a/example/index3.ts b/example/index3.ts new file mode 100644 index 0000000..047339e --- /dev/null +++ b/example/index3.ts @@ -0,0 +1,60 @@ +import { Elysia, InternalRoute } from 'elysia' +import { swagger } from '../src/index' +import { plugin } from './plugin' +import { registerSchemaPath } from '../src/utils' + +const app = new Elysia() + .use( + swagger({ + provider: 'scalar', + documentation: { + info: { + title: 'Elysia Scalar', + version: '0.8.1' + }, + tags: [ + { + name: 'Test', + description: 'Hello' + } + ], + paths: { + "/b/": { + get: { + operationId: "getB", + summary: "Ping Pong B", + description: "Lorem Ipsum Dolar", + tags: [ "Test" ], + responses: { + "200": { + description: "test" + }, + }, + }, + }, + }, + components: { + schemas: { + User: { + description: 'string' + } + }, + securitySchemes: { + JwtAuth: { + type: 'http', + scheme: 'bearer', + bearerFormat: 'JWT', + description: 'Enter JWT Bearer token **_only_**' + } + } + } + }, + swaggerOptions: { + persistAuthorization: true + } + }) + ) + .use(plugin) + .listen(3000) + +console.log(app.rsaoutes) diff --git a/src/index.ts b/src/index.ts index b585d7b..c235e4f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -143,10 +143,12 @@ export const swagger = ...documentation.info } }, - paths: filterPaths(schema, { + paths: {...filterPaths(schema, { excludeStaticFile, exclude: Array.isArray(exclude) ? exclude : [exclude] - }), + }), + ...documentation.paths + }, components: { ...documentation.components, schemas: {