Skip to main content

openauth_core/db/adapter/
value.rs

1use serde::{Deserialize, Serialize};
2use time::OffsetDateTime;
3
4/// Dynamic record payload exchanged between core auth logic and adapters.
5pub type DbRecord = indexmap::IndexMap<String, DbValue>;
6
7/// Primitive value accepted by adapter query predicates.
8#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
9pub enum DbValue {
10    String(String),
11    Number(i64),
12    Boolean(bool),
13    Timestamp(OffsetDateTime),
14    Json(serde_json::Value),
15    StringArray(Vec<String>),
16    NumberArray(Vec<i64>),
17    Record(DbRecord),
18    RecordArray(Vec<DbRecord>),
19    Null,
20}