this_me/lib.rs
1// Crate root — this-me/crate/src/lib.rs
2// ---- Common utilities and legacy (SQLite) API ----
3pub mod utils;
4pub mod manager;
5pub mod host;
6// Legacy local-first API (SQLite-backed) that you already have working.
7// Kept intact for backwards compatibility with the existing CLI.
8#[cfg(feature = "sqlite")]
9pub mod me;
10#[cfg(feature = "sqlite")]
11mod verbs;
12#[cfg(feature = "sqlite")]
13pub use me::Me;
14#[cfg(feature = "sqlite")]
15pub use manager::list_us;
16// ---- Storage-agnostic core API (async) ----
17// This layer defines the MeStore trait and the generic Me<S: MeStore>
18// that works over any backend (e.g., PostgreSQL for Cleaker).
19pub mod core;
20// ---- Database backends ----
21// PostgreSQL/SQLite backend modules are conditionally compiled inside `db/mod.rs`.
22// Cleaker will depend on these types from the `pg` feature.
23pub mod db;
24// (Optional) If later SQLite adapter for the core API,
25// expose it here as `pub mod sqlite;`
26// For now, your legacy `me.rs` + `verbs.rs` cover local SQLite usage.