@syngrisi/syngrisi
Version:
Syngrisi - Visual Testing Tool
49 lines (45 loc) • 1.58 kB
text/typescript
import { OpenApiGeneratorV3, OpenAPIRegistry } from '@asteasolutions/zod-to-openapi';
import { registry as users } from '../routes/v1/users.route';
import { registry as app } from '../routes/v1/app.route';
import { registry as suites } from '../routes/v1/suites.route';
import { registry as auth } from '../routes/v1/auth.route';
import { registry as logs } from '../routes/v1/logs.route';
import { registry as tasks } from '../routes/v1/tasks.route';
import { registry as baselines } from '../routes/v1/baselines.route';
import { registry as runs } from '../routes/v1/runs.route';
import { registry as test } from '../routes/v1/tests.route';
import { registry as checks } from '../routes/v1/checks.route';
import { registry as settings } from '../routes/v1/settings.route';
import { registry as testDistinct } from '../routes/v1/test_distinct.route';
import { registry as client } from '../routes/v1/client.route';
import { registry as snapshots } from '../routes/v1/snapshots.route';
export function generateOpenAPIDocument() {
const registry = new OpenAPIRegistry([
users,
app,
auth,
logs,
suites,
tasks,
baselines,
runs,
test,
checks,
settings,
testDistinct,
client,
snapshots
]);
const generator = new OpenApiGeneratorV3(registry.definitions);
return generator.generateDocument({
openapi: '3.0.0',
info: {
version: '1.0.0',
title: 'Swagger API',
},
externalDocs: {
description: 'View the raw OpenAPI Specification in JSON format',
url: '/swagger.json',
},
});
}