34 lines
953 B
Rust
34 lines
953 B
Rust
// SPDX-FileCopyrightText: 2024 Aravinth Manivannan <realaravinth@batsense.net>
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
use derive_builder::Builder;
|
|
use mockall::predicate::*;
|
|
use mockall::*;
|
|
|
|
pub mod errors;
|
|
|
|
// services
|
|
pub mod add_category_service;
|
|
pub mod add_store_service;
|
|
|
|
#[automock]
|
|
pub trait InventoryServicesInterface: Send + Sync {
|
|
fn add_store(&self) -> add_store_service::AddStoreServiceObj;
|
|
fn add_category(&self) -> add_category_service::AddCategoryServiceObj;
|
|
}
|
|
|
|
#[derive(Clone, Builder)]
|
|
pub struct InventoryServices {
|
|
add_store: add_store_service::AddStoreServiceObj,
|
|
add_category: add_category_service::AddCategoryServiceObj,
|
|
}
|
|
|
|
impl InventoryServicesInterface for InventoryServices {
|
|
fn add_store(&self) -> add_store_service::AddStoreServiceObj {
|
|
self.add_store.clone()
|
|
}
|
|
fn add_category(&self) -> add_category_service::AddCategoryServiceObj {
|
|
self.add_category.clone()
|
|
}
|
|
}
|