diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2024-10-02 01:31:43 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2024-10-02 01:31:43 -0400 |
| commit | 469613872f6fb19f4579b387e19b2bc38fa52f51 (patch) | |
| tree | 16edc3e8fac1a418c4b9ed5450167a793a7d6c8b /src/event/repo/sequence.rs | |
| parent | 6f07e6869bbf62903ac83c9bc061e7bde997e6a8 (diff) | |
Package up common event fields as Instant
Diffstat (limited to 'src/event/repo/sequence.rs')
| -rw-r--r-- | src/event/repo/sequence.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/event/repo/sequence.rs b/src/event/repo/sequence.rs index c985869..40d6a53 100644 --- a/src/event/repo/sequence.rs +++ b/src/event/repo/sequence.rs @@ -1,6 +1,9 @@ use sqlx::{sqlite::Sqlite, SqliteConnection, Transaction}; -use crate::event::Sequence; +use crate::{ + clock::DateTime, + event::{Instant, Sequence}, +}; pub trait Provider { fn sequence(&mut self) -> Sequences; @@ -15,7 +18,7 @@ impl<'c> Provider for Transaction<'c, Sqlite> { pub struct Sequences<'t>(&'t mut SqliteConnection); impl<'c> Sequences<'c> { - pub async fn next(&mut self) -> Result<Sequence, sqlx::Error> { + pub async fn next(&mut self, at: &DateTime) -> Result<Instant, sqlx::Error> { let next = sqlx::query_scalar!( r#" update event_sequence @@ -26,7 +29,10 @@ impl<'c> Sequences<'c> { .fetch_one(&mut *self.0) .await?; - Ok(next) + Ok(Instant { + at: *at, + sequence: next, + }) } pub async fn current(&mut self) -> Result<Sequence, sqlx::Error> { |
