Refactoring, mainly formatting
This commit is contained in:
parent
3825263fa3
commit
d8f1733eb3
25 changed files with 667 additions and 348 deletions
|
@ -4,47 +4,47 @@ pub mod peers;
|
|||
|
||||
#[macro_export]
|
||||
macro_rules! build_query {
|
||||
($payload:expr, $params:expr) => {
|
||||
{
|
||||
use cozo::DataValue;
|
||||
use std::collections::BTreeMap;
|
||||
// Build parameters map
|
||||
let mut params_map: BTreeMap<String, DataValue> = Default::default();
|
||||
let mut parameters_init = String::new();
|
||||
($payload:expr, $params:expr) => {{
|
||||
use cozo::DataValue;
|
||||
use std::collections::BTreeMap;
|
||||
// Build parameters map
|
||||
let mut params_map: BTreeMap<String, DataValue> = Default::default();
|
||||
let mut parameters_init = String::new();
|
||||
|
||||
if $params.len() > 0 {
|
||||
for (name, value) in $params {
|
||||
let _: &str = name; // only for type annotation
|
||||
params_map.insert(name.to_string(), value);
|
||||
}
|
||||
|
||||
// First line: Initialize parameters, make them available in CozoScript
|
||||
use itertools::Itertools;
|
||||
parameters_init += "?[";
|
||||
parameters_init += ¶ms_map.iter().map(|(name, _)| name).format(", ").to_string();
|
||||
parameters_init += "] <- [[";
|
||||
parameters_init += ¶ms_map.iter().map(|(name, _)| format!("${}", name)).format(", ").to_string();
|
||||
parameters_init += "]]";
|
||||
if $params.len() > 0 {
|
||||
for (name, value) in $params {
|
||||
let _: &str = name; // only for type annotation
|
||||
params_map.insert(name.to_string(), value);
|
||||
}
|
||||
|
||||
// Return query string and parameters map
|
||||
(
|
||||
format!("{}\n\n{}", parameters_init, $payload),
|
||||
params_map
|
||||
)
|
||||
// First line: Initialize parameters, make them available in CozoScript
|
||||
use itertools::Itertools;
|
||||
parameters_init += "?[";
|
||||
parameters_init += ¶ms_map
|
||||
.iter()
|
||||
.map(|(name, _)| name)
|
||||
.format(", ")
|
||||
.to_string();
|
||||
parameters_init += "] <- [[";
|
||||
parameters_init += ¶ms_map
|
||||
.iter()
|
||||
.map(|(name, _)| format!("${}", name))
|
||||
.format(", ")
|
||||
.to_string();
|
||||
parameters_init += "]]";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Return query string and parameters map
|
||||
(format!("{}\n\n{}", parameters_init, $payload), params_map)
|
||||
}};
|
||||
}
|
||||
|
||||
use build_query;
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! run_query {
|
||||
($db:expr, $payload:expr, $params:expr, $mutability:expr) => {
|
||||
{
|
||||
let (query, parameters) = crate::state::queries::build_query!($payload, $params);
|
||||
$db.run_script(query.as_str(), parameters, $mutability)
|
||||
}
|
||||
};
|
||||
($db:expr, $payload:expr, $params:expr, $mutability:expr) => {{
|
||||
let (query, parameters) = crate::state::queries::build_query!($payload, $params);
|
||||
$db.run_script(query.as_str(), parameters, $mutability)
|
||||
}};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue