feat: working projects and items
Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use async_trait::async_trait;
|
||||
use como_domain::item::{
|
||||
queries::{GetItemQuery, GetItemsQuery},
|
||||
requests::CreateItemDto,
|
||||
responses::CreatedItemDto,
|
||||
ItemDto,
|
||||
use como_domain::{
|
||||
item::{
|
||||
queries::{GetItemQuery, GetItemsQuery},
|
||||
requests::CreateItemDto,
|
||||
responses::CreatedItemDto,
|
||||
ItemDto,
|
||||
},
|
||||
users::User,
|
||||
};
|
||||
|
||||
pub type DynItemService = Arc<dyn ItemService + Send + Sync>;
|
||||
|
||||
#[async_trait]
|
||||
pub trait ItemService {
|
||||
async fn add_item(&self, item: CreateItemDto) -> anyhow::Result<CreatedItemDto>;
|
||||
async fn get_item(&self, query: GetItemQuery) -> anyhow::Result<ItemDto>;
|
||||
async fn get_items(&self, query: GetItemsQuery) -> anyhow::Result<Vec<ItemDto>>;
|
||||
async fn add_item(&self, item: CreateItemDto, user: &User) -> anyhow::Result<CreatedItemDto>;
|
||||
async fn get_item(&self, query: GetItemQuery, user: &User) -> anyhow::Result<ItemDto>;
|
||||
async fn get_items(&self, query: GetItemsQuery, user: &User) -> anyhow::Result<Vec<ItemDto>>;
|
||||
}
|
||||
|
Reference in New Issue
Block a user