UNPKG

@igli.kokici/st-open-api

Version:

Generates API client SDKs from an OpenAPI specification written in OpenAPI version 3.x.x

79 lines (77 loc) 3.56 kB
import { IExternalDocumentation } from "./i-external-documentation"; import { ITag } from "./i-tag"; import { IServer } from "./i-server"; import { IParameter } from "./i-parameter"; import { IReference } from "./i-reference"; import { IRequestBody } from "./i-request-body"; export interface IOperation { /** * A list of tags for API documentation control. Tags can be used for logical grouping of * operations by resources or any other qualifier. */ tags?: Array<ITag>; /** * A short summary of what the operation does. */ summary?: string; /** * A verbose explanation of the operation behavior. CommonMark syntax MAY be used for * rich text representation. */ description?: string; /** * Additional external documentation for this operation. */ externalDocs?: IExternalDocumentation; /** * Unique string used to identify the operation. The id MUST be unique among all operations * described in the API. The operationId value is case-sensitive. Tools and libraries MAY use * the operationId to uniquely identify an operation, therefore, it is RECOMMENDED to follow * common programming naming conventions. */ operationId?: string; /** * A list of parameters that are applicable for this operation. * If a parameter is already defined at the Path Item, the new definition will override it but can * never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined * by a combination of a name and location. The list can use the Reference Object to link * to parameters that are defined at the OpenAPI Object's components/parameters. */ parameters?: Array<IParameter>; /** * The request body applicable for this operation. The requestBody is only supported in HTTP methods * where the HTTP 1.1 specification RFC7231 has explicitly defined semantics for request bodies. * In other cases where the HTTP spec is vague, requestBody SHALL be ignored by consumers. */ requestBody?: IRequestBody | IReference; /** * REQUIRED. The list of possible responses as they are returned from executing this operation. */ responses: {}; /** * A map of possible out-of band callbacks related to the parent operation. * The key is a unique identifier for the Callback Object. Each value in the map is a Callback Object * that describes a request that may be initiated by the API provider and the expected responses. */ callbacks?: {}; /** * Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the * declared operation. Default value is false. */ deprecated?: boolean; /** * A declaration of which security mechanisms can be used for this operation. * The list of values includes alternative security requirement objects that can be used. * Only one of the security requirement objects need to be satisfied to authorize a request. * To make security optional, an empty security requirement ({}) can be included in the array. * This definition overrides any declared top-level security. To remove a top-level security * declaration, an empty array can be used. */ security?: []; /** * An alternative server array to service this operation. * If an alternative server object is specified at the Path Item Object or Root level, * it will be overridden by this value. */ servers?: Array<IServer>; }