Skip to content

Commit

Permalink
fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
Larkooo committed Oct 17, 2024
1 parent b5d5311 commit 2b318b3
Show file tree
Hide file tree
Showing 3 changed files with 102 additions and 40 deletions.
31 changes: 25 additions & 6 deletions crates/torii/grpc/src/server/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -297,8 +297,10 @@ impl DojoWorld {
let arrays_rows = Arc::new(arrays_rows);
let schemas = Arc::new(schemas);

let group_entities: Result<Vec<_>, Error> =
rows.par_iter().map(|row| map_row_to_entity(row, &arrays_rows, &schemas, dont_include_hashed_keys)).collect();
let group_entities: Result<Vec<_>, Error> = rows
.par_iter()
.map(|row| map_row_to_entity(row, &arrays_rows, &schemas, dont_include_hashed_keys))
.collect();

all_entities.extend(group_entities?);
}
Expand All @@ -310,6 +312,7 @@ impl DojoWorld {
Ok(all_entities)
}

#[allow(clippy::too_many_arguments)]
pub(crate) async fn query_by_hashed_keys(
&self,
table: &str,
Expand Down Expand Up @@ -372,10 +375,13 @@ impl DojoWorld {
let db_entities: Vec<(String, String)> =
sqlx::query_as(&query).bind(limit).bind(offset).fetch_all(&self.pool).await?;

let entities = self.fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys).await?;
let entities = self
.fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys)
.await?;
Ok((entities, total_count))
}

#[allow(clippy::too_many_arguments)]
pub(crate) async fn query_by_keys(
&self,
table: &str,
Expand Down Expand Up @@ -486,7 +492,9 @@ impl DojoWorld {
.fetch_all(&self.pool)
.await?;

let entities = self.fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys).await?;
let entities = self
.fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys)
.await?;
Ok((entities, total_count))
}

Expand Down Expand Up @@ -517,6 +525,7 @@ impl DojoWorld {
row_events.iter().map(map_row_to_event).collect()
}

#[allow(clippy::too_many_arguments)]
pub(crate) async fn query_by_member(
&self,
table: &str,
Expand Down Expand Up @@ -615,6 +624,7 @@ impl DojoWorld {
Ok((entities_collection?, total_count))
}

#[allow(clippy::too_many_arguments)]
pub(crate) async fn query_by_composite(
&self,
table: &str,
Expand Down Expand Up @@ -671,7 +681,9 @@ impl DojoWorld {

let db_entities: Vec<(String, String)> = db_query.fetch_all(&self.pool).await?;

let entities = self.fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys).await?;
let entities = self
.fetch_entities(table, entity_relation_column, db_entities, dont_include_hashed_keys)
.await?;
Ok((entities, total_count))
}

Expand Down Expand Up @@ -884,7 +896,14 @@ fn map_row_to_entity(
})
.collect::<Result<Vec<_>, Error>>()?;

Ok(proto::types::Entity { hashed_keys: if !dont_include_hashed_keys { hashed_keys.to_bytes_be().to_vec() } else { vec![] }, models })
Ok(proto::types::Entity {
hashed_keys: if !dont_include_hashed_keys {
hashed_keys.to_bytes_be().to_vec()
} else {
vec![]
},
models,
})
}

// this builds a sql safe regex pattern to match against for keys
Expand Down
7 changes: 6 additions & 1 deletion crates/torii/grpc/src/types/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,12 @@ impl TryFrom<proto::types::WorldMetadata> for dojo_types::WorldMetadata {

impl From<Query> for proto::types::Query {
fn from(value: Query) -> Self {
Self { clause: value.clause.map(|c| c.into()), limit: value.limit, offset: value.offset, dont_include_hashed_keys: value.dont_include_hashed_keys }
Self {
clause: value.clause.map(|c| c.into()),
limit: value.limit,
offset: value.offset,
dont_include_hashed_keys: value.dont_include_hashed_keys,
}
}
}

Expand Down
104 changes: 71 additions & 33 deletions crates/torii/grpc/src/types/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -153,25 +153,31 @@ impl TryFrom<proto::types::Primitive> for Primitive {
proto::types::primitive::PrimitiveType::Bool(bool) => Primitive::Bool(Some(*bool)),
proto::types::primitive::PrimitiveType::I8(int) => Primitive::I8(Some(*int as i8)),
proto::types::primitive::PrimitiveType::I16(int) => Primitive::I16(Some(*int as i16)),
proto::types::primitive::PrimitiveType::I32(int) => Primitive::I32(Some(*int as i32)),
proto::types::primitive::PrimitiveType::I64(int) => Primitive::I64(Some(*int as i64)),
proto::types::primitive::PrimitiveType::I128(bytes) => Primitive::I128(Some(i128::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?))),
proto::types::primitive::PrimitiveType::I32(int) => Primitive::I32(Some(*int)),
proto::types::primitive::PrimitiveType::I64(int) => Primitive::I64(Some(*int)),
proto::types::primitive::PrimitiveType::I128(bytes) => Primitive::I128(Some(
i128::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?),
)),
proto::types::primitive::PrimitiveType::U8(int) => Primitive::U8(Some(*int as u8)),
proto::types::primitive::PrimitiveType::U16(int) => Primitive::U16(Some(*int as u16)),
proto::types::primitive::PrimitiveType::U32(int) => Primitive::U32(Some(*int as u32)),
proto::types::primitive::PrimitiveType::U32(int) => Primitive::U32(Some(*int)),
proto::types::primitive::PrimitiveType::U64(int) => Primitive::U64(Some(*int)),
proto::types::primitive::PrimitiveType::U128(bytes) => Primitive::U128(Some(u128::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?))),
proto::types::primitive::PrimitiveType::Usize(int) => Primitive::USize(Some(*int as u32)),
proto::types::primitive::PrimitiveType::Felt252(felt) => Primitive::Felt252(Some(
Felt::from_bytes_be_slice(felt.as_slice()),
)),
proto::types::primitive::PrimitiveType::ClassHash(felt) => Primitive::ClassHash(Some(
Felt::from_bytes_be_slice(felt.as_slice()),
proto::types::primitive::PrimitiveType::U128(bytes) => Primitive::U128(Some(
u128::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?),
)),
proto::types::primitive::PrimitiveType::ContractAddress(felt) => Primitive::ContractAddress(Some(
Felt::from_bytes_be_slice(felt.as_slice()),
proto::types::primitive::PrimitiveType::Usize(int) => Primitive::USize(Some(*int)),
proto::types::primitive::PrimitiveType::Felt252(felt) => {
Primitive::Felt252(Some(Felt::from_bytes_be_slice(felt.as_slice())))
}
proto::types::primitive::PrimitiveType::ClassHash(felt) => {
Primitive::ClassHash(Some(Felt::from_bytes_be_slice(felt.as_slice())))
}
proto::types::primitive::PrimitiveType::ContractAddress(felt) => {
Primitive::ContractAddress(Some(Felt::from_bytes_be_slice(felt.as_slice())))
}
proto::types::primitive::PrimitiveType::U256(bytes) => Primitive::U256(Some(
U256::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?),
)),
proto::types::primitive::PrimitiveType::U256(bytes) => Primitive::U256(Some(U256::from_be_bytes(bytes.as_slice().try_into().map_err(SchemaError::FromSlice)?))),
};

Ok(primitive)
Expand All @@ -181,27 +187,59 @@ impl TryFrom<proto::types::Primitive> for Primitive {
impl From<Primitive> for proto::types::Primitive {
fn from(primitive: Primitive) -> Self {
let value = match primitive {
Primitive::Bool(bool) => proto::types::primitive::PrimitiveType::Bool(bool.unwrap_or_default()),
Primitive::I8(i8) => proto::types::primitive::PrimitiveType::I8(i8.unwrap_or_default() as i32),
Primitive::I16(i16) => proto::types::primitive::PrimitiveType::I16(i16.unwrap_or_default() as i32),
Primitive::I32(i32) => proto::types::primitive::PrimitiveType::I32(i32.unwrap_or_default()),
Primitive::I64(i64) => proto::types::primitive::PrimitiveType::I64(i64.unwrap_or_default()),
Primitive::I128(i128) => proto::types::primitive::PrimitiveType::I128(i128.unwrap_or_default().to_be_bytes().to_vec()),
Primitive::U8(u8) => proto::types::primitive::PrimitiveType::U8(u8.unwrap_or_default() as u32),
Primitive::U16(u16) => proto::types::primitive::PrimitiveType::U16(u16.unwrap_or_default() as u32),
Primitive::U32(u32) => proto::types::primitive::PrimitiveType::U32(u32.unwrap_or_default()),
Primitive::U64(u64) => proto::types::primitive::PrimitiveType::U64(u64.unwrap_or_default()),
Primitive::U128(u128) => proto::types::primitive::PrimitiveType::U128(u128.unwrap_or_default().to_be_bytes().to_vec()),
Primitive::USize(usize) => proto::types::primitive::PrimitiveType::Usize(usize.unwrap_or_default()),
Primitive::Felt252(felt) => proto::types::primitive::PrimitiveType::Felt252(felt.unwrap_or_default().to_bytes_be().to_vec()),
Primitive::ClassHash(felt) => proto::types::primitive::PrimitiveType::ClassHash(felt.unwrap_or_default().to_bytes_be().to_vec()),
Primitive::ContractAddress(felt) => proto::types::primitive::PrimitiveType::ContractAddress(felt.unwrap_or_default().to_bytes_be().to_vec()),
Primitive::U256(u256) => proto::types::primitive::PrimitiveType::U256(u256.unwrap_or_default().to_be_bytes().to_vec()),
Primitive::Bool(bool) => {
proto::types::primitive::PrimitiveType::Bool(bool.unwrap_or_default())
}
Primitive::I8(i8) => {
proto::types::primitive::PrimitiveType::I8(i8.unwrap_or_default() as i32)
}
Primitive::I16(i16) => {
proto::types::primitive::PrimitiveType::I16(i16.unwrap_or_default() as i32)
}
Primitive::I32(i32) => {
proto::types::primitive::PrimitiveType::I32(i32.unwrap_or_default())
}
Primitive::I64(i64) => {
proto::types::primitive::PrimitiveType::I64(i64.unwrap_or_default())
}
Primitive::I128(i128) => proto::types::primitive::PrimitiveType::I128(
i128.unwrap_or_default().to_be_bytes().to_vec(),
),
Primitive::U8(u8) => {
proto::types::primitive::PrimitiveType::U8(u8.unwrap_or_default() as u32)
}
Primitive::U16(u16) => {
proto::types::primitive::PrimitiveType::U16(u16.unwrap_or_default() as u32)
}
Primitive::U32(u32) => {
proto::types::primitive::PrimitiveType::U32(u32.unwrap_or_default())
}
Primitive::U64(u64) => {
proto::types::primitive::PrimitiveType::U64(u64.unwrap_or_default())
}
Primitive::U128(u128) => proto::types::primitive::PrimitiveType::U128(
u128.unwrap_or_default().to_be_bytes().to_vec(),
),
Primitive::USize(usize) => {
proto::types::primitive::PrimitiveType::Usize(usize.unwrap_or_default())
}
Primitive::Felt252(felt) => proto::types::primitive::PrimitiveType::Felt252(
felt.unwrap_or_default().to_bytes_be().to_vec(),
),
Primitive::ClassHash(felt) => proto::types::primitive::PrimitiveType::ClassHash(
felt.unwrap_or_default().to_bytes_be().to_vec(),
),
Primitive::ContractAddress(felt) => {
proto::types::primitive::PrimitiveType::ContractAddress(
felt.unwrap_or_default().to_bytes_be().to_vec(),
)
}
Primitive::U256(u256) => proto::types::primitive::PrimitiveType::U256(
u256.unwrap_or_default().to_be_bytes().to_vec(),
),
};

proto::types::Primitive {
primitive_type: Some(value),
}
proto::types::Primitive { primitive_type: Some(value) }
}
}

Expand Down

0 comments on commit 2b318b3

Please sign in to comment.