taolib.testing.config_center.services.config_service#

配置业务逻辑服务模块。

实现配置管理的核心业务逻辑,包括 CRUD、缓存集成和事件发布。

Classes#

ConfigService

配置业务逻辑服务。

Module Contents#

class taolib.testing.config_center.services.config_service.ConfigService(config_repo: taolib.testing.config_center.repository.config_repo.ConfigRepository, version_service: taolib.testing.config_center.services.version_service.VersionService, audit_service: taolib.testing.config_center.services.audit_service.AuditService, cache: taolib.testing.config_center.cache.config_cache.ConfigCacheProtocol, event_publisher: taolib.testing.config_center.events.publisher.EventPublisher | None = None)#

配置业务逻辑服务。

_config_repo#
_version_service#
_audit_service#
_cache#
_event_publisher = None#
async create_config(data: taolib.testing.config_center.models.config.ConfigCreate, user_id: str) taolib.testing.config_center.models.config.ConfigResponse#

创建配置。

参数:
  • data -- 配置创建数据

  • user_id -- 用户 ID

返回:

创建的配置响应

async get_config(config_id: str) taolib.testing.config_center.models.config.ConfigResponse | None#

获取配置。

参数:

config_id -- 配置 ID

返回:

配置响应,如果不存在则返回 None

async get_config_by_key_env_service(key: str, environment: str, service: str) taolib.testing.config_center.models.config.ConfigResponse | None#

根据 key、环境和服务获取配置(优先从缓存)。

参数:
  • key -- 配置键

  • environment -- 环境类型

  • service -- 服务名称

返回:

配置响应,如果不存在则返回 None

async update_config(config_id: str, data: taolib.testing.config_center.models.config.ConfigUpdate, user_id: str) taolib.testing.config_center.models.config.ConfigResponse | None#

更新配置。

参数:
  • config_id -- 配置 ID

  • data -- 配置更新数据

  • user_id -- 用户 ID

返回:

更新后的配置响应,如果不存在则返回 None

async delete_config(config_id: str, user_id: str) bool#

删除配置。

参数:
  • config_id -- 配置 ID

  • user_id -- 用户 ID

返回:

是否删除成功

async publish_config(config_id: str, user_id: str) taolib.testing.config_center.models.config.ConfigResponse | None#

发布配置(draft → active)。

参数:
  • config_id -- 配置 ID

  • user_id -- 用户 ID

返回:

发布后的配置响应,如果不存在则返回 None

async list_configs(environment: str | None = None, service: str | None = None, status: str | None = None, skip: int = 0, limit: int = 100) list[taolib.testing.config_center.models.config.ConfigResponse]#

查询配置列表。

参数:
  • environment -- 环境过滤

  • service -- 服务过滤

  • status -- 状态过滤

  • skip -- 跳过记录数

  • limit -- 限制记录数

返回:

配置响应列表

async _publish_event(*, config_id: str, config_key: str, environment: str, service: str, change_type: str | taolib.testing.config_center.models.enums.ChangeType, version: int, changed_by: str, new_value: Any = None) None#

发布配置变更事件(若事件发布器可用)。

async rollback_config(config_id: str, version_num: int, user_id: str) taolib.testing.config_center.models.config.ConfigResponse | None#

回滚配置到指定版本。

将配置值恢复为目标版本的值,同时创建回滚版本记录、 更新配置文档、清除缓存并记录审计日志。

参数:
  • config_id -- 配置 ID

  • version_num -- 目标版本号

  • user_id -- 操作用户 ID

返回:

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