Skip to content

Commit a894d4d

Browse files
committed
refactor: Plugins are now providers mostly everywhere
1 parent 519c8a8 commit a894d4d

30 files changed

Lines changed: 140 additions & 140 deletions

File tree

‎backend/Cargo.lock‎

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎backend/core/Cargo.toml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ edition = "2021"
55

66
[dependencies]
77
geneagrab-providers = { path = "../providers/common" }
8-
geneagrab-plugin-ad06 = { path = "../providers/ad06" }
9-
geneagrab-plugin-geneanet = { path = "../providers/geneanet" }
8+
geneagrab-provider-ad06 = { path = "../providers/ad06" }
9+
geneagrab-provider-geneanet = { path = "../providers/geneanet" }
1010
dates = { path = "../dates" }
1111
serde = { version = "1.0", features = ["derive"] }
1212
thiserror = "2.0.18"

‎backend/core/src/errors.rs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ pub enum CoreError {
1717
#[error("Lock error: {0}")]
1818
LockError(String),
1919

20-
#[error("Plugin error: {0}")]
21-
PluginError(String),
20+
#[error("Provider error: {0}")]
21+
ProviderError(String),
2222

2323
#[error("Number error: {0}")]
2424
NumberError(#[from] std::num::TryFromIntError),
@@ -29,6 +29,6 @@ pub enum CoreError {
2929

3030
impl From<geneagrab_providers::errors::ProviderError> for CoreError {
3131
fn from(err: geneagrab_providers::errors::ProviderError) -> Self {
32-
CoreError::PluginError(err.to_string())
32+
CoreError::ProviderError(err.to_string())
3333
}
3434
}

‎backend/core/src/lib.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
pub mod comm_models;
44
pub mod db_entries;
55
pub mod errors;
6-
pub mod plugins;
6+
pub mod providers;
77
pub mod services;
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ use sea_orm::DbConn;
33
use wreq::Client;
44
use wreq_util::Emulation;
55
use geneagrab_providers::traits::{ArchiveProvider, Fetcher};
6-
use geneagrab_plugin_ad06::Ad06Provider;
7-
use geneagrab_plugin_geneanet::GeneanetProvider;
6+
use geneagrab_provider_ad06::Ad06Provider;
7+
use geneagrab_provider_geneanet::GeneanetProvider;
88
use crate::errors::CoreError;
9-
use crate::services::plugin::get_plugin_config;
9+
use crate::services::provider::get_provider_config;
1010

1111
pub struct CoreFetcher {
1212
pub client: Client,
@@ -54,19 +54,19 @@ pub fn get_providers(flaresolverr_url: &str, fetcher: Arc<dyn Fetcher>) -> Vec<A
5454
]
5555
}
5656

57-
pub fn get_provider_without_config(plugin_id: &str) -> Result<Arc<dyn ArchiveProvider>, CoreError> {
57+
pub fn get_provider_without_config(provider_id: &str) -> Result<Arc<dyn ArchiveProvider>, CoreError> {
5858
let fetcher = get_fetcher()?;
5959
get_providers("", fetcher)
6060
.into_iter()
61-
.find(|p| p.metadata().id == plugin_id)
62-
.ok_or_else(|| CoreError::NotFound(format!("Plugin {plugin_id} not found")))
61+
.find(|p| p.metadata().id == provider_id)
62+
.ok_or_else(|| CoreError::NotFound(format!("Provider {provider_id} not found")))
6363
}
6464

6565
pub async fn get_provider(
6666
db: &DbConn,
67-
plugin_id: &str,
67+
provider_id: &str,
6868
) -> Result<Arc<dyn ArchiveProvider>, CoreError> {
69-
let config = get_plugin_config(db, plugin_id).await?;
69+
let config = get_provider_config(db, provider_id).await?;
7070
let flaresolverr_url = config
7171
.get("flaresolverr_url")
7272
.cloned()
@@ -75,8 +75,8 @@ pub async fn get_provider(
7575
let fetcher = get_fetcher()?;
7676
get_providers(&flaresolverr_url, fetcher)
7777
.into_iter()
78-
.find(|p| p.metadata().id == plugin_id)
79-
.ok_or_else(|| CoreError::NotFound(format!("Plugin {plugin_id} not found")))
78+
.find(|p| p.metadata().id == provider_id)
79+
.ok_or_else(|| CoreError::NotFound(format!("Provider {provider_id} not found")))
8080
}
8181

8282
pub fn get_fetcher() -> Result<Arc<dyn Fetcher>, CoreError> {

‎backend/core/src/services/image.rs‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,17 +137,17 @@ pub async fn prepare_image(
137137
image: image.clone().into(),
138138
};
139139

140-
let provider = crate::plugins::get_provider(db, &registry.source_id).await?;
140+
let provider = crate::providers::get_provider(db, &registry.source_id).await?;
141141
let missing_data = provider
142142
.is_image_missing_data(&extract_req)
143-
.map_err(|e| CoreError::PluginError(e.to_string()))?;
143+
.map_err(|e| CoreError::ProviderError(e.to_string()))?;
144144

145145
if let Some(field) = missing_data {
146146
tracing::info!("Image {image_id} is missing data ({field}), extracting...");
147147
let res = provider
148148
.extract_image(extract_req)
149149
.await
150-
.map_err(|e| CoreError::PluginError(e.to_string()))?;
150+
.map_err(|e| CoreError::ProviderError(e.to_string()))?;
151151

152152
let mut image_model: image_entry::ActiveModel = image.into();
153153
let mut has_updates = false;
@@ -197,11 +197,11 @@ pub async fn fetch_image_tile(
197197
y,
198198
};
199199

200-
let provider = crate::plugins::get_provider(db, &registry.source_id).await?;
200+
let provider = crate::providers::get_provider(db, &registry.source_id).await?;
201201
let image_data = provider
202202
.fetch_tile(req)
203203
.await
204-
.map_err(|e| CoreError::PluginError(e.to_string()))?;
204+
.map_err(|e| CoreError::ProviderError(e.to_string()))?;
205205

206206
Ok(image_data)
207207
}
@@ -307,11 +307,11 @@ where
307307
image: image.clone().into(),
308308
};
309309

310-
let provider = crate::plugins::get_provider(db, &registry.source_id).await?;
310+
let provider = crate::providers::get_provider(db, &registry.source_id).await?;
311311
let image_data = provider
312312
.download_image(req)
313313
.await
314-
.map_err(|e| CoreError::PluginError(e.to_string()))?;
314+
.map_err(|e| CoreError::ProviderError(e.to_string()))?;
315315

316316
if let Some(res) = image_data {
317317
progress_callback(1, 1);

‎backend/core/src/services/mod.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
pub mod event;
22
pub mod image;
3-
pub mod plugin;
3+
pub mod provider;
44
pub mod registry;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ use std::collections::HashMap;
22
use sea_orm::{ColumnTrait, DbConn, EntityTrait, QueryFilter, Select};
33
use crate::{db_entries::plugin_settings, errors::CoreError};
44

5-
pub async fn get_plugin_config(
5+
pub async fn get_provider_config(
66
db: &DbConn,
7-
plugin_id: &str,
7+
provider_id: &str,
88
) -> Result<HashMap<String, String>, CoreError> {
99
let query: Select<plugin_settings::Entity> =
10-
plugin_settings::Entity::find().filter(plugin_settings::Column::PluginId.eq(plugin_id));
10+
plugin_settings::Entity::find().filter(plugin_settings::Column::PluginId.eq(provider_id));
1111
Ok(query
1212
.all(db)
1313
.await

‎backend/core/src/services/registry.rs‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::{
1010
};
1111
use dates::HistoricalDate;
1212
use geneagrab_providers::com_structs::{IdentifyRequest, IdentifyResponse, ExtractRequest};
13-
use geneagrab_providers::data::PluginMetadata;
13+
use geneagrab_providers::data::ProviderMetadata;
1414
use sea_orm::QueryOrder;
1515
use sea_orm::{
1616
ActiveModelTrait, ActiveValue::NotSet, ColumnTrait, DbConn, EntityTrait, FromQueryResult,
@@ -229,16 +229,16 @@ pub async fn get_registry_meta(db: &DbConn, id: u32) -> Result<RegistryMeta, Cor
229229
pub async fn add_registry(
230230
db: &DbConn,
231231
url: String,
232-
plugin_id: String,
232+
provider_id: String,
233233
) -> Result<RegistryMeta, CoreError> {
234-
tracing::info!("add_registry called with url: {url}, plugin_id: {plugin_id}");
234+
tracing::info!("add_registry called with url: {url}, provider_id: {provider_id}");
235235

236-
let provider = crate::plugins::get_provider(db, &plugin_id).await?;
237-
let identified = provider.identify(IdentifyRequest { url: url.clone() }).map_err(|e| CoreError::PluginError(e.to_string()))?;
236+
let provider = crate::providers::get_provider(db, &provider_id).await?;
237+
let identified = provider.identify(IdentifyRequest { url: url.clone() }).map_err(|e| CoreError::ProviderError(e.to_string()))?;
238238
let res = provider
239239
.extract_registry(ExtractRequest { url, identified })
240240
.await
241-
.map_err(|e| CoreError::PluginError(e.to_string()))?;
241+
.map_err(|e| CoreError::ProviderError(e.to_string()))?;
242242

243243
let txn = db
244244
.begin()
@@ -281,30 +281,30 @@ pub async fn add_registry(
281281
Ok(meta)
282282
}
283283

284-
pub async fn get_plugins_for_url(
284+
pub async fn get_providers_for_url(
285285
url: &str,
286-
) -> Result<Vec<(PluginMetadata, IdentifyResponse)>, CoreError> {
287-
let fetcher = crate::plugins::get_fetcher()?;
288-
let providers = crate::plugins::get_providers("", fetcher);
289-
let mut compatible_plugins = Vec::new();
286+
) -> Result<Vec<(ProviderMetadata, IdentifyResponse)>, CoreError> {
287+
let fetcher = crate::providers::get_fetcher()?;
288+
let providers = crate::providers::get_providers("", fetcher);
289+
let mut compatible_providers = Vec::new();
290290

291291
for provider in providers {
292292
let meta = provider.metadata();
293293
if let Ok(identified) = provider.identify(IdentifyRequest {
294294
url: url.to_string(),
295295
}) {
296-
compatible_plugins.push((meta, identified));
296+
compatible_providers.push((meta, identified));
297297
}
298298
}
299299

300-
// Prioritize plugins that explicitly list the website as compatible
301-
compatible_plugins.sort_by_key(|(meta, _)| {
300+
// Prioritize providers that explicitly list the website as compatible
301+
compatible_providers.sort_by_key(|(meta, _)| {
302302
Reverse(
303303
meta.suggested_websites
304304
.iter()
305305
.any(|site| url.starts_with(site.as_ref())),
306306
)
307307
});
308308

309-
Ok(compatible_plugins)
309+
Ok(compatible_providers)
310310
}

0 commit comments

Comments
 (0)