Skip to main content

reifydb_codec/json/
types.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4use serde::{Deserialize, Serialize};
5use serde_json::Value as JsonValue;
6
7use crate::json::wire_type::WireValueType;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct ResponseFrame {
11	#[serde(default, skip_serializing_if = "Option::is_none")]
12	pub op: Option<u8>,
13	#[serde(default, skip_serializing_if = "Vec::is_empty")]
14	pub row_numbers: Vec<u64>,
15	#[serde(default, skip_serializing_if = "Vec::is_empty")]
16	pub created_at: Vec<String>,
17	#[serde(default, skip_serializing_if = "Vec::is_empty")]
18	pub updated_at: Vec<String>,
19	#[serde(default, skip_serializing_if = "Vec::is_empty")]
20	pub time: Vec<String>,
21	pub columns: Vec<ResponseColumn>,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct ResponseColumn {
26	pub name: String,
27	#[serde(rename = "type")]
28	pub r#type: WireValueType,
29	pub payload: Vec<JsonValue>,
30}