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