UNPKG

openapi-metadata

Version:

Auto-Generate OpenAPI specifications from Typescript decorators

60 lines (54 loc) 1.53 kB
import { OperationSecurityMetadataStorage } from "../metadata/operation-security.js"; /** * Configures security requirements. * Can be applied to Controllers and Operations. * * @see https://swagger.io/specification/#security-requirement-object */ export function ApiSecurity(name: string, ...scopes: string[]) { return (target: Object, propertyKey?: string | symbol) => { OperationSecurityMetadataStorage.mergeMetadata( target, { [name]: scopes, }, propertyKey, ); }; } /** * Configures Basic auth security requirement. * Can be applied to Controllers and Operations. * * @see https://swagger.io/specification/#security-requirement-object */ export function ApiBasicAuth() { return ApiSecurity("basic"); } /** * Configures Bearer auth security requirement. * Can be applied to Controllers and Operations. * * @see https://swagger.io/specification/#security-requirement-object */ export function ApiBearerAuth() { return ApiSecurity("bearer"); } /** * Configures Cookie auth security requirement. * Can be applied to Controllers and Operations. * * @see https://swagger.io/specification/#security-requirement-object */ export function ApiCookieAuth() { return ApiSecurity("cookie"); } /** * Configures OAuth2 auth security requirement. * Can be applied to Controllers and Operations. * * @see https://swagger.io/specification/#security-requirement-object */ export function ApiOauth2(...scopes: string[]) { return ApiSecurity("oauth2", ...scopes); }