diff options
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> { |
