Skip to content

feat: 新增外部系统集成和 Webhook 出站#586

Open
zhiqicloud wants to merge 2 commits into
fawney19:mainfrom
zhiqicloud:feat/external-integrations
Open

feat: 新增外部系统集成和 Webhook 出站#586
zhiqicloud wants to merge 2 commits into
fawney19:mainfrom
zhiqicloud:feat/external-integrations

Conversation

@zhiqicloud
Copy link
Copy Markdown
Contributor

Why

把外部系统入口和 Webhook 出站拆开,避免外部系统集成模块依赖数据库迁移才能使用。

What Changed

  • 新增外部系统集成模块:管理入口配置、导航嵌入页、SVG 图标和按角色可见的入口读取。
  • 新增 Webhook 出站:Endpoint 管理、投递日志、重试、测试发送、worker 和相关数据库表。
  • 数据库变更全部集中在 Webhook 出站这部分,外部系统集成模块本体没有新增表或迁移。

Verification

  • cargo test -p aether-admin webhook_outbound_module_validation_depends_on_storage_availability --lib
  • cargo check -p aether-gateway --lib
  • npm run type-check --prefix frontend

- 新增外部系统入口配置、后端校验和按角色可见的公开读取接口
- 接入管理员模块菜单、用户侧导航、嵌入页和 SVG 图标上传校验
- 复用现有系统配置存储,不新增数据库表、字段或迁移
@zhiqicloud zhiqicloud force-pushed the feat/external-integrations branch 2 times, most recently from 79e4f26 to bf8b956 Compare May 28, 2026 04:23
- 新增 Webhook Endpoint 管理、签名投递、测试发送、投递日志、手动重试和后台 worker
- 接入用户注册、充值、API Key 创建、Provider 异常、余额不足等事件投递,并预留风控命中事件类型
- 前端新增 Webhook 出站页面,并在外部系统集成页内提供 Webhook 出站入口

数据库变更:
- 新增迁移:crates/aether-data/migrations/{mysql,postgres,sqlite}/20260527010000_add_webhook_notifications.sql
- 新增三张表:webhook_endpoints、webhook_deliveries、webhook_delivery_attempts
- webhook_endpoints 存 Endpoint 配置、加密 secret、事件过滤、超时/重试参数和最近测试结果
- webhook_deliveries 存事件 payload、状态、尝试次数、下次重试时间、租约、最后失败原因和响应摘要
- webhook_delivery_attempts 存单次投递尝试的 HTTP 状态、错误、响应摘要、耗时和时间戳
- 同步 logical schema、Postgres bootstrap、MySQL/Postgres/SQLite generated baseline 与 manifest
- 接入 MySQL/Postgres/SQLite webhook_notifications repository,并挂到 data backend 读写入口
@zhiqicloud zhiqicloud force-pushed the feat/external-integrations branch from bf8b956 to a5e8107 Compare May 28, 2026 04:51
@zhiqicloud zhiqicloud marked this pull request as ready for review May 28, 2026 06:50
@zhiqicloud zhiqicloud force-pushed the feat/external-integrations branch from f4a0a06 to a5e8107 Compare May 28, 2026 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant