@apistudio/apim-cli
Version:
CLI for API Management Products
27 lines (16 loc) • 1.47 kB
text/typescript
import { Metadata } from "../../common/models/base-asset.model.js";
import { MetadataInfo } from "../../lfs/models/asset-info.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";
export interface IPolicyFormHandler {
getFileContent: (file: FileSystemFileHandle | VCSFileInfo) => Promise<string>
addNewPolicy: (fileHandle: FileSystemFileHandle | VCSFileInfo, stage: string, metadata: Metadata) => Promise<FileSystemFileHandle | VCSFileInfo>;
addExistingPolicy: (fileHandle: FileSystemFileHandle | VCSFileInfo, stage: string, metadata: Metadata) => Promise<FileSystemFileHandle | VCSFileInfo>;
removePolicy: (fileHandle: FileSystemFileHandle | VCSFileInfo, stage: string, metadata: Metadata) => Promise<boolean>;
updateStagePolicies: (fileHandle: FileSystemFileHandle | VCSFileInfo, stage: string, policies: Metadata[]) => Promise<FileSystemFileHandle | VCSFileInfo>;
updatePolicy: <T>(fileHandle: FileSystemFileHandle | VCSFileInfo, policy: T) => Promise<T>;
updateAsset: <T>(fileHandle: FileSystemFileHandle | VCSFileInfo, asset: T, ref: string) => Promise<T>;
getAllStagePolicies: (fileHandle: FileSystemFileHandle | VCSFileInfo, stage: string) => Promise<Metadata[]>;
getPoliciesByKind: (projects: (Project | VCSProject)[], kind: string) => Promise<MetadataInfo[]>;
}