Skip to main content

link_common/models/
mod.rs

1//! Data models shared by the KalamDB SDK.
2//!
3//! Core shared types (cell values, schema, file references) live here.
4//! Domain-specific models are organized in their respective modules:
5//! - Auth:         [`crate::auth::models`]
6//! - Connection:   [`crate::connection::models`]
7//! - Consumer:     [`crate::consumer::models`]
8//! - Query:        [`crate::query::models`]
9//! - Subscription: [`crate::subscription::models`]
10
11// ── Core shared types (defined here) ────────────────────────────────────────
12pub mod file_ref;
13pub mod kalam_cell_value;
14pub mod utils;
15
16#[cfg(test)]
17mod tests;
18
19pub use file_ref::FileRef;
20pub use kalam_cell_value::{KalamCellValue, RowData};
21pub use kalamdb_commons::{FieldFlag, FieldFlags, KalamDataType, SchemaField, UserId};
22pub use utils::parse_i64;
23
24// ── Auth models ──────────────────────────────────────────────────────────────
25#[cfg(any(feature = "tokio-runtime", feature = "wasm"))]
26pub use crate::auth::models::{
27    LoginRequest, LoginResponse, LoginUserInfo, ServerSetupRequest, ServerSetupResponse,
28    SetupStatusResponse, SetupUserInfo, WsAuthCredentials,
29};
30// ── Connection models ────────────────────────────────────────────────────────
31#[cfg(any(feature = "tokio-runtime", feature = "wasm"))]
32pub use crate::connection::models::{
33    ClientMessage, ClusterHealthResponse, ClusterNodeHealth, CompressionType, ConnectionOptions,
34    HealthCheckResponse, HttpVersion, ProtocolOptions, SerializationType, ServerMessage,
35};
36// ── Consumer models ──────────────────────────────────────────────────────────
37#[cfg(feature = "consumer")]
38pub use crate::consumer::models::{AckResponse, ConsumeMessage, ConsumeRequest, ConsumeResponse};
39// ── Query models ─────────────────────────────────────────────────────────────
40#[cfg(any(feature = "tokio-runtime", feature = "wasm"))]
41pub use crate::query::models::{
42    ErrorDetail, QueryRequest, QueryResponse, QueryResult, ResponseStatus,
43    SqlSubscriptionDescriptor, SqlSubscriptionRow, SqlSubscriptionStatus, UploadProgress,
44};
45// ── Subscription models ──────────────────────────────────────────────────────
46#[cfg(any(feature = "tokio-runtime", feature = "wasm"))]
47pub use crate::subscription::models::{
48    BatchControl, BatchStatus, ChangeEvent, ChangeTypeRaw, SubscriptionConfig, SubscriptionInfo,
49    SubscriptionOptions, SubscriptionRequest,
50};