From 9d0bf2d3d1566d1d90463c3a9804b5bde7b8a68b Mon Sep 17 00:00:00 2001 From: Oleksandr Zahorodnyi Date: Tue, 25 Aug 2026 17:01:58 +0300 Subject: [PATCH] Move IndexerClient from the session crate into lending-indexer --- Cargo.lock | 4 +--- crates/indexer/Cargo.toml | 3 ++- .../indexer/client.rs => indexer/src/client/core.rs} | 2 +- .../src/indexer => indexer/src/client}/error.rs | 0 crates/indexer/src/client/mod.rs | 7 +++++++ .../src/indexer => indexer/src/client}/query.rs | 2 +- crates/indexer/src/lib.rs | 1 + crates/{session => indexer}/tests/indexer_client.rs | 6 +++--- crates/session/Cargo.toml | 3 --- crates/session/src/indexer/mod.rs | 10 ++++------ 10 files changed, 20 insertions(+), 18 deletions(-) rename crates/{session/src/indexer/client.rs => indexer/src/client/core.rs} (99%) rename crates/{session/src/indexer => indexer/src/client}/error.rs (100%) create mode 100644 crates/indexer/src/client/mod.rs rename crates/{session/src/indexer => indexer/src/client}/query.rs (99%) rename crates/{session => indexer}/tests/indexer_client.rs (98%) diff --git a/Cargo.lock b/Cargo.lock index ca961548..d4fb7af0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1820,6 +1820,7 @@ dependencies = [ "utoipa", "utoipa-swagger-ui", "uuid", + "wiremock", ] [[package]] @@ -1830,16 +1831,13 @@ dependencies = [ "dotenvy", "lending-contracts", "lending-indexer", - "reqwest", "serde", - "serde_json", "serial_test", "smplx-std", "sqlx", "thiserror", "tokio", "uuid", - "wiremock", ] [[package]] diff --git a/crates/indexer/Cargo.toml b/crates/indexer/Cargo.toml index 1cd945b8..059b44f3 100644 --- a/crates/indexer/Cargo.toml +++ b/crates/indexer/Cargo.toml @@ -21,7 +21,7 @@ serde_json = "1" axum = "0.8.8" futures-util = { version = "0.3", default-features = false, features = ["std"] } -reqwest = "0.13.1" +reqwest = { version = "0.13.1", features = ["query"] } tracing = "0.1" tracing-log = "0.2" tracing-bunyan-formatter = "0.3" @@ -63,3 +63,4 @@ anyhow = "1" dotenvy = "0.15" serial_test = "3" serde_urlencoded = "0.7" +wiremock = "0.6" diff --git a/crates/session/src/indexer/client.rs b/crates/indexer/src/client/core.rs similarity index 99% rename from crates/session/src/indexer/client.rs rename to crates/indexer/src/client/core.rs index 9db4c630..0a3d27d4 100644 --- a/crates/session/src/indexer/client.rs +++ b/crates/indexer/src/client/core.rs @@ -6,7 +6,7 @@ use uuid::Uuid; use super::error::{IndexerClientError, map_api_error}; use super::query::OfferListParams; -use super::types::{ +use crate::api::{ BorrowerOverview, FactoryDetailsResponse, LenderOverview, OfferDetailsResponse, OfferListResponse, OffersOverview, }; diff --git a/crates/session/src/indexer/error.rs b/crates/indexer/src/client/error.rs similarity index 100% rename from crates/session/src/indexer/error.rs rename to crates/indexer/src/client/error.rs diff --git a/crates/indexer/src/client/mod.rs b/crates/indexer/src/client/mod.rs new file mode 100644 index 00000000..185a7b13 --- /dev/null +++ b/crates/indexer/src/client/mod.rs @@ -0,0 +1,7 @@ +mod core; +mod error; +mod query; + +pub use core::{DEFAULT_TIMEOUT_SECS, IndexerClient, IndexerClientConfig}; +pub use error::IndexerClientError; +pub use query::{OfferListParams, OfferSortBy, SortDir}; diff --git a/crates/session/src/indexer/query.rs b/crates/indexer/src/client/query.rs similarity index 99% rename from crates/session/src/indexer/query.rs rename to crates/indexer/src/client/query.rs index 90dd4da6..f071a604 100644 --- a/crates/session/src/indexer/query.rs +++ b/crates/indexer/src/client/query.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use super::types::{OfferStatus, ParticipantType}; +use crate::models::{OfferStatus, ParticipantType}; #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum OfferSortBy { diff --git a/crates/indexer/src/lib.rs b/crates/indexer/src/lib.rs index 4ac611b1..c25121a4 100644 --- a/crates/indexer/src/lib.rs +++ b/crates/indexer/src/lib.rs @@ -1,4 +1,5 @@ pub mod api; +pub mod client; pub mod configuration; pub mod db; pub mod esplora_client; diff --git a/crates/session/tests/indexer_client.rs b/crates/indexer/tests/indexer_client.rs similarity index 98% rename from crates/session/tests/indexer_client.rs rename to crates/indexer/tests/indexer_client.rs index d949c1e9..af430811 100644 --- a/crates/session/tests/indexer_client.rs +++ b/crates/indexer/tests/indexer_client.rs @@ -1,9 +1,9 @@ use std::time::Duration; -use lending_session::indexer::{ - FactoryStatus, IndexerClient, IndexerClientConfig, IndexerClientError, OfferListParams, - OfferSortBy, OfferStatus, ParticipantType, SortDir, UtxoType, +use lending_indexer::client::{ + IndexerClient, IndexerClientConfig, IndexerClientError, OfferListParams, OfferSortBy, SortDir, }; +use lending_indexer::models::{FactoryStatus, OfferStatus, ParticipantType, UtxoType}; use uuid::Uuid; use wiremock::matchers::{method, path, query_param}; use wiremock::{Mock, MockServer, ResponseTemplate}; diff --git a/crates/session/Cargo.toml b/crates/session/Cargo.toml index 11ada3d0..10c71eec 100644 --- a/crates/session/Cargo.toml +++ b/crates/session/Cargo.toml @@ -16,8 +16,6 @@ lending-indexer = { path = "../indexer" } smplx-std = { workspace = true } thiserror = { workspace = true } serde = { workspace = true } -serde_json = "1" -reqwest = { version = "0.13.1", features = ["query"] } uuid = { version = "1", features = ["serde", "v4"] } [dev-dependencies] @@ -26,4 +24,3 @@ dotenvy = "0.15" serial_test = "3" sqlx = { version = "0.8.3", features = ["postgres", "runtime-tokio-rustls", "migrate"] } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } -wiremock = "0.6" \ No newline at end of file diff --git a/crates/session/src/indexer/mod.rs b/crates/session/src/indexer/mod.rs index a815f446..4e3143c7 100644 --- a/crates/session/src/indexer/mod.rs +++ b/crates/session/src/indexer/mod.rs @@ -1,9 +1,7 @@ -mod client; -mod error; -mod query; mod types; -pub use client::{DEFAULT_TIMEOUT_SECS, IndexerClient, IndexerClientConfig}; -pub use error::IndexerClientError; -pub use query::{OfferListParams, OfferSortBy, SortDir}; +pub use lending_indexer::client::{ + DEFAULT_TIMEOUT_SECS, IndexerClient, IndexerClientConfig, IndexerClientError, OfferListParams, + OfferSortBy, SortDir, +}; pub use types::*;