easy_sql/traits/
output.rs1use easy_macros::always_context;
2use sqlx::Executor;
3
4use crate::Driver;
5
6use super::DriverArguments;
7
8#[always_context]
9#[async_trait::async_trait]
10pub trait ToConvert<D: Driver> {
14 async fn get<'a>(
15 exec: impl Executor<'_, Database = D::InternalDriver>,
16 query: sqlx::query::Query<'a, D::InternalDriver, DriverArguments<'a, D>>,
17 ) -> anyhow::Result<Self>
18 where
19 Self: Sized;
20}
21
22#[always_context]
23pub trait Output<Table, D: Driver>: Sized {
28 type DataToConvert: ToConvert<D>;
29 type UsedForChecks;
30
31 fn select(current_query: &mut String);
32 fn convert(data: Self::DataToConvert) -> anyhow::Result<Self>;
33}