taolib.testing.config_center.services.version_service#

版本管理服务模块。

实现配置版本历史、回滚和差异比较功能。

Classes#

VersionService

版本业务逻辑服务。

Module Contents#

class taolib.testing.config_center.services.version_service.VersionService(version_repo: taolib.testing.config_center.repository.version_repo.VersionRepository, audit_service: taolib.testing.config_center.services.audit_service.AuditService)#

版本业务逻辑服务。

_version_repo#
_audit_service#
async create_version(config_id: str, config_key: str, version: int, value: Any, changed_by: str, change_type: taolib.testing.config_center.models.enums.ChangeType, change_reason: str = '', diff_summary: dict[str, Any] | None = None) taolib.testing.config_center.models.version.ConfigVersionResponse#

创建配置版本。

参数:
  • config_id -- 配置 ID

  • config_key -- 配置键

  • version -- 版本号

  • value -- 配置值

  • changed_by -- 变更人用户 ID

  • change_type -- 变更类型

  • change_reason -- 变更原因

  • diff_summary -- 差异摘要

返回:

创建的版本响应

async get_versions(config_id: str, skip: int = 0, limit: int = 100) list[taolib.testing.config_center.models.version.ConfigVersionResponse]#

获取配置版本历史。

参数:
  • config_id -- 配置 ID

  • skip -- 跳过记录数

  • limit -- 限制记录数

返回:

版本响应列表

async get_version(config_id: str, version_num: int) taolib.testing.config_center.models.version.ConfigVersionResponse | None#

获取指定版本。

参数:
  • config_id -- 配置 ID

  • version_num -- 版本号

返回:

版本响应,如果不存在则返回 None

async rollback_to_version(config_id: str, version_num: int, user_id: str) taolib.testing.config_center.models.version.ConfigVersionResponse | None#

回滚到指定版本。

参数:
  • config_id -- 配置 ID

  • version_num -- 目标版本号

  • user_id -- 操作用户 ID

返回:

回滚后的版本响应,如果版本不存在则返回 None

async compare_versions(config_id: str, v1: int, v2: int) dict[str, Any] | None#

比较两个版本的差异。

参数:
  • config_id -- 配置 ID

  • v1 -- 版本1

  • v2 -- 版本2

返回:

差异摘要字典,如果任一版本不存在则返回 None