UNPKG

long-git-cli

Version:

A CLI tool for Git tag management.

96 lines 2.82 kB
/** * 配置管理器 * 管理所有配置数据的读取、写入、验证和加密 */ import { Storage } from "./storage"; import { DeployConfig, ProjectConfig, JenkinsConfig } from "../types"; /** * ConfigManager 类 * 负责配置的 CRUD 操作 */ export declare class ConfigManager { private storage; private configFilename; /** 内存缓存(用于存储明文密码,仅在运行时有效) */ private credentialsCache; constructor(storage?: Storage); /** * 加载配置 */ loadConfig(): Promise<DeployConfig>; /** * 保存配置(不验证完整性) * 用于部分更新配置 */ saveConfigWithoutValidation(config: DeployConfig): Promise<void>; /** * 保存配置 */ saveConfig(config: DeployConfig): Promise<void>; /** * 验证配置完整性 */ validateConfig(config: DeployConfig): Promise<boolean>; /** * 获取项目配置 */ getProjectConfig(projectPath: string): Promise<ProjectConfig | null>; /** * 更新项目配置 */ updateProjectConfig(projectPath: string, projectConfig: ProjectConfig): Promise<void>; /** * 删除项目配置 */ deleteProjectConfig(projectPath: string): Promise<void>; /** * 加密 Token */ encryptToken(token: string): Promise<string>; /** * 解密 Token */ decryptToken(encryptedToken: string): string; /** * 验证 Token * @deprecated 不再需要,直接解密使用 */ verifyToken(token: string, hash: string): Promise<boolean>; /** * 更新 Bitbucket 配置 * @param username Bitbucket 用户名 * @param token API Token 或 App Password(兼容旧版) */ updateBitbucketConfig(username: string, token: string): Promise<void>; /** * 获取 Bitbucket 明文密码 * 优先从缓存获取,如果没有则从配置文件解密 */ getBitbucketPassword(): Promise<string | undefined>; /** * 更新 Jenkins 配置 */ updateJenkinsConfig(jenkinsConfigs: JenkinsConfig[]): Promise<void>; /** * 添加 Jenkins 实例 */ addJenkinsInstance(type: "app" | "pcalpha", url: string, username: string, apiToken: string): Promise<void>; /** * 获取 Jenkins 明文 token * 优先从缓存获取,如果没有则从配置文件解密 */ getJenkinsToken(type: "app" | "pcalpha"): Promise<string | undefined>; /** * 更新部署状态 */ updateDeployStatus(projectPath: string, environment: string, status: any): Promise<void>; /** * 获取默认配置 */ private getDefaultConfig; /** * 检查配置文件是否存在 */ configExists(): Promise<boolean>; } //# sourceMappingURL=config-manager.d.ts.map