@trapi/swagger
Version:
Generate Swagger files from a decorator APIs.
49 lines • 1.45 kB
TypeScript
import type { SecurityType } from './constants';
export interface DocumentFormatData {
path: string;
name: string;
content?: string;
}
export interface BaseSecurity {
description?: string;
}
export interface ApiKeySecurity extends BaseSecurity {
type: `${SecurityType.API_KEY}`;
name: string;
in: 'query' | 'header';
}
export interface BasicSecurity extends BaseSecurity {
type: `${SecurityType.HTTP}`;
schema: 'basic';
}
export interface OAuth2Security extends BaseSecurity {
type: `${SecurityType.OAUTH2}`;
flows: {
implicit?: OAuth2ImplicitFlow;
password?: OAuth2PasswordFlow;
authorizationCode?: OAuth2AuthorizationCodeFlow;
clientCredentials?: OAuth2ClientCredentialsFlow;
};
}
export interface Oauth2BaseFlow {
scopes?: Record<string, string>;
refreshUrl?: string;
}
export interface OAuth2ImplicitFlow extends Oauth2BaseFlow {
authorizationUrl: string;
}
export interface OAuth2PasswordFlow extends Oauth2BaseFlow {
tokenUrl: string;
}
export interface OAuth2AuthorizationCodeFlow extends Oauth2BaseFlow {
authorizationUrl: string;
tokenUrl: string;
}
export interface OAuth2ClientCredentialsFlow extends Oauth2BaseFlow {
tokenUrl: string;
}
export type SecurityDefinition = ApiKeySecurity | BasicSecurity | OAuth2Security;
export interface SecurityDefinitions {
[key: string]: SecurityDefinition;
}
//# sourceMappingURL=type.d.ts.map