@apistudio/apim-cli
Version:
CLI for API Management Products
50 lines (39 loc) • 3.4 kB
text/typescript
import { OpenAPIV3, OpenAPIV3_1 } from "openapi-types";
import { VCSFileInfo } from "../../vcs/models/vcs-file-info.model.js";
import { OpenApiDocumentObject, OpenApiPathItemObject, OpenAPISecurityRequirement, OpenApiSpecComponents, OpenAPISpecComponentsSchemaObject, OpenApiSpecExampleObj, OpenApiTagObject } from "../interfaces/api-spec-handler.interface.js";
import { SelectionItem } from "./api-context.store.model.js";
import { AssetInfo } from "../../lfs/models/asset-info.model.js";
export interface APIContextAction {
setData: (data: string | null) => void;
setContext: (fileAccessor: FileSystemFileHandle | VCSFileInfo) => void;
setOpenAPIVersion: (version: string | null) => void;
updateInfo: (info: OpenAPIV3.InfoObject | OpenAPIV3_1.InfoObject) => void;
addServer: (server: OpenAPIV3.ServerObject | OpenAPIV3_1.ServerObject) => Promise<void>;
updateServer: (oldServer: OpenAPIV3.ServerObject | OpenAPIV3_1.ServerObject, newServer: OpenAPIV3.ServerObject | OpenAPIV3_1.ServerObject) => void;
deleteServer: (server: OpenAPIV3.ServerObject | OpenAPIV3_1.ServerObject) => void;
addComponentExample: (Key: string, ExampleObj: OpenApiSpecExampleObj) => Promise<void>;
updateComponentExample: (PrevKey: string, CurrentKey: string, ExampleObj: OpenApiSpecExampleObj) => Promise<void>;
deleteComponentExample: (key: string) => Promise<void>;
addComponentSchema: (key: string, newSchema: OpenAPISpecComponentsSchemaObject) => Promise<void>;
updateComponentSchema: (prevKey: string, newKey: string, updatedSchema: OpenAPISpecComponentsSchemaObject) => Promise<void>;
deleteComponentSchema: (key: string) => Promise<void>;
addPath: (key: string, pathItem: OpenApiPathItemObject) => Promise<void>;
updatePath: (PrevKey: string, CurrentKey: string, pathObj: OpenApiPathItemObject) => Promise<void>;
deletePath: (key: string) => Promise<void>;
addTag: (tag: OpenApiTagObject) => Promise<void>;
updateTag: (prevKey: string, tag: OpenApiTagObject) => Promise<void>;
deleteTag: (tag: string) => Promise<void>;
addSecurity: (security: OpenAPISecurityRequirement[]) => Promise<void>;
updateSecurity: (prevSecuityName: string, security: OpenAPISecurityRequirement) => Promise<void>;
deleteSecurity: (securityName: string) => Promise<void>;
addOrUpdateDocument: (document: OpenApiDocumentObject) => Promise<void>;
deleteDocument: () => Promise<void>;
addComponent: (key: string, object: OpenApiSpecComponents, typeOfComponent: keyof OpenAPIV3.ComponentsObject | keyof OpenAPIV3_1.ComponentsObject) => Promise<void>;
updateComponent: (prevKey: string, currentKey: string, object: OpenApiSpecComponents, typeOfComponent: keyof OpenAPIV3.ComponentsObject | keyof OpenAPIV3_1.ComponentsObject) => Promise<void>
deleteComponent: (key: string, typeOfComponent: keyof OpenAPIV3.ComponentsObject | keyof OpenAPIV3_1.ComponentsObject) => Promise<void>;
setComponent: (data: Record<string, OpenApiSpecComponents>, typeOfComponent: keyof OpenAPIV3.ComponentsObject | keyof OpenAPIV3_1.ComponentsObject) => Promise<void>;
addSelection: (selectionItem: SelectionItem) => void;
updateSelection: (position: number, updatedSelectionItem: SelectionItem) => void;
setSelectionItems: (selectionItems: Array<SelectionItem>) => void;
removeSelectionAfterPosition: (position: number) => void;
}