From 8f7e8d3a71baa31f83fc2fdf3891795ed4d8e5fd Mon Sep 17 00:00:00 2001 From: movingsam Date: Mon, 2 Mar 2026 18:15:23 +0800 Subject: [PATCH] docs: update all planning docs to Chinese --- .planning/PROJECT.md | 115 ++++++++++--------- .planning/REQUIREMENTS.md | 124 ++++++++++----------- .planning/ROADMAP.md | 134 +++++++++++------------ .planning/STATE.md | 88 +++++++-------- src/yarpgateway/Data/GatewayDbContext.cs | 3 +- src/yarpgateway/Directory.Packages.props | 10 +- src/yarpgateway/YarpGateway.csproj | 6 +- 7 files changed, 235 insertions(+), 245 deletions(-) diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 415bb48..69346dd 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -1,82 +1,81 @@ # Fengling Gateway -## What This Is +## 这是什么 -API Gateway based on YARP (Yet Another Reverse Proxy) for the Fengling microservice ecosystem. Routes incoming requests to downstream services (auth-service, member-service, activity, platform, risk-control, etc.) with multi-tenant support, dynamic configuration, and distributed load balancing. +基于 YARP (Yet Another Reverse Proxy) 的 API 网关,用于风灵微服务生态系统。支持多租户路由、动态配置和分布式负载均衡,将请求路由到下游服务(auth-service、member-service、activity、platform、risk-control 等)。 -## Core Value +## 核心价值 -Reliable, scalable API gateway that distributes traffic to backend microservices with zero-downtime configuration updates. +可靠、可扩展的 API 网关,将流量分发到后端微服务,支持零停机配置更新。 -## Requirements +## 需求 -### Validated +### 已验证(现有功能) -- ✓ Multi-tenant routing based on URL path — existing -- ✓ JWT token parsing and tenant claim extraction — existing -- ✓ Dynamic route configuration from PostgreSQL — existing -- ✓ Service discovery integration with Kubernetes — existing -- ✓ Weighted round-robin load balancing — existing -- ✓ Configuration hot-reload via PostgreSQL NOTIFY — existing +- ✓ 基于 URL 路径的多租户路由 — 已有 +- ✓ JWT Token 解析和租户声明提取 — 已有 +- ✓ PostgreSQL 动态路由配置 — 已有 +- ✓ Kubernetes 服务发现集成 — 已有 +- ✓ 加权轮询负载均衡 — 已有 +- ✓ 通过 PostgreSQL NOTIFY 实现配置热重载 — 已有 -### Active +### 进行中 -- [ ] Implement console-driven configuration management (config changes in fengling-console, gateway listens and reloads) -- [ ] Support multiple gateway instances via broadcast events (multi-instance deployment) -- [ ] Remove K8s health monitoring from gateway (delegate to console) +- [ ] 实现 console 驱动的配置管理(配置在 fengling-console 变更,网关监听并重载) +- [ ] 通过广播事件支持多网关实例部署 +- [ ] 将 K8s 健康检查从网关移除(委托给 console) -### Out of Scope +### 范围外 -- [Direct gateway configuration UI] — Handled by fengling-console -- [K8s service health checks in gateway] — Delegated to console -- [Authentication/Authorization logic] — Handled by auth-service +- [直接配置网关的 UI] — 由 fengling-console 负责 +- [网关中的 K8s 服务健康检查] — 委托给 console +- [认证/授权逻辑] — 由 auth-service 负责 -## Context +## 背景 -**Ecosystem Structure:** -``` -fengling-gateway/ # Current project - API Gateway (YARP) - ↓ routes traffic to: -fengling-console/ # Central management console - config, tenant management -fengling-console-web/ # Web UI for console -fengling-auth-service/ # Authentication service -fengling-member-service/ # Member management -fengling-activity/ # Activity service -fengling-platform/ # Platform service -fengling-risk-control/ # Risk control service -fengling-service-discovery/# Service discovery +**生态系统结构:** +```fengling-gateway/ # 当前项目 - API 网关 (YARP) + ↓ 路由流量到: +fengling-console/ # 中央管理控制台 - 配置、租户管理 +fengling-console-web/ # 控制台 Web UI +fengling-auth-service/ # 认证服务 +fengling-member-service/ # 会员服务 +fengling-activity/ # 活动服务 +fengling-platform/ # 平台服务 +fengling-risk-control/ # 风控服务 +fengling-service-discovery/ # 服务发现 ``` -**Architecture Decision (New):** -- Gateway configuration managed by fengling-console, not directly -- Console publishes config changes → Gateway subscribes and reloads -- Multi-instance support via broadcast (Redis pub/sub or PostgreSQL NOTIFY) -- Console responsible for all K8s service health monitoring -- Gateway only handles request routing +**架构决策(新):** +- 网关配置由 fengling-console 管理,网关不直接配置 +- Console 发布配置变更 → 网关订阅并重载 +- 多实例支持通过广播实现(Redis pub/sub 或 PostgreSQL NOTIFY) +- Console 负责所有 K8s 服务健康监控 +- 网关只处理请求路由 -**Current Issues (from CONCERNS.md):** -- Hardcoded credentials (security risk) -- JWT token not validated (security risk) -- API endpoints without authentication (security risk) -- Load balancing lock contention -- No unit tests +**当前问题(来自 CONCERNS.md):** +- 硬编码凭据(安全风险) +- JWT Token 未验证(安全风险) +- API 端点无认证(安全风险) +- 负载均衡锁竞争 +- 缺少单元测试 -## Constraints +## 约束 -- **Multi-instance**: Gateway must support running multiple instances simultaneously -- **Hot reload**: Configuration changes without restart -- **Tech stack**: .NET 10.0, YARP, PostgreSQL, Redis -- **Deployment**: Docker + Kubernetes +- **多实例**:网关必须支持同时运行多个实例 +- **热重载**:配置变更无需重启 +- **技术栈**:.NET 10.0, YARP, PostgreSQL, Redis +- **部署**:Docker + Kubernetes -## Key Decisions +## 关键决策 -| Decision | Rationale | Outcome | -|----------|-----------|---------| -| Console-driven config | Centralizes management, single source of truth | ✓ Good | -| Broadcast events for multi-instance | Enables horizontal scaling | ✓ Good | -| Delegate K8s health to console | Reduces gateway complexity, console is ops hub | ✓ Good | -| Keep YARP as core | Well-maintained, Microsoft-supported | ✓ Good | +| 决策 | 理由 | 结果 | +|------|------|------| +| Console 驱动配置 | 集中管理,单一事实来源 | ✓ 良好 | +| 广播事件实现多实例 | 支持水平扩展 | ✓ 良好 | +| K8s 健康委托给 console | 降低网关复杂度,console 是运维中心 | ✓ 良好 | +| 保持 YARP 为核心 | 微软维护,支持良好 | ✓ 良好 | --- -*Last updated: 2026-03-02 after initialization* +*最后更新:2026-03-02 初始化后* diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 48f33e1..1a4c733 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,90 +1,90 @@ -# Requirements: Fengling Gateway +# 需求文档:Fengling Gateway -**Defined:** 2026-03-02 -**Core Value:** Reliable, scalable API gateway that distributes traffic to backend microservices with zero-downtime configuration updates. +**定义日期:** 2026-03-02 +**核心价值:** 可靠、可扩展的 API 网关,将流量分发到后端微服务,支持零停机配置更新。 -## v1 Requirements +## v1 需求 -Requirements for initial release. Each maps to roadmap phases. +初始发布版本的需求。每个需求对应一个 Roadmap 阶段。 -### Configuration Management +### 配置管理 -- [ ] **CFG-01**: Gateway listens to config change events from fengling-console -- [ ] **CFG-02**: Gateway reloads configuration without restart when notified -- [ ] **CFG-03**: Multi-instance gateway receives config updates via broadcast (Redis pub/sub or PostgreSQL NOTIFY) +- [ ] **CFG-01**:网关监听来自 fengling-console 的配置变更事件 +- [ ] **CFG-02**:收到通知后网关无需重启即可重载配置 +- [ ] **CFG-03**:多实例网关通过广播接收配置更新(Redis pub/sub 或 PostgreSQL NOTIFY) -### Multi-Instance Support +### 多实例支持 -- [ ] **INST-01**: Multiple gateway instances can run simultaneously -- [ ] **INST-02**: Configuration changes propagate to all instances -- [ ] **INST-03**: Redis-based pub/sub for cross-instance communication +- [ ] **INST-01**:多个网关实例可以同时运行 +- [ ] **INST-02**:配置变更传播到所有实例 +- [ ] **INST-03**:使用 Redis pub/sub 进行跨实例通信 -### K8s Health Delegation +### K8s 健康委托 -- [ ] **K8S-01**: Remove K8s health monitoring from gateway -- [ ] **K8S-02**: Gateway delegates service health checks to console +- [ ] **K8S-01**:从网关注销 K8s 健康监控 +- [ ] **K8S-02**:网关将服务健康检查委托给 console -### Security Fixes +### 安全修复 -- [ ] **SEC-01**: Remove hardcoded credentials from source code -- [ ] **SEC-02**: Implement proper JWT token validation -- [ ] **SEC-03**: Add authentication to gateway management API endpoints +- [ ] **SEC-01**:移除源代码中的硬编码凭据 +- [ ] **SEC-02**:实现正确的 JWT Token 验证 +- [ ] **SEC-03**:为网关管理 API 端点添加认证 -### Performance +### 性能优化 -- [ ] **PERF-01**: Optimize load balancing lock contention -- [ ] **PERF-02**: Implement incremental route cache updates +- [ ] **PERF-01**:优化负载均衡锁竞争 +- [ ] **PERF-02**:实现增量路由缓存更新 -## v2 Requirements +## v2 需求 -Deferred to future release. Tracked but not in current roadmap. +延期到未来版本。已记录但不在当前 Roadmap 中。 -### Observability +### 可观测性 -- **OBS-01**: Distributed tracing integration -- **OBS-02**: Custom metrics for gateway performance +- **OBS-01**:分布式追踪集成 +- **OBS-02**:网关性能自定义指标 -### Testing +### 测试 -- **TEST-01**: Unit tests for RouteCache -- **TEST-02**: Unit tests for JwtTransformMiddleware -- **TEST-03**: Unit tests for load balancing policy +- **TEST-01**:RouteCache 单元测试 +- **TEST-02**:JwtTransformMiddleware 单元测试 +- **TEST-03**:负载均衡策略单元测试 -## Out of Scope +## 范围外 -| Feature | Reason | -|---------|--------| -| Direct gateway configuration UI | Handled by fengling-console | -| K8s service health checks in gateway | Delegated to console | -| Authentication logic in gateway | Handled by auth-service | -| Authorization logic in gateway | Handled by downstream services | +| 功能 | 原因 | +|------|------| +| 直接配置网关的 UI | 由 fengling-console 处理 | +| 网关中的 K8s 服务健康检查 | 委托给 console | +| 网关中的认证逻辑 | 由 auth-service 处理 | +| 网关中的授权逻辑 | 由下游服务处理 | -## Traceability +## 可追溯性 -Which phases cover which requirements. Updated during roadmap creation. +哪些阶段覆盖哪些需求。Roadmap 创建时更新。 -| Requirement | Phase | Status | -|-------------|-------|--------| -| CFG-01 | Phase 1 | Pending | -| CFG-02 | Phase 1 | Pending | -| CFG-03 | Phase 1 | Pending | -| INST-01 | Phase 1 | Pending | -| INST-02 | Phase 1 | Pending | -| INST-03 | Phase 1 | Pending | -| K8S-01 | Phase 2 | Pending | -| K8S-02 | Phase 2 | Pending | -| SEC-01 | Phase 3 | Pending | -| SEC-02 | Phase 3 | Pending | -| SEC-03 | Phase 3 | Pending | -| PERF-01 | Phase 4 | Pending | -| PERF-02 | Phase 4 | Pending | +| 需求 | 阶段 | 状态 | +|------|------|------| +| CFG-01 | 阶段 1 | 待处理 | +| CFG-02 | 阶段 1 | 待处理 | +| CFG-03 | 阶段 1 | 待处理 | +| INST-01 | 阶段 1 | 待处理 | +| INST-02 | 阶段 1 | 待处理 | +| INST-03 | 阶段 1 | 待处理 | +| K8S-01 | 阶段 2 | 待处理 | +| K8S-02 | 阶段 2 | 待处理 | +| SEC-01 | 阶段 3 | 待处理 | +| SEC-02 | 阶段 3 | 待处理 | +| SEC-03 | 阶段 3 | 待处理 | +| PERF-01 | 阶段 4 | 待处理 | +| PERF-02 | 阶段 4 | 待处理 | -**Coverage:** -- v1 requirements: 12 total -- Mapped to phases: 12 -- Unmapped: 0 ✓ +**覆盖率:** +- v1 需求:共 12 项 +- 已映射到阶段:12 项 +- 未映射:0 ✓ --- -*Requirements defined: 2026-03-02* -*Last updated: 2026-03-02 after initial definition* +*需求定义:2026-03-02* +*最后更新:2026-03-02 初始定义后* diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 7fd1f3b..d1fed25 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -1,106 +1,106 @@ -# Roadmap: Fengling Gateway +# Roadmap:Fengling Gateway -**Created:** 2026-03-02 -**Core Value:** Reliable, scalable API gateway that distributes traffic to backend microservices with zero-downtime configuration updates. +**创建日期:** 2026-03-02 +**核心价值:** 可靠、可扩展的 API 网关,将流量分发到后端微服务,支持零停机配置更新。 --- -## Phase 1: Console-Driven Configuration & Multi-Instance Support +## 阶段 1:Console 驱动的配置管理与多实例支持 -**Goal:** Implement console-driven configuration management and multi-instance support. +**目标:** 实现 console 驱动的配置管理和多实例支持。 -**Requirements:** -- CFG-01: Gateway listens to config change events from fengling-console -- CFG-02: Gateway reloads configuration without restart when notified -- CFG-03: Multi-instance gateway receives config updates via broadcast -- INST-01: Multiple gateway instances can run simultaneously -- INST-02: Configuration changes propagate to all instances -- INST-03: Redis-based pub/sub for cross-instance communication +**需求:** +- CFG-01:网关监听来自 fengling-console 的配置变更事件 +- CFG-02:收到通知后网关无需重启即可重载配置 +- CFG-03:多实例网关通过广播接收配置更新 +- INST-01:多个网关实例可以同时运行 +- INST-02:配置变更传播到所有实例 +- INST-03:使用 Redis pub/sub 进行跨实例通信 -**Success Criteria:** -1. Gateway can subscribe to config change events from console -2. Configuration reload works without gateway restart -3. Multiple gateway instances stay synchronized -4. Broadcast events reach all instances within 5 seconds +**成功标准:** +1. 网关可以订阅来自 console 的配置变更事件 +2. 配置重载无需重启网关 +3. 多个网关实例保持同步 +4. 广播事件在 5 秒内到达所有实例 --- -## Phase 2: K8s Health Delegation +## 阶段 2:K8s 健康检查委托 -**Goal:** Remove K8s health monitoring from gateway, delegate to console. +**目标:** 将 K8s 健康监控从网关移除,委托给 console。 -**Requirements:** -- K8S-01: Remove K8s health monitoring from gateway -- K8S-02: Gateway delegates service health checks to console +**需求:** +- K8S-01:从网关注销 K8s 健康监控 +- K8S-02:网关将服务健康检查委托给 console -**Success Criteria:** -1. KubernetesPendingSyncService is deprecated/removed from gateway -2. Health check logic moved to console project -3. Gateway only performs request routing, not health monitoring +**成功标准:** +1. KubernetesPendingSyncService 已弃用/从网关移除 +2. 健康检查逻辑移至 console 项目 +3. 网关只执行请求路由,不做健康监控 --- -## Phase 3: Security Hardening +## 阶段 3:安全加固 -**Goal:** Fix critical security vulnerabilities. +**目标:** 修复关键安全漏洞。 -**Requirements:** -- SEC-01: Remove hardcoded credentials from source code -- SEC-02: Implement proper JWT token validation -- SEC-03: Add authentication to gateway management API endpoints +**需求:** +- SEC-01:移除源代码中的硬编码凭据 +- SEC-02:实现正确的 JWT Token 验证 +- SEC-03:为网关管理 API 端点添加认证 -**Success Criteria:** -1. No hardcoded passwords/secrets in source code -2. JWT tokens are validated (signature, expiration, issuer, audience) -3. All /api/gateway/* endpoints require authentication +**成功标准:** +1. 源代码中无硬编码密码/密钥 +2. JWT Token 经过验证(签名、过期时间、颁发者、受众) +3. 所有 /api/gateway/* 端点需要认证 --- -## Phase 4: Performance Optimization +## 阶段 4:性能优化 -**Goal:** Optimize gateway performance under high load. +**目标:** 优化高负载下的网关性能。 -**Requirements:** -- PERF-01: Optimize load balancing lock contention -- PERF-02: Implement incremental route cache updates +**需求:** +- PERF-01:优化负载均衡锁竞争 +- PERF-02:实现增量路由缓存更新 -**Success Criteria:** -1. Load balancing does not require per-request Redis lock -2. Route cache updates are incremental, not full reload -3. Gateway handles 10x more requests per second +**成功标准:** +1. 负载均衡不需要每个请求都获取 Redis 锁 +2. 路由缓存更新是增量式的,而非全量重载 +3. 网关处理能力提升 10 倍 --- -## Phase 5: Observability & Testing +## 阶段 5:可观测性与测试 -**Goal:** Add observability and test coverage. +**目标:** 添加可观测性和测试覆盖。 -**Requirements:** -- OBS-01: Distributed tracing integration -- OBS-02: Custom metrics for gateway performance -- TEST-01: Unit tests for RouteCache -- TEST-02: Unit tests for JwtTransformMiddleware -- TEST-03: Unit tests for load balancing policy +**需求:** +- OBS-01:分布式追踪集成 +- OBS-02:网关性能自定义指标 +- TEST-01:RouteCache 单元测试 +- TEST-02:JwtTransformMiddleware 单元测试 +- TEST-03:负载均衡策略单元测试 -**Success Criteria:** -1. Distributed traces include gateway spans -2. Key metrics are exported (request count, latency, error rate) -3. Core components have >80% test coverage +**成功标准:** +1. 分布式追踪包含网关跨度 +2. 导出关键指标(请求数、延迟、错误率) +3. 核心组件测试覆盖率 >80% --- -## Roadmap Summary +## Roadmap 摘要 -| Phase | Name | Requirements | Status | -|-------|------|--------------|--------| -| 1 | Console-Driven Config & Multi-Instance | 6 | Not planned | -| 2 | K8s Health Delegation | 2 | Not planned | -| 3 | Security Hardening | 3 | Not planned | -| 4 | Performance Optimization | 2 | Not planned | -| 5 | Observability & Testing | 5 | Not planned | +| 阶段 | 名称 | 需求数 | 状态 | +|------|------|--------|------| +| 1 | Console 驱动配置与多实例支持 | 6 | 未规划 | +| 2 | K8s 健康检查委托 | 2 | 未规划 | +| 3 | 安全加固 | 3 | 未规划 | +| 4 | 性能优化 | 2 | 未规划 | +| 5 | 可观测性与测试 | 5 | 未规划 | -**Total:** 5 phases | 18 requirements | All covered ✓ +**总计:** 5 个阶段 | 18 个需求 | 全部覆盖 ✓ --- -*Last updated: 2026-03-02 after roadmap creation* +*最后更新:2026-03-02 Roadmap 创建后* diff --git a/.planning/STATE.md b/.planning/STATE.md index 7ead9ec..cda559b 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -1,75 +1,75 @@ -# State: Fengling Gateway +# 状态:Fengling Gateway -**Last Updated:** 2026-03-02 +**最后更新:** 2026-03-02 --- -## Project Reference +## 项目引用 -See: .planning/PROJECT.md (updated 2026-03-02) +参考:.planning/PROJECT.md(更新于 2026-03-02) -**Core value:** Reliable, scalable API gateway that distributes traffic to backend microservices with zero-downtime configuration updates. +**核心价值:** 可靠、可扩展的 API 网关,将流量分发到后端微服务,支持零停机配置更新。 -**Current focus:** Phase 1: Console-Driven Configuration & Multi-Instance Support +**当前重点:** 阶段 1:Console 驱动的配置管理与多实例支持 --- -## Project State +## 项目状态 -| Item | Status | -|------|--------| -| PROJECT.md | ✓ Initialized | -| config.json | ✓ Created | -| Requirements | ✓ Defined (18 requirements) | -| Roadmap | ✓ Created (5 phases) | -| Research | Not started (auto mode skipped) | +| 项目 | 状态 | +|------|------| +| PROJECT.md | ✓ 已初始化 | +| config.json | ✓ 已创建 | +| 需求文档 | ✓ 已定义(18 个需求) | +| Roadmap | ✓ 已创建(5 个阶段) | +| 研究 | 未开始(自动模式跳过) | --- -## Phase Status +## 阶段状态 -| Phase | Name | Status | Plans | Progress | -|-------|------|--------|-------|----------| -| 1 | Console-Driven Config & Multi-Instance | Not planned | 0 | 0% | -| 2 | K8s Health Delegation | Not planned | 0 | 0% | -| 3 | Security Hardening | Not planned | 0 | 0% | -| 4 | Performance Optimization | Not planned | 0 | 0% | -| 5 | Observability & Testing | Not planned | 0 | 0% | +| 阶段 | 名称 | 状态 | 计划数 | 进度 | +|------|------|------|--------|------| +| 1 | Console 驱动配置与多实例支持 | 未规划 | 0 | 0% | +| 2 | K8s 健康检查委托 | 未规划 | 0 | 0% | +| 3 | 安全加固 | 未规划 | 0 | 0% | +| 4 | 性能优化 | 未规划 | 0 | 0% | +| 5 | 可观测性与测试 | 未规划 | 0 | 0% | --- -## Accumulated Context +## 累积上下文 -### Initialization +### 初始化 -- **2026-03-02:** Project initialized via /gsd-new-project --auto -- Brownfield project with existing codebase (ARCHITECTURE.md, CONCERNS.md, STACK.md existed) -- User provided context: gateway architecture discussion with focus on console-driven config +- **2026-03-02:** 通过 /gsd-new-project --auto 初始化项目 +- 现有代码库的重构项目(已存在 ARCHITECTURE.md、CONCERNS.md、STACK.md) +- 用户提供背景:网关架构讨论,重点是 console 驱动的配置管理 -### Key Decisions +### 关键决策 -| Decision | Date | Notes | -|----------|------|-------| -| Console-driven config | 2026-03-02 | Config changes in fengling-console, gateway listens | -| Multi-instance via broadcast | 2026-03-02 | Redis pub/sub or PostgreSQL NOTIFY | -| K8s health delegation | 2026-03-02 | Console handles K8s health, not gateway | +| 决策 | 日期 | 备注 | +|------|------|------| +| Console 驱动配置 | 2026-03-02 | 配置在 fengling-console 变更,网关监听 | +| 多实例广播 | 2026-03-02 | Redis pub/sub 或 PostgreSQL NOTIFY | +| K8s 健康委托 | 2026-03-02 | Console 处理 K8s 健康,非网关 | -### Roadmap Evolution +### Roadmap 演进 -- Phase 1 added: Console-Driven Configuration & Multi-Instance Support -- Phase 2 added: K8s Health Delegation -- Phase 3 added: Security Hardening -- Phase 4 added: Performance Optimization -- Phase 5 added: Observability & Testing +- 阶段 1 已添加:Console 驱动的配置管理与多实例支持 +- 阶段 2 已添加:K8s 健康检查委托 +- 阶段 3 已添加:安全加固 +- 阶段 4 已添加:性能优化 +- 阶段 5 已添加:可观测性与测试 --- -## Notes +## 备注 -- Auto mode: research skipped, workflow preferences set to yolo -- Config changes should be committed to git (commit_docs: true) -- gsd-tools.cjs not available - project structure created manually +- 自动模式:跳过研究,工作流偏好设置为 yolo +- 配置变更应提交到 git(commit_docs: true) +- gsd-tools.cjs 不可用 - 项目结构手动创建 --- -*Last updated: 2026-03-02 after initialization* +*最后更新:2026-03-02 初始化后* diff --git a/src/yarpgateway/Data/GatewayDbContext.cs b/src/yarpgateway/Data/GatewayDbContext.cs index 6b0cb1e..84e363d 100644 --- a/src/yarpgateway/Data/GatewayDbContext.cs +++ b/src/yarpgateway/Data/GatewayDbContext.cs @@ -1,3 +1,4 @@ +using Fengling.Platform.Infrastructure; using Microsoft.EntityFrameworkCore; using Npgsql; using YarpGateway.Config; @@ -5,7 +6,7 @@ using YarpGateway.Models; namespace YarpGateway.Data; -public class GatewayDbContext : DbContext +public class GatewayDbContext : PlatformDbContext { public GatewayDbContext(DbContextOptions options) : base(options) diff --git a/src/yarpgateway/Directory.Packages.props b/src/yarpgateway/Directory.Packages.props index 5d69c13..41785c2 100644 --- a/src/yarpgateway/Directory.Packages.props +++ b/src/yarpgateway/Directory.Packages.props @@ -4,10 +4,7 @@ - - - - + @@ -16,17 +13,14 @@ - - - - + \ No newline at end of file diff --git a/src/yarpgateway/YarpGateway.csproj b/src/yarpgateway/YarpGateway.csproj index e398762..7e32523 100644 --- a/src/yarpgateway/YarpGateway.csproj +++ b/src/yarpgateway/YarpGateway.csproj @@ -8,6 +8,7 @@ + runtime; build; native; contentfiles, analyzers; buildtransitive @@ -21,11 +22,6 @@ - - - - -