UNPKG

caprover-api

Version:
133 lines (132 loc) 7.36 kB
import { IAppDef } from '../models/AppDefinition'; import AppDefinitionsResponse from '../models/AppDefinitionsResponse'; import AppDeleteResponse from '../models/AppDeleteResponse'; import { IAutomatedCleanupConfigs } from '../models/AutomatedCleanupConfigs'; import { BuildLogsResponse } from '../models/BuildLogsResponse'; import CapRoverTheme from '../models/CapRoverTheme'; import CaptainInfo from '../models/CaptainInfo'; import { GoAccessInfo } from '../models/GoAccessInfo'; import GoAccessReportResponse from '../models/GoAccessReportResponse'; import { ICaptainDefinition } from '../models/ICaptainDefinition'; import IGoAccessInfo from '../models/IGoAccessInfo'; import { IProConfig, IProFeatures, TwoFactorAuthRequest, TwoFactorAuthResponse } from '../models/IProFeatures'; import { IRegistryInfo } from '../models/IRegistryInfo'; import { IVersionInfo } from '../models/IVersionInfo'; import LoadBalancerInfo from '../models/LoadBalancerInfo'; import LogsResponse from '../models/LogsResponse'; import { NetDataInfo } from '../models/NetDataInfo'; import NginxConfig from '../models/NginxConfig'; import OneClickAppDefinitionResponse from '../models/OneClickAppDefinitionResponse'; import OneClickAppDeploymentState from '../models/OneClickAppDeploymentState'; import OneClickAppRepositories from '../models/OneClickAppRepositories'; import OneClickAppResponse from '../models/OneClickAppResponse'; import { ProjectDefinition } from '../models/ProjectDefinition'; import ProjectsResponse from '../models/ProjectsResponse'; import RegistriesResponse from '../models/RegistriesResponse'; import { ServerDockerInfo } from '../models/ServerDockerInfo'; import UnusedImagesResponse from '../models/UnusedImagesResponse'; export type AuthenticationContent = { password: string; otpToken?: string; }; export interface AuthenticationProvider { onAuthTokenRequested(): Promise<string>; onCredentialsRequested(): Promise<AuthenticationContent>; onAuthTokenUpdated(authToken: string): void; } export declare class SimpleAuthenticationProvider implements AuthenticationProvider { private onCredRequestedImpl; private authToken; constructor(onCredRequestedImpl: () => Promise<AuthenticationContent>); onAuthTokenRequested(): Promise<string>; onCredentialsRequested(): Promise<AuthenticationContent>; onAuthTokenUpdated(newAuthToken: string): void; } export default class ApiManager { private authProvider; private http; constructor(baseDomain: string, authProvider: AuthenticationProvider); destroy(): void; login(password: string, otpToken?: string): Promise<void>; getAllThemes(): Promise<{ themes: CapRoverTheme[] | undefined; }>; getCurrentTheme(): Promise<{ theme: CapRoverTheme; }>; setCurrentTheme(themeName: string): Promise<{}>; saveTheme(oldName: string, theme: CapRoverTheme): Promise<{}>; deleteTheme(themeName: string): Promise<{}>; getProFeaturesState(): Promise<{ proFeaturesState: IProFeatures; }>; setProApiKey(apiKey: string): Promise<void>; getProConfigs(): Promise<{ proConfigs: IProConfig; }>; setProConfigs(data: IProConfig): Promise<void>; getOtpStatus(): Promise<TwoFactorAuthResponse>; setOtpStatus(data: TwoFactorAuthRequest): Promise<TwoFactorAuthResponse>; getCaptainInfo(): Promise<CaptainInfo>; updateRootDomain(rootDomain: string, force: boolean): Promise<void>; enableRootSsl(emailAddress: string): Promise<void>; forceSsl(isEnabled: boolean): Promise<void>; getAllApps(): Promise<AppDefinitionsResponse>; getAllProjects(): Promise<ProjectsResponse>; fetchBuildLogs(appName: string): Promise<BuildLogsResponse>; fetchAppLogsInHex(appName: string): Promise<LogsResponse>; uploadAppData(appName: string, file: File): Promise<void>; registerProject(selectedProject: ProjectDefinition): Promise<ProjectDefinition>; updateProject(project: ProjectDefinition): Promise<void>; uploadCaptainDefinitionContent(appName: string, captainDefinition: ICaptainDefinition, gitHash: string, detached: boolean): Promise<void>; updateConfigAndSave(appName: string, appDefinition: IAppDef): Promise<void>; renameApp(oldAppName: string, newAppName: string): Promise<void>; registerNewApp(appName: string, projectId: string, hasPersistentData: boolean, detached: boolean): Promise<void>; deleteApp(appName: string | undefined, volumes: string[], appNames: string[] | undefined): Promise<AppDeleteResponse>; deleteProjects(projectIds: string[]): Promise<void>; enableSslForBaseDomain(appName: string): Promise<void>; attachNewCustomDomainToApp(appName: string, customDomain: string): Promise<void>; enableSslForCustomDomain(appName: string, customDomain: string): Promise<void>; removeCustomDomain(appName: string, customDomain: string): Promise<void>; getLoadBalancerInfo(): Promise<LoadBalancerInfo>; getNetDataInfo(): Promise<NetDataInfo>; updateNetDataInfo(netDataInfo: NetDataInfo): Promise<void>; getGoAccessInfo(): Promise<IGoAccessInfo>; updateGoAccessInfo(goAccessInfo: GoAccessInfo): Promise<void>; getGoAccessReports(appName: string): Promise<GoAccessReportResponse[]>; getGoAccessReport(reportUrl: string): Promise<string>; changePass(oldPassword: string, newPassword: string): Promise<void>; getVersionInfo(): Promise<IVersionInfo>; createBackup(): Promise<{ downloadToken: string; }>; performUpdate(latestVersion: string): Promise<void>; getNginxConfig(): Promise<NginxConfig>; setNginxConfig(customBase: string, customCaptain: string): Promise<void>; getUnusedImages(mostRecentLimit: number): Promise<UnusedImagesResponse>; deleteImages(imageIds: string[]): Promise<void>; getDiskCleanUpSettings(): Promise<IAutomatedCleanupConfigs>; setDiskCleanUpSettings(mostRecentLimit: number, cronSchedule: string, timezone: string): Promise<void>; getDockerRegistries(): Promise<RegistriesResponse>; enableSelfHostedDockerRegistry(): Promise<void>; disableSelfHostedDockerRegistry(): Promise<void>; addDockerRegistry(dockerRegistry: IRegistryInfo): Promise<void>; updateDockerRegistry(dockerRegistry: IRegistryInfo): Promise<void>; deleteDockerRegistry(registryId: string): Promise<void>; setDefaultPushDockerRegistry(registryId: string): Promise<void>; forceBuild(webhookPath: string): Promise<void>; getAllNodes(): Promise<{ nodes: ServerDockerInfo[]; }>; getAllOneClickApps(): Promise<OneClickAppResponse>; getOneClickAppByName(appName: string, baseDomain: string): Promise<OneClickAppDefinitionResponse>; getAllOneClickAppRepos(): Promise<OneClickAppRepositories>; addNewCustomOneClickRepo(repositoryUrl: string): Promise<void>; deleteCustomOneClickRepo(repositoryUrl: string): Promise<void>; addDockerNode(nodeType: string, privateKey: string, remoteNodeIpAddress: string, sshPort: string, sshUser: string, captainIpAddress: string): Promise<void>; startOneClickAppDeploy(template: any, values?: any, templateName?: string): Promise<{ jobId: string; }>; getOneClickAppDeployProgress(jobId: string): Promise<OneClickAppDeploymentState>; executeGenericApiCommand(verb: 'GET' | 'POST', endpoint: string, data: any): Promise<any>; }