pub mod mysql; pub mod postgres; pub use mysql::MySqlPool; pub use postgres::PostgresPool; use async_trait::async_trait; use database_tree::{Child, Database, Table}; pub const RECORDS_LIMIT_PER_PAGE: u8 = 200; #[async_trait] pub trait Pool { async fn get_databases(&self) -> anyhow::Result>; async fn get_tables(&self, database: String) -> anyhow::Result>; async fn get_records( &self, database: &Database, table: &Table, page: u16, filter: Option, ) -> anyhow::Result<(Vec, Vec>)>; async fn get_columns( &self, database: &Database, table: &Table, ) -> anyhow::Result<(Vec, Vec>)>; async fn close(&self); }