UNPKG

@dataroadinc/setup-auth

Version:

CLI tool and programmatic API for automated OAuth setup across cloud platforms

97 lines (96 loc) 2.87 kB
export interface VercelEnvVariable { key: string; value: string; targets?: string[]; scope?: string; } export interface EnvVariable { id: string; key: string; value: string; target: string[]; type: string; gitBranch: string | null; createdAt: number; updatedAt: number; } export interface VercelProject { id: string; name: string; accountId: string; } export interface VercelTeam { id: string; name: string; slug: string; } export interface VercelApiResponse<T = unknown> { data?: T; error?: { message: string; status: string; code: string; details?: unknown; }; } export interface VercelClientInterface { getToken(): Promise<string | null>; getTeamId(): Promise<string | null>; getProjectName(): Promise<string | null>; getProjectId(): Promise<string | null>; getProject(name: string): Promise<VercelProject>; getEnvVariables(): Promise<EnvVariable[]>; createEnvVariable(envVar: VercelEnvVariable): Promise<EnvVariable>; updateEnvVariable(envId: string, envVar: VercelEnvVariable): Promise<EnvVariable>; removeEnvVariable(envId: string): Promise<void>; getDeployments(): Promise<string[]>; getTeams(): Promise<VercelTeam[]>; getProjects(): Promise<VercelProject[]>; } interface VercelJson { version?: number; name?: string; scope?: string; alias?: string[]; builds?: BuildConfiguration[]; routes?: RouteConfiguration[]; rewrites?: RewriteRule[]; redirects?: RedirectRule[]; headers?: HeaderRule[]; cleanUrls?: boolean; trailingSlash?: boolean; } interface BuildConfiguration { src: string; use: string; config?: Record<string, unknown>; } interface RouteConfiguration { src: string; dest?: string; methods?: string[]; headers?: Record<string, string>; } interface RewriteRule { source: string; destination: string; } interface RedirectRule { source: string; destination: string; statusCode?: number; } interface HeaderRule { source: string; headers: Array<{ key: string; value: string; }>; } export declare function getVercelJsonPath(): Promise<string | null>; export declare function getVercelJson(): Promise<VercelJson | null>; export declare function updateVercelWithOAuthCredentials(vercelClient: VercelClientInterface, clientId: string, clientSecret: string | undefined, allowedDomains?: string | undefined): Promise<void>; export declare function getVercelClient(): Promise<VercelClientInterface>; export declare function updateVercelEnvVarWithRetry(client: VercelClientInterface, key: string, value: string, scope?: string | null | undefined, maxRetries?: number): Promise<boolean>; export declare function _getVercelTokenFromEnvironment(): Promise<string | null>; export {};