diff options
| author | Ellie Huxtable <ellie@elliehuxtable.com> | 2024-04-18 16:41:28 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-18 16:41:28 +0100 |
| commit | 95cc472037fcb3207b510e67f1a44af4e2a2cae9 (patch) | |
| tree | fc1d3e71d8e0bdb806370e4144fd6f373bcc9c5e /atuin-server-postgres/src/wrappers.rs | |
| parent | feat: show preview auto (#1804) (diff) | |
| download | atuin-95cc472037fcb3207b510e67f1a44af4e2a2cae9.zip | |
chore: move crates into crates/ dir (#1958)
I'd like to tidy up the root a little, and it's nice to have all the
rust crates in one place
Diffstat (limited to 'atuin-server-postgres/src/wrappers.rs')
| -rw-r--r-- | atuin-server-postgres/src/wrappers.rs | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/atuin-server-postgres/src/wrappers.rs b/atuin-server-postgres/src/wrappers.rs deleted file mode 100644 index 3ccf9c19..00000000 --- a/atuin-server-postgres/src/wrappers.rs +++ /dev/null @@ -1,77 +0,0 @@ -use ::sqlx::{FromRow, Result}; -use atuin_common::record::{EncryptedData, Host, Record}; -use atuin_server_database::models::{History, Session, User}; -use sqlx::{postgres::PgRow, Row}; -use time::PrimitiveDateTime; - -pub struct DbUser(pub User); -pub struct DbSession(pub Session); -pub struct DbHistory(pub History); -pub struct DbRecord(pub Record<EncryptedData>); - -impl<'a> FromRow<'a, PgRow> for DbUser { - fn from_row(row: &'a PgRow) -> Result<Self> { - Ok(Self(User { - id: row.try_get("id")?, - username: row.try_get("username")?, - email: row.try_get("email")?, - password: row.try_get("password")?, - })) - } -} - -impl<'a> ::sqlx::FromRow<'a, PgRow> for DbSession { - fn from_row(row: &'a PgRow) -> ::sqlx::Result<Self> { - Ok(Self(Session { - id: row.try_get("id")?, - user_id: row.try_get("user_id")?, - token: row.try_get("token")?, - })) - } -} - -impl<'a> ::sqlx::FromRow<'a, PgRow> for DbHistory { - fn from_row(row: &'a PgRow) -> ::sqlx::Result<Self> { - Ok(Self(History { - id: row.try_get("id")?, - client_id: row.try_get("client_id")?, - user_id: row.try_get("user_id")?, - hostname: row.try_get("hostname")?, - timestamp: row - .try_get::<PrimitiveDateTime, _>("timestamp")? - .assume_utc(), - data: row.try_get("data")?, - created_at: row - .try_get::<PrimitiveDateTime, _>("created_at")? - .assume_utc(), - })) - } -} - -impl<'a> ::sqlx::FromRow<'a, PgRow> for DbRecord { - fn from_row(row: &'a PgRow) -> ::sqlx::Result<Self> { - let timestamp: i64 = row.try_get("timestamp")?; - let idx: i64 = row.try_get("idx")?; - - let data = EncryptedData { - data: row.try_get("data")?, - content_encryption_key: row.try_get("cek")?, - }; - - Ok(Self(Record { - id: row.try_get("client_id")?, - host: Host::new(row.try_get("host")?), - idx: idx as u64, - timestamp: timestamp as u64, - version: row.try_get("version")?, - tag: row.try_get("tag")?, - data, - })) - } -} - -impl From<DbRecord> for Record<EncryptedData> { - fn from(other: DbRecord) -> Record<EncryptedData> { - Record { ..other.0 } - } -} |
