* feat: private hub v0 * feat: add UI setting * Update ee.rs * Update ee.rs * fix: remove ee symlink * fix: add back CE ee.rs * feat: disable s3 embedding loading when private hub * feat: reload embeddings on hub url change * fix: only reload embeddings db on server mode * patch: set default hub url const * fix: nit
32 lines
933 B
Rust
32 lines
933 B
Rust
use crate::{db::DB, HTTP_CLIENT};
|
|
use axum::{extract::Query, response::IntoResponse, routing::get, Extension, Router};
|
|
use windmill_common::{error::Error, utils::query_elems_from_hub, HUB_BASE_URL};
|
|
|
|
pub fn global_service() -> Router {
|
|
Router::new().route("/hub/list", get(list_hub_integrations))
|
|
}
|
|
|
|
#[derive(serde::Deserialize)]
|
|
struct ListHubIntegrationsQuery {
|
|
kind: Option<String>,
|
|
}
|
|
async fn list_hub_integrations(
|
|
Query(query): Query<ListHubIntegrationsQuery>,
|
|
Extension(db): Extension<DB>,
|
|
) -> impl IntoResponse {
|
|
let mut query_params = vec![];
|
|
|
|
if let Some(kind) = query.kind {
|
|
query_params.push(("kind", kind));
|
|
}
|
|
|
|
let (status_code, headers, response) = query_elems_from_hub(
|
|
&HTTP_CLIENT,
|
|
&format!("{}/integrations/list", *HUB_BASE_URL.read().await),
|
|
Some(query_params),
|
|
&db,
|
|
)
|
|
.await?;
|
|
Ok::<_, Error>((status_code, headers, response))
|
|
}
|