UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

46 lines 3.38 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { AddApiFromFileFormData } from "../../component-models/models/add-api-from-file-form-data.model.js"; import { AddApiFromScratchFormData } from "../../component-models/models/add-api-from-scratch-form-data.model.js"; import { AddApiFromUrlFormData } from "../../component-models/models/add-api-from-url-form-data.model.js"; import { Project } from "../../lfs/models/project.model.js"; import { VCSFileInfo } from "../../vcs/models/vcs-file-info.model.js"; import { VCSProject } from "../../vcs/models/vcs-project.model.js"; import { Metadata } from "../models/base-asset.model.js"; import { FileExplorerNode } from "../models/file-explorer.model.js"; import { Response } from "../models/response-wrapper.js"; export interface VCShandle { repoNameWithOwner: string; name: string; } export interface FormOperationResponse { data: string; file: FileSystemFileHandle | VCSFileInfo; } export interface ApiFormOperationResponse { api: FormOperationResponse; spec: FormOperationResponse; } export interface IFileExplorerOperationsHandler { /** * Generates the tree of objects with required info to construct the file explorer window. * @param projectFolderEntity The parent entity to build file explorer tree from. The projectFolderEntity can either be a directory handle or a vcs tree entry. * @returns A file explorer node representing the transformed equivalent of the given folder to be used for rendering the File explorer. */ buildTree(projectFolderEntity: FileSystemDirectoryHandle | VCShandle): Promise<Response<FileExplorerNode>>; createFile(parentNode: FileExplorerNode, fileName: string, project: Project | VCSProject): Promise<Response<FileExplorerNode>>; createDirectory(parentNode: FileExplorerNode, directoryName: string, project: Project | VCSProject): Promise<Response<FileExplorerNode>>; deleteFile(node: FileExplorerNode, project: Project | VCSProject): Promise<Response>; deleteDirectory(node: FileExplorerNode, project: Project | VCSProject): Promise<Response>; renameFile(node: FileExplorerNode, newName: string, project: Project | VCSProject): Promise<Response<FileExplorerNode>>; duplicateFile(parentNode: FileExplorerNode, node: FileExplorerNode, project: Project | VCSProject): Promise<Response<FileExplorerNode>>; createAPIFileFromScratch(ApiFormData: AddApiFromScratchFormData, active: Project | VCSProject): Promise<ApiFormOperationResponse>; createAPIFileFromFile(ApiFormData: AddApiFromFileFormData, active: Project | VCSProject): Promise<ApiFormOperationResponse>; createAPIFileFromUrl(ApiFormData: AddApiFromUrlFormData, active: Project | VCSProject): Promise<ApiFormOperationResponse>; createTestFileFromScratch(TestFormData: Metadata, active: Project | VCSProject, kind: string): Promise<FileSystemFileHandle | VCSFileInfo>; createPolicyFileFromScratch(policyFromData: Metadata, active: Project | VCSProject): Promise<FormOperationResponse>; createGlobalPolicyFileFromScratch(policyFromData: Metadata, active: Project | VCSProject): Promise<FormOperationResponse>; createPolicyKindFileFromScratch(policyKind: string, policyFromData: Metadata, active: Project | VCSProject): Promise<FormOperationResponse>; } //# sourceMappingURL=file-explorer-handler.interface.d.ts.map