Compare commits

...

5 Commits

Author SHA1 Message Date
Tomáš Mládek 669b348160 refactor: fix lint
ci/woodpecker/push/woodpecker Pipeline was successful Details
2024-03-31 17:09:23 +02:00
Tomáš Mládek 175518e3a6 refactor: allow known clippy issues 2024-03-31 17:09:23 +02:00
Tomáš Mládek 94818b992a dev: add +dev-update-sdk target
(why doesn't dev-local update as expected?)
2024-03-31 17:09:23 +02:00
Tomáš Mládek f2261998ee refactor: properly import tracing macros 2024-03-31 17:09:23 +02:00
Tomáš Mládek 730cc02d7a fix(base): null attribute deserializes correctly
also add type address de/serialization tests
2024-03-31 17:09:23 +02:00
11 changed files with 51 additions and 15 deletions

View File

@ -278,4 +278,11 @@ dev-local:
COPY +wasmlib/pkg-node /wasm-node
SAVE ARTIFACT /js-dist AS LOCAL sdks/js/dist
SAVE ARTIFACT /wasm-web AS LOCAL wasm/pkg-web
SAVE ARTIFACT /wasm-node AS LOCAL wasm/pkg-node
SAVE ARTIFACT /wasm-node AS LOCAL wasm/pkg-node
dev-update-sdk:
LOCALLY
WORKDIR sdks/js
RUN pnpm build
WORKDIR webui
RUN pnpm install

View File

@ -103,12 +103,14 @@ impl Address {
UP_UUID => Ok(Address::Uuid(
Uuid::from_slice(digest.as_slice()).map_err(UpEndError::from_any)?,
)),
UP_ATTRIBUTE => Ok(Address::Attribute(
String::from_utf8(digest)
.map_err(UpEndError::from_any)?
.as_str()
.parse()?,
)),
UP_ATTRIBUTE => {
let attribute = String::from_utf8(digest).map_err(UpEndError::from_any)?;
if attribute.is_empty() {
Ok(Address::Attribute(Attribute::null()))
} else {
Ok(Address::Attribute(attribute.parse()?))
}
}
UP_URL => Ok(Address::Url(
Url::parse(&String::from_utf8(digest).map_err(UpEndError::from_any)?)
.map_err(UpEndError::from_any)?,
@ -255,6 +257,9 @@ mod tests {
use uuid::Uuid;
use crate::addressing::{Address, IDENTITY};
use crate::constants::{
TYPE_ATTRIBUTE_ADDRESS, TYPE_HASH_ADDRESS, TYPE_URL_ADDRESS, TYPE_UUID_ADDRESS,
};
use crate::hash::{LargeMultihash, UpMultihash};
use super::UpEndError;
@ -267,6 +272,11 @@ mod tests {
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, decoded);
let addr = &*TYPE_HASH_ADDRESS;
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, &decoded);
Ok(())
}
@ -276,6 +286,11 @@ mod tests {
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, decoded);
let addr = &*TYPE_UUID_ADDRESS;
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, &decoded);
Ok(())
}
@ -285,6 +300,11 @@ mod tests {
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, decoded);
let addr = &*TYPE_ATTRIBUTE_ADDRESS;
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, &decoded);
Ok(())
}
@ -294,6 +314,11 @@ mod tests {
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, decoded);
let addr = &*TYPE_URL_ADDRESS;
let encoded = addr.encode()?;
let decoded = Address::decode(&encoded)?;
assert_eq!(addr, &decoded);
Ok(())
}
}

View File

@ -61,6 +61,7 @@ pub struct InvariantEntry {
pub value: EntryValue,
}
#[allow(clippy::large_enum_variant)]
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(tag = "t", content = "c")]
pub enum EntryValue {

View File

@ -79,6 +79,7 @@ impl TryFrom<lexpr::Value> for Attribute {
}
}
#[allow(clippy::large_enum_variant)]
#[derive(Debug, Clone, PartialEq)]
pub enum QueryPart {
Matches(PatternQuery),

View File

@ -3,6 +3,7 @@ use std::{process::Command, sync::Arc};
use super::Extractor;
use anyhow::{anyhow, Result};
use lazy_static::lazy_static;
use tracing::{debug, trace};
use upend_base::{
addressing::Address,
constants::{ATTR_IN, ATTR_KEY, ATTR_LABEL, ATTR_OF},

View File

@ -349,7 +349,7 @@ async fn main() -> Result<()> {
if !exists {
warn!(
"Couldn't locate Web UI directory ({:?}), disabling...",
WEBUI_PATH.to_owned()
*WEBUI_PATH
);
}
exists

View File

@ -1,10 +1,10 @@
use anyhow::anyhow;
use anyhow::Result;
use std::collections::HashMap;
use std::io::Read;
use std::path::Path;
use std::process::Command;
use anyhow::Result;
use tracing::{debug, trace};
use super::Previewable;

View File

@ -1,10 +1,10 @@
use anyhow::anyhow;
use anyhow::Result;
use std::collections::HashMap;
use std::io::Read;
use std::path::Path;
use std::process::Command;
use anyhow::Result;
use tracing::{debug, trace};
use super::Previewable;

View File

@ -385,6 +385,7 @@ pub struct InEntry {
pub value: EntryValue,
}
#[allow(clippy::large_enum_variant)]
#[derive(Debug, Clone, Deserialize)]
#[serde(untagged, deny_unknown_fields)]
pub enum PutInput {

View File

@ -178,9 +178,7 @@ pub fn execute(
var_name.clone(),
subquery_results
.iter()
.map(|e| {
e.attribute.parse().map(|a| EntryPart::Attribute(a))
})
.map(|e| e.attribute.parse().map(EntryPart::Attribute))
.collect::<Result<Vec<EntryPart>, _>>()?,
);
}

View File

@ -136,6 +136,7 @@ impl FsStore {
// Actual processing
let count = RwLock::new(0_usize);
#[allow(clippy::type_complexity)]
let resolve_cache: Arc<Mutex<LruCache<(Option<Address>, UNode), Address>>> =
Arc::new(Mutex::new(LruCache::new(256)));
let total = paths.len() as f32;
@ -238,6 +239,7 @@ impl FsStore {
Ok(all_outcomes)
}
#[allow(clippy::too_many_arguments)]
fn process_directory_entry<D: Borrow<UpEndDatabase>>(
&self,
db: D,