@apistudio/apim-cli
Version:
CLI for API Management Products
25 lines (23 loc) • 1.3 kB
text/typescript
/**
* Copyright Super iPaaS Integration LLC, an IBM Company 2024
*/
import { RootDirectoryInfo } from "../models/root-directory-info.model.js";
export interface IRootDirectoryHandler {
addRootDirectory(rootDirInfo: RootDirectoryInfo): Promise<void | RootDirectoryInfo[]>;
getAllRootDirectoryHandles(): Promise<RootDirectoryInfo[] | void>;
getRootDirectoryHandle(uniqueFolderName: string): Promise<RootDirectoryInfo | null>;
deleteRootDirectoryHandle(name: string): Promise<void>;
/**
* Checks if permission is required to access the given root directory handles
* @param rootDirectoryHandles List of root directory objects to validate access permission
* @returns true if all the root directories have required permissions, else false
*/
isAccessPermissionRequired(rootDirectoryHandles: RootDirectoryInfo[]): Promise<boolean>;
/**
* Requests access permission to user for the root directory handles that do not have permission
* @param rootDirectoryHandles List of root directory handles to request access permission
* @returns List of root directory handles which have access permission
*/
requestAccessPermission(rootDirectoryHandles: RootDirectoryInfo[]): Promise<RootDirectoryInfo[]>;
}
export default IRootDirectoryHandler;