review: avoid using class in entity construction relying on T and EAV trait

This commit is contained in:
2025-10-02 07:39:20 +02:00
parent cad5539a44
commit 06a8b52e20
3 changed files with 9 additions and 6 deletions

View File

@@ -27,8 +27,11 @@ impl O {
self.id = id.to_string(); self.id = id.to_string();
self self
} }
pub fn with_class(mut self, class: &str) -> Self { pub fn with_class<T>(mut self) -> Self
self.class = class.to_string(); where
T: EAV,
{
self.class = T::class().to_string();
self self
} }
pub fn with_ref_date(mut self, ref_date: u64) -> Self { pub fn with_ref_date(mut self, ref_date: u64) -> Self {

View File

@@ -15,7 +15,7 @@ mod tests {
impl From<Product> for Entity { impl From<Product> for Entity {
fn from(value: Product) -> Entity { fn from(value: Product) -> Entity {
Entity::default() Entity::default()
.with_class("product") .with_class::<Product>()
.with_id(&value.id) .with_id(&value.id)
.with_attribute("name", value.name) .with_attribute("name", value.name)
.with_attribute("price", value.price) .with_attribute("price", value.price)

View File

@@ -19,7 +19,7 @@ mod tests {
impl From<OperationToCategory> for Entity { impl From<OperationToCategory> for Entity {
fn from(value: OperationToCategory) -> Entity { fn from(value: OperationToCategory) -> Entity {
Entity::default() Entity::default()
.with_class("operation_has_category") .with_class::<OperationToCategory>()
.with_id(&value.id) .with_id(&value.id)
.with_attribute("operation_id", value.operation_id) .with_attribute("operation_id", value.operation_id)
.with_attribute("category_id", value.category_id) .with_attribute("category_id", value.category_id)
@@ -49,7 +49,7 @@ mod tests {
impl From<Category> for Entity { impl From<Category> for Entity {
fn from(value: Category) -> Entity { fn from(value: Category) -> Entity {
Entity::default() Entity::default()
.with_class("category") .with_class::<Category>()
.with_id(&value.id) .with_id(&value.id)
.with_attribute("label", value.label) .with_attribute("label", value.label)
} }
@@ -79,7 +79,7 @@ mod tests {
impl From<Operation> for Entity { impl From<Operation> for Entity {
fn from(value: Operation) -> Entity { fn from(value: Operation) -> Entity {
Entity::default() Entity::default()
.with_class("operation") .with_class::<Operation>()
.with_id(&value.id) .with_id(&value.id)
.with_attribute("date", value.date) .with_attribute("date", value.date)
.with_attribute("amount", value.amount) .with_attribute("amount", value.amount)