UNPKG

@codefresh-io/cf-git-providers

Version:

An NPM module/CLI for interacting with various git providers

140 lines 4.19 kB
import { Provider, Branch, Repository, Webhook, ProviderName, User, PullRequest, RepositoryPermission, PermissionScopes, GitAuth, RefreshTokenHandler } from './types'; import { RetryConfigMap } from '../helpers/request-retry'; export default class Gitlab implements Provider { private baseUrl; private authenticationHeader; private timeout; private agent?; private auth; private refreshTokenHandler?; private retryConfig?; constructor(opts: { password: string; refreshToken?: string; apiURL?: string; timeout?: number; insecure?: boolean; apiUrl?: string; apiVersion?: string; refreshTokenHandler?: RefreshTokenHandler; retryConfig?: RetryConfigMap; }); createRepository(opt: { owner: string; repo: string; autoInit?: boolean; private?: boolean; }): Promise<Repository>; private shouldRefreshToken; private updateAuth; private performAPICall; private getPaginatedResults; getName(): ProviderName; fetchRawFile(opt: { owner: string; repo: string; ref: string; path: string; }): Promise<string>; getBranch(opt: { owner: string; repo: string; branch: string; }): Promise<Branch>; getRepository(opt: { owner: string; repo: string; }): Promise<Repository>; listBranches(opt: { owner: string; repo: string; limit?: number; page?: number; }): Promise<Branch[]>; createBranch(): Promise<Branch>; listRepositoriesForOwner(opt: { owner: string; sort?: 'name' | 'pushed' | 'created'; direction?: 'desc' | 'asc'; limit?: number; page?: number; }): Promise<Repository[]>; listWebhooks(opt: { owner: string; repo: string; limit?: number; page?: number; }): Promise<Webhook[]>; createRepositoryWebhook(opt: { owner: string; repo: string; endpoint: string; secret: string; }): Promise<Webhook>; deleteRepositoryWebhook(opt: { owner: string; repo: string; hookId: number; }): Promise<void>; listRepositoriesWithAffiliation(opt: { affiliation?: string; sort?: 'name' | 'pushed' | 'created'; direction?: 'desc' | 'asc'; limit?: number; page?: number; }): Promise<Repository[]>; listOrganizations(opt: { limit?: number; page?: number; }): Promise<string[]>; listRepositoriesForOrganization(opt: { organization: string; sort?: 'name' | 'pushed' | 'created'; direction?: 'desc' | 'asc'; limit?: number; page?: number; }): Promise<Repository[]>; createCommitStatus(opt: { owner: string; repo: string; sha: string; targetUrl: string; state: string; description: string; context: string; }): Promise<void>; getUser(opt?: { username?: string; }): Promise<User>; getUserByEmail(email: string): Promise<User>; getPullRequestFiles(): Promise<string[]>; getPullRequest(): Promise<PullRequest>; searchMergedPullRequestByCommitSha(): Promise<PullRequest | undefined>; createPullRequest(): Promise<PullRequest>; getRepositoryPermissions(opt: { owner: string; repo: string; user?: string; }): Promise<RepositoryPermission>; assertApiScopes(opt: { scopes: PermissionScopes[]; repoUrl?: string; }): Promise<void>; validateToken(): Promise<void>; skipPermissionsValidation(): { skip: boolean; reason?: string; }; assertReadScope(): Promise<any>; assertWriteScope(repoUrl: string): Promise<any>; assertAdminScope(): Promise<any>; getGroupId(opt: { groupName: string; }): Promise<number>; toOwnerRepo(fullRepoName: string): [string, string]; getAuth(): GitAuth; isTokenMutable(): boolean; requiresRepoToCheckTokenScopes(): boolean; useAdminForUserPermission(): boolean; } //# sourceMappingURL=gitlab.d.ts.map