@apistudio/apim-cli
Version:
CLI for API Management Products
35 lines • 3.85 kB
TypeScript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { FileAccessType, OpenApiPathItemObject, OpenApiDocumentObject, OpenApiTagObject, OpenAPISpecComponentsSchema, OpenAPISpecComponentsSchemaObject, OpenApiSpecServer, OpenApiSpecV3Components, OpenApiSpecExampleObj, OpenAPIExamples } from "./api-spec-handler.interface.js";
import { OpenAPIV3 } from "openapi-types";
import { VCSFileInfo } from "../../vcs/models/vcs-file-info.model.js";
export interface IOpenApiV3Handler {
setInfo(file: FileSystemFileHandle | VCSFileInfo, info: OpenAPIV3.InfoObject): Promise<OpenAPIV3.InfoObject>;
addComponentExample(file: FileAccessType, Key: string, ExampleObject: OpenApiSpecExampleObj): Promise<OpenAPIExamples>;
updateComponentExample(file: FileAccessType, PrevKey: string, CurrentKey: string, ExampleObject: OpenApiSpecExampleObj): Promise<OpenAPIExamples>;
deleteComponentExample(file: FileAccessType, Key: string): Promise<OpenAPIExamples>;
setInfo(file: FileAccessType, info: OpenAPIV3.InfoObject): Promise<OpenAPIV3.InfoObject>;
addServer(file: FileAccessType, newServer: OpenApiSpecServer): Promise<OpenAPIV3.ServerObject[]>;
updateServer(file: FileAccessType, prevServer: OpenApiSpecServer, newServer: OpenApiSpecServer): Promise<OpenAPIV3.ServerObject[]>;
deleteServer(file: FileAccessType, server: OpenApiSpecServer): Promise<OpenAPIV3.ServerObject[]>;
addPath(file: FileAccessType, key: string, newPath: OpenApiPathItemObject): Promise<OpenAPIV3.Document>;
updatePath(file: FileAccessType, prevKey: string, newKey: string, newPath: OpenApiPathItemObject): Promise<OpenAPIV3.Document>;
deletePath(file: FileAccessType, path: string): Promise<OpenAPIV3.Document>;
addComponentsSchema(file: FileAccessType, key: string, newSchema: OpenAPISpecComponentsSchemaObject): Promise<OpenAPISpecComponentsSchema>;
deleteComponentsSchema(file: FileAccessType, key: string): Promise<OpenAPISpecComponentsSchema>;
updateComponentsSchema(file: FileAccessType, prevKey: string, newKey: string, updatedSchema: OpenAPISpecComponentsSchemaObject): Promise<OpenAPISpecComponentsSchema>;
addTag(file: FileAccessType, tag: OpenApiTagObject): Promise<OpenAPIV3.TagObject[]>;
updateTag(file: FileAccessType, prevKey: string, tag: OpenApiTagObject): Promise<OpenAPIV3.TagObject[]>;
deleteTag(file: FileAccessType, tag: string): Promise<OpenAPIV3.TagObject[]>;
addOrUpdateDocument(file: FileAccessType, document: OpenApiDocumentObject): Promise<OpenAPIV3.ExternalDocumentationObject>;
deleteDocument(file: FileAccessType): Promise<undefined>;
addComponent(file: FileAccessType, key: string, object: OpenApiSpecV3Components, typeOfComponent: keyof OpenAPIV3.ComponentsObject): Promise<OpenApiSpecV3Components>;
updateComponent(file: FileAccessType, prevKey: string, currentKey: string, object: OpenApiSpecV3Components, typeOfComponent: keyof OpenAPIV3.ComponentsObject): Promise<OpenApiSpecV3Components>;
deleteComponent(file: FileAccessType, key: string, typeOfComponent: keyof OpenAPIV3.ComponentsObject): Promise<OpenApiSpecV3Components>;
setComponent: (file: FileAccessType, data: Record<string, OpenApiSpecV3Components>, typeOfComponent: keyof OpenAPIV3.ComponentsObject) => Promise<OpenAPIV3.Document>;
addSecurityRequirement(file: FileAccessType, securityRequirementObj: OpenAPIV3.SecurityRequirementObject[]): Promise<OpenAPIV3.SecurityRequirementObject[]>;
updateSecurityRequirement(file: FileAccessType, prevsecurityRequirementName: string, securityRequirementObj: OpenAPIV3.SecurityRequirementObject): Promise<OpenAPIV3.SecurityRequirementObject[]>;
deleteSecurityRequirement(file: FileAccessType, securityRequirementName: string): Promise<OpenAPIV3.SecurityRequirementObject[]>;
}
//# sourceMappingURL=openapi-v3-handler.interface.d.ts.map