taitan_orm/database/sqlite/
api.rs

1use crate::database::sqlite::generator::SqliteSqlGenerator;
2use crate::executors::{SqlExecutor, SqlExecutorMut};
3use crate::{
4    reader_impl, reader_mut_impl, template_impl, template_mut_impl, writer_impl, writer_mut_impl,
5};
6use sqlx::Sqlite;
7use taitan_orm_trait::order::OrderBy;
8use taitan_orm_trait::page::{build_paged_list, PagedInfo, PagedList, Pagination};
9use taitan_orm_trait::result::Result;
10use taitan_orm_trait::traits::{
11    Parameter, Selected, SqliteEntity, SqliteLocation, SqliteMutation, SqliteSelected,
12    SqliteTemplate, SqliteUnique,
13};
14use taitan_orm_tracing::debug;
15
16pub trait ReaderApi: SqlExecutor<Sqlite> {
17    reader_impl!(
18        Sqlite,
19        SqliteSqlGenerator,
20        SqliteSelected,
21        SqliteMutation,
22        SqliteLocation,
23        SqliteUnique
24    );
25}
26impl<T> ReaderApi for T where T: SqlExecutor<Sqlite> {}
27
28pub trait ReaderMutApi: SqlExecutorMut<Sqlite> {
29    reader_mut_impl!(
30        Sqlite,
31        SqliteSqlGenerator,
32        SqliteSelected,
33        SqliteMutation,
34        SqliteLocation,
35        SqliteUnique
36    );
37}
38impl<T> ReaderMutApi for T where T: SqlExecutorMut<Sqlite> {}
39
40pub trait WriterApi: SqlExecutor<Sqlite> {
41    writer_impl!(
42        SqliteSqlGenerator,
43        SqliteEntity,
44        SqliteMutation,
45        SqliteLocation,
46        SqliteUnique
47    );
48}
49impl<T> WriterApi for T where T: SqlExecutor<Sqlite> {}
50
51pub trait WriterMutApi: SqlExecutorMut<Sqlite> {
52    writer_mut_impl!(
53        SqliteSqlGenerator,
54        SqliteEntity,
55        SqliteMutation,
56        SqliteLocation,
57        SqliteUnique
58    );
59}
60impl<T> WriterMutApi for T where T: SqlExecutorMut<Sqlite> {}
61
62pub trait TemplateApi: SqlExecutor<Sqlite> {
63    template_impl!(sqlx::Sqlite, SqliteSelected, SqliteTemplate);
64}
65impl<T> TemplateApi for T where T: SqlExecutor<Sqlite> {}
66
67pub trait TemplateMutApi: SqlExecutorMut<Sqlite> {
68    template_mut_impl!(sqlx::Sqlite, SqliteSelected, SqliteTemplate);
69}
70impl<T> TemplateMutApi for T where T: SqlExecutorMut<Sqlite> {}