diff options
author | 2022-08-19 20:25:23 -0700 | |
---|---|---|
committer | 2022-08-19 20:25:23 -0700 | |
commit | f7d0cea466b391c467b1767d65557d3dc027c5fb (patch) | |
tree | 8dd084a81010433769733e8f14314725ac361539 /rust/scraper/src/database/mod.rs | |
parent | 7f8e8ae189ec3e64bb9acc8273ff5388b3c80f03 (diff) | |
download | touchpad-f7d0cea466b391c467b1767d65557d3dc027c5fb.tar.gz touchpad-f7d0cea466b391c467b1767d65557d3dc027c5fb.tar.zst touchpad-f7d0cea466b391c467b1767d65557d3dc027c5fb.zip |
Adds DatabaseClient & Postgres Database Client
Diffstat (limited to '')
-rw-r--r-- | rust/scraper/src/database/mod.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/rust/scraper/src/database/mod.rs b/rust/scraper/src/database/mod.rs new file mode 100644 index 0000000..232f42f --- /dev/null +++ b/rust/scraper/src/database/mod.rs @@ -0,0 +1,20 @@ +pub mod postgres; +pub mod error; + +pub use error::DatabaseError; + +use proto::touchpad::common::v1; + +type Result<T> = std::result::Result<T, DatabaseError>; + +#[async_trait::async_trait] +pub trait DatabaseClient { + async fn get_swimmer(&self, id: u32) -> Result<v1::Swimmer>; + async fn add_swimmer(&self, swimmer: &v1::Swimmer) -> Result<()>; + + async fn get_team(&self, id: u32) -> Result<v1::Team>; + async fn add_team(&self, team: &v1::Team) -> Result<()>; + + async fn get_meet(&self, id: u32) -> Result<v1::SwimMeet>; + async fn add_meet(&self, meet: &v1::SwimMeet) -> Result<()>; +} |