@altostra/core
Version:
Core library for shared types and logic
37 lines (36 loc) • 2.05 kB
TypeScript
/// <reference types="node" />
import type { NonEmptyString } from "../../common/CustomTypes/NonEmptyString";
import type { Logger } from "../../common/Logging";
import type { AwsRegion } from "../../common/Models/AwsRegion";
import type { OrganizationId } from "../../common/Models/Organization";
import type { AxiosInstance } from 'axios';
import type { Readable } from 'form-data';
import type { GitUtilsInitialization } from "../git-utils";
import { CodeCommitGitUtils } from "../git-utils/CodeCommit";
import type { CommitFilesRequest, CreatePullRequestOptions, CreateRepoRequest, CreateRepoResult, IGitHost, ListFilesOptions } from "../Types";
export interface CodeCommitGitHostParams {
teamName?: string;
endpoint: URL | string;
region: AwsRegion;
serviceAuth: [header: NonEmptyString, value: NonEmptyString];
organizationId: OrganizationId;
awsAccountId: NonEmptyString;
logger?: Logger;
axios?: AxiosInstance;
}
export declare class CodeCommitGitHost extends CodeCommitGitUtils implements IGitHost {
#private;
constructor({ endpoint, serviceAuth: [serviceAuthHeader, serviceAuthToken], organizationId, teamName, region, awsAccountId, logger, axios, }: CodeCommitGitHostParams);
getHeadSha(repository: string, branch?: string): Promise<string>;
createRepository(request: CreateRepoRequest): Promise<CreateRepoResult>;
commitFiles({ filesToCommit, ...params }: CommitFilesRequest): Promise<string>;
listRepositories(filter?: string): Promise<string[]>;
downloadFile(repository: string, path: string): Promise<Buffer>;
downloadRepo(repository: string): Promise<Readable>;
createBranch(repository: string, branch: string): Promise<void>;
createPullRequest(options: CreatePullRequestOptions): Promise<string>;
getDefaultBranch(repository: string): Promise<NonEmptyString>;
listFiles(repository: string, { extFilter, path, }?: ListFilesOptions): Promise<string[]>;
getGitUtilsInitialization(): GitUtilsInitialization;
validateAuthentication(): Promise<void>;
}