- **Common Contracts**: Updated DTOs and models to support workflow history; removed legacy analysis result DTOs.
- **Data Persistence Service**:
- Removed `analysis_results` table logic and API endpoints.
- Implemented `workflow_history` API and DB access (`history.rs`).
- Fixed compilation errors and updated tests.
- Exposed Postgres port in `docker-compose.yml` for easier debugging/offline checks.
- **API Gateway**:
- Implemented `history` endpoints (get history list, get by ID).
- Removed legacy `analysis-results` endpoints.
- Fixed routing and handler logic in `api.rs`.
- **Report Generator Service**:
- Removed dependency on legacy `analysis-results` persistence calls.
- Fixed compilation errors.
- **Workflow Orchestrator**: Fixed warnings and minor logic issues.
- **Providers**: Updated provider services (alphavantage, tushare, finnhub, yfinance, mock) to align with contract changes.
- **Frontend**:
- Updated `ReportPage` and stores to use new workflow history.
- Added `RecentReportsDropdown` component.
- Cleaned up `RealtimeLogs` component.
- **Documentation**: Moved completed design tasks to `completed/` and added refactoring context docs.
Confirmed all services pass `cargo check`.
34 lines
1.1 KiB
TOML
34 lines
1.1 KiB
TOML
[package]
|
|
name = "common-contracts"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
description = "Shared strongly-typed contracts (models, DTOs, messages, observability) across services."
|
|
authors = ["Lv, Qi <lvsoft@gmail.com>"]
|
|
|
|
[lib]
|
|
name = "common_contracts"
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
default = ["persistence"]
|
|
persistence = ["dep:sqlx"]
|
|
|
|
[dependencies]
|
|
async-trait = "0.1.89"
|
|
async-nats = "0.45.0"
|
|
anyhow = "1.0"
|
|
tracing = "0.1"
|
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
uuid = { version = "1", features = ["serde", "v4"] }
|
|
rust_decimal = { version = "1.36", features = ["serde"] }
|
|
utoipa = { version = "5.4", features = ["chrono", "uuid"] }
|
|
sqlx = { version = "0.8.6", features = [ "runtime-tokio-rustls", "postgres", "chrono", "uuid", "json", "rust_decimal" ], optional = true }
|
|
service_kit = { version = "0.1.2" }
|
|
reqwest = { version = "0.12", features = ["json"] }
|
|
tokio = { version = "1", features = ["time", "sync", "macros"] }
|
|
log = "0.4"
|
|
workflow-context = { path = "../../crates/workflow-context" }
|