diff --git a/src/modules/restful/types.ts b/src/modules/restful/types.ts new file mode 100644 index 0000000..3ed5aa1 --- /dev/null +++ b/src/modules/restful/types.ts @@ -0,0 +1,34 @@ +import { Type } from '@nestjs/common'; +import { ExternalDocumentationObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface'; + +export interface TagOption { + name: string; + description?: string; + externalDocs?: ExternalDocumentationObject; +} + +export interface ApiDocSource { + title?: string; + description?: string; + auth?: boolean; + tags?: (string | TagOption)[]; +} + +export interface ApiConfig extends ApiDocSource { + docuri?: string; + default: string; + enable: string; + versions: Record; +} + +export interface VersionOption extends ApiDocSource { + routes?: RouteOption[]; +} + +export interface RouteOption { + name: string; + path: string; + controllers: Type[]; + children?: RouteOption[]; + doc?: ApiDocSource; +}