UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

35 lines 2.14 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import { BranchNode } from "../models/branch-node.model.js"; import { CommitInput } from "../models/commit-input.model.js"; import { CommitResponse } from "../models/commit-response.model.js"; import { FileBlobResponse } from "../models/file-blob-response.model.js"; import { OAuthDeviceExchange, OAuthDeviceInfo, OAuthExchange } from "../models/oauth-exchange.model.js"; import { OAuthTokenResponse } from "../models/oauth-token-response.model.js"; import { RepositoryNode } from "../models/repository-node.model.js"; import { RepositoryTreeResponse } from "../models/repository-tree-response.model.js"; import { Repository, RepositoryBranch, RepositoryTree, FetchFileBlob, CreateBranch } from "../models/repository.model.js"; import { UserInfo } from "../models/user-info.model.js"; import { VCSConfig } from "../models/vcs-config.model.js"; /** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ export interface IVcsStrategy { getAllRepository(data: VCSConfig): Promise<RepositoryNode[]>; getRepositoryByName(data: Repository): Promise<RepositoryNode | null>; getLatestCommitIdForBranch(data: RepositoryBranch): Promise<string | undefined>; fetchRepositoryTree(data: RepositoryTree): Promise<RepositoryTreeResponse | undefined>; fetchBlobContent(data: FetchFileBlob): Promise<FileBlobResponse | undefined>; getRepositoryBranches(data: RepositoryBranch): Promise<BranchNode[]>; getProviderOAuthURL(): string; handleOAuthTokenExchange(data: OAuthExchange): Promise<OAuthTokenResponse>; handleOAuthDeviceTokenExchange(data: OAuthDeviceExchange): Promise<OAuthTokenResponse>; getOAuthDeviceToken(clientID: string): Promise<OAuthDeviceInfo>; getProviderEnterpriseCloudURL(): string; getUserInfo(token: string, serverUrl?: string): Promise<UserInfo>; createRepositoryBranch(data: CreateBranch): Promise<void>; deleteRepositoryBranch(data: RepositoryBranch): Promise<void>; commitToRemoteRepository(data: CommitInput): Promise<CommitResponse>; } //# sourceMappingURL=vcs-strategy.interface.d.ts.map