Skip to content

Commit 55b8f63

Browse files
authored
feat: OpenAPI - declare meta field (#8840)
1 parent e8fe6db commit 55b8f63

File tree

9 files changed

+75
-1
lines changed

9 files changed

+75
-1
lines changed

packages/cubejs-api-gateway/openspec.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ components:
9898
type: "string"
9999
shortTitle:
100100
type: "string"
101+
meta:
102+
type: "object"
101103
V1CubeMetaDimensionGranularity:
102104
type: "object"
103105
required:
@@ -131,6 +133,8 @@ components:
131133
type: array
132134
items:
133135
$ref: "#/components/schemas/V1CubeMetaDimensionGranularity"
136+
meta:
137+
type: "object"
134138
V1CubeMetaMeasure:
135139
type: "object"
136140
required:
@@ -147,6 +151,8 @@ components:
147151
type: "string"
148152
aggType:
149153
type: "string"
154+
meta:
155+
type: "object"
150156
V1CubeMeta:
151157
type: "object"
152158
required:
@@ -162,6 +168,8 @@ components:
162168
type: "string"
163169
type:
164170
$ref: "#/components/schemas/V1CubeMetaType"
171+
meta:
172+
type: "object"
165173
description:
166174
type: "string"
167175
measures:

rust/cubesql/cubeclient/DEVELOPMENT.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,5 @@ The above command will also overwrite `src/apis/default_api.rs`, remember to do
3333

3434
1. Revert block for long polling in `load_v1()`
3535
2. Revert block containing `tests` module
36-
3. Rename fields from `r#type` to `_type` (TODO: we can use `--name-mappings type=_type` on new `openapi-generator`)
3736

3837
Finally, run `cargo fmt`

rust/cubesql/cubeclient/src/models/v1_cube_meta.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ pub struct V1CubeMeta {
1616
pub title: Option<String>,
1717
#[serde(rename = "type")]
1818
pub r#type: crate::models::V1CubeMetaType,
19+
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
20+
pub meta: Option<serde_json::Value>,
1921
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
2022
pub description: Option<String>,
2123
#[serde(rename = "measures")]
@@ -40,6 +42,7 @@ impl V1CubeMeta {
4042
name,
4143
title: None,
4244
r#type,
45+
meta: None,
4346
description: None,
4447
measures,
4548
dimensions,

rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ pub struct V1CubeMetaDimension {
1818
pub r#type: String,
1919
#[serde(rename = "granularities", skip_serializing_if = "Option::is_none")]
2020
pub granularities: Option<Vec<crate::models::V1CubeMetaDimensionGranularity>>,
21+
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
22+
pub meta: Option<serde_json::Value>,
2123
}
2224

2325
impl V1CubeMetaDimension {
@@ -27,6 +29,7 @@ impl V1CubeMetaDimension {
2729
description: None,
2830
r#type,
2931
granularities: None,
32+
meta: None,
3033
}
3134
}
3235
}

rust/cubesql/cubeclient/src/models/v1_cube_meta_measure.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ pub struct V1CubeMetaMeasure {
2020
pub r#type: String,
2121
#[serde(rename = "aggType", skip_serializing_if = "Option::is_none")]
2222
pub agg_type: Option<String>,
23+
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
24+
pub meta: Option<serde_json::Value>,
2325
}
2426

2527
impl V1CubeMetaMeasure {
@@ -30,6 +32,7 @@ impl V1CubeMetaMeasure {
3032
description: None,
3133
r#type,
3234
agg_type: None,
35+
meta: None,
3336
}
3437
}
3538
}

rust/cubesql/cubeclient/src/models/v1_cube_meta_segment.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ pub struct V1CubeMetaSegment {
1818
pub description: Option<String>,
1919
#[serde(rename = "shortTitle")]
2020
pub short_title: String,
21+
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
22+
pub meta: Option<serde_json::Value>,
2123
}
2224

2325
impl V1CubeMetaSegment {
@@ -27,6 +29,7 @@ impl V1CubeMetaSegment {
2729
title,
2830
description: None,
2931
short_title,
32+
meta: None,
3033
}
3134
}
3235
}

rust/cubesql/cubesql/benches/large_model.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,15 @@ pub fn get_large_model_test_meta(dims: usize) -> Vec<V1CubeMeta> {
8080
description: None,
8181
r#type: "number".to_string(),
8282
agg_type: Some("count".to_string()),
83+
meta: None,
8384
},
8485
V1CubeMetaMeasure {
8586
name: format!("{}.sum", cube_name),
8687
title: None,
8788
description: None,
8889
r#type: "number".to_string(),
8990
agg_type: Some("sum".to_string()),
91+
meta: None,
9092
},
9193
],
9294
dimensions: (1..=dims)
@@ -95,10 +97,12 @@ pub fn get_large_model_test_meta(dims: usize) -> Vec<V1CubeMeta> {
9597
description: None,
9698
r#type: "number".to_string(),
9799
granularities: None,
100+
meta: None,
98101
})
99102
.collect(),
100103
segments: vec![],
101104
joins: None,
105+
meta: None,
102106
}]
103107
}
104108

0 commit comments

Comments
 (0)