From d8d026b057d71995897814f3fe57f0572fcc8d57 Mon Sep 17 00:00:00 2001 From: Aravinth Manivannan Date: Fri, 10 Jan 2025 19:22:35 +0530 Subject: [PATCH] fix: delete redundant meili adapter --- .../output/meili/add_product_to_store.rs | 98 ------------------- src/inventory/adapters/output/meili/mod.rs | 19 ---- 2 files changed, 117 deletions(-) delete mode 100644 src/inventory/adapters/output/meili/add_product_to_store.rs delete mode 100644 src/inventory/adapters/output/meili/mod.rs diff --git a/src/inventory/adapters/output/meili/add_product_to_store.rs b/src/inventory/adapters/output/meili/add_product_to_store.rs deleted file mode 100644 index a7884ba..0000000 --- a/src/inventory/adapters/output/meili/add_product_to_store.rs +++ /dev/null @@ -1,98 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Aravinth Manivannan -// -// SPDX-License-Identifier: AGPL-3.0-or-later - -use derive_builder::Builder; -use derive_getters::Getters; -use serde::{Deserialize, Serialize}; -use uuid::Uuid; - -use super::InventoryFTSMeili; -use crate::inventory::application::port::output::full_text_search::{ - add_product_to_store::*, errors::*, -}; -use crate::inventory::domain::{category_aggregate::*, product_aggregate::*}; -use crate::types::currency::*; -//use super::errors::*; - -#[derive( - Clone, Debug, Default, Serialize, Deserialize, Eq, PartialEq, Ord, PartialOrd, Getters, Builder, -)] -pub struct MeiliProduct { - name: String, - description: Option, - image: Option, // string = file_name - price: Price, - category_name: String, - product_id: Uuid, -} - -impl MeiliProduct { - pub fn new(product: &Product, category: &Category) -> Self { - Self { - name: product.name().into(), - description: product.description().clone(), - image: product.image().clone(), - price: product.price().clone(), - category_name: category.name().into(), - product_id: *product.product_id(), - } - } -} - -#[async_trait::async_trait] -impl AddProductToStoreFTSPort for InventoryFTSMeili { - async fn add_product_to_store( - &self, - product: &Product, - category: &Category, - ) -> InventoryFTSResult<()> { - let store_index = self.client.index(format!("inventory.{}",category.store_id())); - let meili_product = MeiliProduct::new(product, category); - store_index - .add_documents(&[meili_product], Some("product_id")) - .await - .unwrap(); - - Ok(()) - } -} - -#[cfg(test)] -mod tests { - - use uuid::Uuid; - - use crate::types::quantity::Quantity; - - use super::*; - - #[actix_rt::test] - async fn test_meili() { - let settings = crate::settings::tests::get_settings().await; - let fts = InventoryFTSMeili::new(&settings.meili.url, &settings.meili.api_key); - - let category = Category::default(); - let product = ProductBuilder::default() - .name("test_meili_product".into()) - .description(Some("this is a test product".into())) - .image(None) - .price( - PriceBuilder::default() - .major(100) - .minor(0) - .currency(Currency::INR) - .build() - .unwrap(), - ) - .quantity(Quantity::default()) - .sku_able(false) - .deleted(false) - .category_id(*category.category_id()) - .product_id(Uuid::new_v4()) - .build() - .unwrap(); - - fts.add_product_to_store(&product, &category).await.unwrap(); - } -} diff --git a/src/inventory/adapters/output/meili/mod.rs b/src/inventory/adapters/output/meili/mod.rs deleted file mode 100644 index 009fbcd..0000000 --- a/src/inventory/adapters/output/meili/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Aravinth Manivannan -// -// SPDX-License-Identifier: AGPL-3.0-or-later - -use meilisearch_sdk::client::*; - -mod add_product_to_store; - -#[derive(Clone)] -pub struct InventoryFTSMeili { - client: Client, -} - -impl InventoryFTSMeili { - pub fn new(meili_url: &str, api_key: &str) -> Self { - let client = Client::new(meili_url, Some(api_key)).unwrap(); - Self { client } - } -}