1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use async_trait::async_trait;

use crate::{errors::sdk::SDKError, members::member::Member, projects::project::Project};

use super::task::Task;

#[async_trait]
pub trait TaskRelations {
    async fn owner(&self) -> Result<Member, SDKError>;
    async fn project(&self) -> Result<Project, SDKError>;
    async fn lead(&self) -> Result<Member, SDKError>;
    async fn parent(&self) -> Result<Task, SDKError>;
}

#[async_trait]
impl TaskRelations for Task {
    async fn owner(&self) -> Result<Member, SDKError> {
        todo!()
    }

    async fn project(&self) -> Result<Project, SDKError> {
        todo!()
    }

    async fn lead(&self) -> Result<Member, SDKError> {
        todo!()
    }

    async fn parent(&self) -> Result<Task, SDKError> {
        todo!()
    }
}