coven_database/
store_coordinates.rs1use super::*;
2
3impl Database {
4 pub fn sequence_from_sqlite(device_id: &str, value: i64) -> Result<u64, DbError> {
5 let value = u64::try_from(value).map_err(|_| {
6 DbError::Message(format!(
7 "Store position for {device_id:?} contains negative sequence {value}"
8 ))
9 })?;
10 if value == 0 {
11 return Err(DbError::Message(format!(
12 "Store position for {device_id:?} contains sequence zero"
13 )));
14 }
15 Ok(value)
16 }
17
18 pub fn sequence_to_sqlite(device_id: &str, value: u64) -> Result<i64, DbError> {
19 if value == 0 {
20 return Err(DbError::Message(format!(
21 "Store position for {device_id:?} cannot use sequence zero"
22 )));
23 }
24 i64::try_from(value).map_err(|_| {
25 DbError::Message(format!(
26 "Store position for {device_id:?} exceeds SQLite INTEGER"
27 ))
28 })
29 }
30}