UNPKG

@azure-tools/codemodel-v3

Version:
192 lines 6.9 kB
import { Components, Example, ExternalDocumentation, ImplementationDetails, ImplementationLocation, IOperation, IOperationBase, IParameter, LanguageDetails, Link, ParameterDetails, ResponseDetails, SecurityRequirement, Server } from './components'; import { Extensions } from './extensions'; import { Schema } from './schema'; import { SecurityScheme } from './security-scheme'; import { DeepPartial } from '@azure-tools/codegen'; import { Dictionary } from '@azure-tools/linq'; export interface HttpOperationDetails extends ImplementationDetails { } /** * An encoding attribute is introduced to give you control over the serialization of parts of multipart request bodies. * This attribute is only applicable to multipart and application/x-www-form-urlencoded request bodies. */ export declare class Encoding extends Extensions implements Encoding { key: string; headers: Header[]; constructor(key: string, initializer?: DeepPartial<Encoding>); } export declare class Header extends Extensions implements Header { content: MediaType[]; constructor(initializer?: DeepPartial<Header>); } export declare class MediaType extends Extensions implements MediaType { key: string; encoding: Encoding[]; accepts: string[]; constructor(key: string, initializer?: DeepPartial<MediaType>); } export declare class RequestBody extends Extensions implements RequestBody { constructor(initializer?: DeepPartial<RequestBody>); } export declare class Response extends Extensions implements Response { description: string; content: Dictionary<MediaType>; links: Dictionary<Link>; headers: Header[]; constructor(description: string, initializer?: DeepPartial<Response>); } export declare enum ParameterLocation { Uri = "uri", Query = "query", Header = "header", Cookie = "cookie", Path = "path" } export declare enum EncodingStyle { Matrix = "matrix", Label = "label", Simple = "simple", Form = "form", SpaceDelimited = "spaceDelimited", PipeDelimited = "pipeDelimited", DeepObject = "deepObject" } export declare type QueryEncodingStyle = EncodingStyle.Form | EncodingStyle.SpaceDelimited | EncodingStyle.PipeDelimited | EncodingStyle.DeepObject; export declare type PathEncodingStyle = EncodingStyle.Matrix | EncodingStyle.Label | EncodingStyle.Simple; export interface Encoding extends Extensions { key: string; contentType?: string; headers: Array<Header>; style?: QueryEncodingStyle; explode?: boolean; allowReserved?: boolean; } export interface Header extends Extensions { key: string; schema: Schema; explode?: boolean; examples: Dictionary<Example>; description?: string; required: boolean; deprecated: boolean; allowEmptyValue: boolean; allowReserved: boolean; } export interface MediaType extends Extensions { key: string; accepts: Array<string>; examples: Array<Example>; encoding: Array<Encoding>; schema?: Schema; } export interface RequestBody extends Extensions { description?: string; contentType: string; schema: Schema; required: boolean; } export interface Response extends Extensions { description: string; headers: Array<Header>; content: Dictionary<MediaType>; links: Dictionary<Link>; } export interface HttpParameterDetails extends ParameterDetails { location: ImplementationLocation; } export declare enum HttpMethod { Get = "get", Put = "put", Post = "post", Delete = "delete", Options = "options", Head = "head", Patch = "patch", Trace = "trace" } export interface NewResponse { details: LanguageDetails<ResponseDetails>; responseCode: string; description: string; headers: Array<Header>; headerSchema?: Schema; mimeTypes: Array<string>; schema?: Schema; } export declare class NewResponse extends Extensions implements NewResponse { responseCode: string; description: string; mimeTypes: Array<string>; details: LanguageDetails<ResponseDetails>; constructor(responseCode: string, description: string, mimeTypes: Array<string>, objectInitializer?: DeepPartial<NewResponse>); } export declare class HttpOperation extends Extensions implements HttpOperation { baseUrl: string; path: string; method: HttpMethod; details: LanguageDetails<HttpOperationDetails>; tags: string[]; parameters: HttpOperationParameter[]; responses: Dictionary<NewResponse[]>; callbacks: Dictionary<Callback>; security: SecurityRequirement[]; servers: Server[]; deprecated: boolean; constructor(operationId: string, baseUrl: string, path: string, method: HttpMethod, initializer?: DeepPartial<HttpOperation>); } export interface HttpOperation extends IOperation<HttpOperationParameter>, Extensions { details: LanguageDetails<HttpOperationDetails>; tags: Array<string>; summary?: string; externalDocs?: ExternalDocumentation; parameters: Array<HttpOperationParameter>; requestBody?: RequestBody; responses: Dictionary<Array<NewResponse>>; callbacks: Dictionary<Callback>; deprecated: boolean; security: Array<SecurityRequirement>; servers: Array<Server>; path: string; baseUrl: string; method: HttpMethod; pathDescription?: string; pathSummary?: string; pathExtensions?: Dictionary<any>; } export interface HttpOperationParameter extends IParameter { in: ParameterLocation; explode?: boolean; encoding?: Array<Encoding>; mediaType?: string; style: EncodingStyle; examples?: Dictionary<any>; allowReserved?: boolean; } export declare class HttpOperationParameter extends Extensions implements HttpOperationParameter { name: string; details: LanguageDetails<HttpParameterDetails>; deprecated: boolean; required: boolean; allowEmptyValue: boolean; constructor(name: string, inWhere: ParameterLocation, implementation: ImplementationLocation, initializer?: DeepPartial<HttpOperationParameter>); } export declare function isHttpOperation(operation: IOperationBase): operation is HttpOperation; export declare class Callback implements Callback { constructor(); } export interface Callback extends Dictionary<HttpOperation> { } export interface HttpComponents extends Components<HttpOperation, HttpOperationParameter> { examples: Dictionary<Example>; securitySchemes: Dictionary<SecurityScheme>; links: Dictionary<Link>; callbacks: Dictionary<Callback>; } export declare class HttpComponents extends Components<HttpOperation, HttpOperationParameter> implements HttpComponents { examples: Dictionary<Example>; securitySchemes: Dictionary<SecurityScheme>; links: Dictionary<Link>; callbacks: Dictionary<Callback>; constructor(initializer?: DeepPartial<HttpComponents>); } //# sourceMappingURL=http-operation.d.ts.map