mirror of
https://github.com/Drop-OSS/drop-app.git
synced 2026-01-30 19:15:17 +01:00
* chore: Major refactoring Still needs a massive go-over because there shouldn't be anything referencing tauri in any of the workspaces except the original one. Process manager has been refactored as an example Signed-off-by: quexeky <git@quexeky.dev> * fix: Remote tauri dependency from process Signed-off-by: quexeky <git@quexeky.dev> * refactor: Improvements to src-tauri Signed-off-by: quexeky <git@quexeky.dev> * refactor: Builds, but some logic still left to move back Signed-off-by: quexeky <git@quexeky.dev> * refactor: Finish refactor Signed-off-by: quexeky <git@quexeky.dev> * chore: Run cargo clippy && cargo fmt Signed-off-by: quexeky <git@quexeky.dev> * refactor: Move everything into src-tauri Signed-off-by: quexeky <git@quexeky.dev> --------- Signed-off-by: quexeky <git@quexeky.dev>
32 lines
863 B
Rust
32 lines
863 B
Rust
use database::{DB, interface::DatabaseImpls};
|
|
use url::Url;
|
|
|
|
use crate::{
|
|
auth::generate_authorization_header, error::RemoteAccessError, utils::DROP_CLIENT_ASYNC,
|
|
};
|
|
|
|
pub fn generate_url<T: AsRef<str>>(
|
|
path_components: &[T],
|
|
query: &[(T, T)],
|
|
) -> Result<Url, RemoteAccessError> {
|
|
let mut base_url = DB.fetch_base_url();
|
|
for endpoint in path_components {
|
|
base_url = base_url.join(endpoint.as_ref())?;
|
|
}
|
|
{
|
|
let mut queries = base_url.query_pairs_mut();
|
|
for (param, val) in query {
|
|
queries.append_pair(param.as_ref(), val.as_ref());
|
|
}
|
|
}
|
|
Ok(base_url)
|
|
}
|
|
|
|
pub async fn make_authenticated_get(url: Url) -> Result<reqwest::Response, reqwest::Error> {
|
|
DROP_CLIENT_ASYNC
|
|
.get(url)
|
|
.header("Authorization", generate_authorization_header())
|
|
.send()
|
|
.await
|
|
}
|