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}