Skip to content

Big change#58

Merged
dbrowne merged 4 commits intomasterfrom
big_change
Apr 5, 2026
Merged

Big change#58
dbrowne merged 4 commits intomasterfrom
big_change

Conversation

@dbrowne
Copy link
Copy Markdown
Owner

@dbrowne dbrowne commented Apr 5, 2026

  • New crypto-loaders crate: Extracted cryptocurrency-specific loaders into a standalone crate with multi-provider support (CoinGecko, CoinMarketCap, CoinPaprika, CoinCap, SosoValue). Includes symbol discovery, metadata, details, social metrics, and cross-provider mapping services.
  • Unified cache implementation: Added a shared cache.rs module in av-loaders consolidating response caching logic across all loaders.
  • av-core type refactor: Split monolithic market.rs into focused modules (classifications.rs, exchange.rs, security_type.rs). Converted all from_str inherent methods to proper FromStr trait implementations.
  • av-loaders cleanup: Refactored crypto loaders to delegate to the new crypto-loaders crate, added metadata provider abstraction layer, and removed redundant .map_err(Into::into) conversions.
  • Dependency updates: Upgraded Diesel 2.2 to 2.3, diesel-async 0.6 to 0.8, diesel_migrations 2.2 to 2.3 — resolves ambiguous glob import warnings for max/sum.
  • Suppressed async_fn_in_trait warning on CacheRepositoryExt (generic methods are non-object-safe, so Send bound is irrelevant).
  • Updated README to reflect current codebase structure, CLI commands, and dependencies.

Test plan

  • cargo check passes with no warnings
  • cargo test -p av-core — all 88 unit tests pass
  • cargo clippy — no new warnings introduced
  • Verify crypto loader CLI commands function against live APIs

dbrowne added 4 commits April 5, 2026 10:54
   - Create new crypto-loaders crate for non-AlphaVantage crypto data
   - Move CoinGecko, CoinMarketCap, CoinPaprika, CoinCap, SosoValue providers
   - Add CryptoSymbolLoader, CryptoMappingService, and details loader
   - Implement unified CacheHelper with CacheConfig and CacheConfigProvider trait
   - Refactor price loaders to use CacheRepository instead of direct DB connections
   - Add standard cache TTL constants and key prefixes
   - Refactor av-core market types into separate modules
@dbrowne dbrowne merged commit 982b834 into master Apr 5, 2026
1 check passed
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