33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
import { MetadataArgsStorage } from 'routing-controllers';
|
|
import { routingControllersToSpec } from 'routing-controllers-openapi';
|
|
import { config } from './config';
|
|
|
|
/**
|
|
* This function generates a the openapi spec from route metadata and type schemas.
|
|
* @param storage MetadataArgsStorage object generated by routing-controllers.
|
|
* @param schemas MetadataArgsStorage object generated by class-validator-jsonschema.
|
|
*/
|
|
export function generateSpec(storage: MetadataArgsStorage, schemas) {
|
|
return routingControllersToSpec(
|
|
storage,
|
|
{},
|
|
{
|
|
components: {
|
|
schemas,
|
|
"securitySchemes": {
|
|
"AuthToken": {
|
|
"type": "apiKey",
|
|
"in": "query",
|
|
"name": "key",
|
|
description: "A simple api key. See the README's env section for more details."
|
|
}
|
|
}
|
|
},
|
|
info: {
|
|
description: "The the API for the LfK! mailer.",
|
|
title: "LfK! mailer API",
|
|
version: config.version
|
|
},
|
|
}
|
|
);
|
|
} |