1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::domain::dtos::{email::EmailDTO, profile::ProfileDTO};

use async_trait::async_trait;
use clean_base::{
    entities::default_response::FetchResponseKind, utils::errors::MappedErrors,
};
use shaku::Interface;

#[async_trait]
pub trait ProfileFetching: Interface + Send + Sync {
    async fn get(
        &self,
        email: EmailDTO,
    ) -> Result<FetchResponseKind<ProfileDTO, EmailDTO>, MappedErrors>;
}