Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions packages/cubejs-api-gateway/openspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@ components:
$ref: "#/components/schemas/V1CubeMetaDimensionGranularity"
meta:
type: "object"
format:
$ref: "#/components/schemas/V1CubeMetaDimensionFormat"
V1CubeMetaMeasure:
type: "object"
required:
Expand All @@ -163,6 +165,8 @@ components:
type: "string"
meta:
type: "object"
format:
$ref: "#/components/schemas/V1CubeMetaMeasureFormat"
aliasMember:
description: "When measure is defined in View, it keeps the original path: Cube.measure"
type: "string"
Expand Down Expand Up @@ -263,6 +267,40 @@ components:
enum:
- "cube"
- "view"
V1CubeMetaMeasureFormat:
type: "string"
description: Format of measure
enum:
- "percent"
- "currency"
V1CubeMetaDimensionSimpleFormat:
type: "string"
description: Simple format of dimension
enum:
- "imageUrl"
- "id"
- "link"
- "percent"
- "currency"
V1CubeMetaDimensionLinkFormat:
type: "object"
description: Link format for dimension with label and type
properties:
label:
type: "string"
description: Label for the link
type:
type: "string"
enum: ["link"]
description: Type of the format (must be 'link')
required:
- label
- type
V1CubeMetaDimensionFormat:
oneOf:
- $ref: "#/components/schemas/V1CubeMetaDimensionSimpleFormat"
- $ref: "#/components/schemas/V1CubeMetaDimensionLinkFormat"
description: Format of dimension - can be either a simple string format or an object with link configuration
V1MetaResponse:
type: "object"
properties:
Expand Down
4 changes: 4 additions & 0 deletions rust/cubesql/cubeclient/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ src/lib.rs
src/models/mod.rs
src/models/v1_cube_meta.rs
src/models/v1_cube_meta_dimension.rs
src/models/v1_cube_meta_dimension_format.rs
src/models/v1_cube_meta_dimension_granularity.rs
src/models/v1_cube_meta_dimension_link_format.rs
src/models/v1_cube_meta_dimension_simple_format.rs
src/models/v1_cube_meta_folder.rs
src/models/v1_cube_meta_hierarchy.rs
src/models/v1_cube_meta_join.rs
src/models/v1_cube_meta_measure.rs
src/models/v1_cube_meta_measure_format.rs
src/models/v1_cube_meta_nested_folder.rs
src/models/v1_cube_meta_segment.rs
src/models/v1_cube_meta_type.rs
Expand Down
19 changes: 15 additions & 4 deletions rust/cubesql/cubeclient/src/models/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,16 @@ pub mod v1_cube_meta;
pub use self::v1_cube_meta::V1CubeMeta;
pub mod v1_cube_meta_dimension;
pub use self::v1_cube_meta_dimension::V1CubeMetaDimension;
pub mod v1_cube_meta_dimension_format;
pub use self::v1_cube_meta_dimension_format::V1CubeMetaDimensionFormat;
pub mod v1_cube_meta_dimension_granularity;
pub use self::v1_cube_meta_dimension_granularity::V1CubeMetaDimensionGranularity;
pub mod v1_cube_meta_dimension_link_format;
pub use self::v1_cube_meta_dimension_link_format::V1CubeMetaDimensionLinkFormat;
// problem with code-gen, let's rename it as re-export
pub use self::v1_cube_meta_dimension_link_format::Type as V1CubeMetaDimensionLinkFormatType;
pub mod v1_cube_meta_dimension_simple_format;
pub use self::v1_cube_meta_dimension_simple_format::V1CubeMetaDimensionSimpleFormat;
pub mod v1_cube_meta_folder;
pub use self::v1_cube_meta_folder::V1CubeMetaFolder;
pub mod v1_cube_meta_hierarchy;
Expand All @@ -12,15 +20,18 @@ pub mod v1_cube_meta_join;
pub use self::v1_cube_meta_join::V1CubeMetaJoin;
pub mod v1_cube_meta_measure;
pub use self::v1_cube_meta_measure::V1CubeMetaMeasure;
pub mod v1_cube_meta_measure_format;
pub use self::v1_cube_meta_measure_format::V1CubeMetaMeasureFormat;
pub mod v1_cube_meta_nested_folder;
pub use self::v1_cube_meta_nested_folder::V1CubeMetaNestedFolder;
pub use self::v1_cube_meta_nested_folder::V1CubeMetaNestedFolderMember;
pub use self::v1_cube_meta_nested_folder::{V1CubeMetaNestedFolder, V1CubeMetaNestedFolderMember};
pub mod v1_cube_meta_segment;
pub use self::v1_cube_meta_segment::V1CubeMetaSegment;
pub mod v1_cube_meta_type;
pub use self::v1_cube_meta_type::V1CubeMetaType;
pub mod v1_error;
pub use self::v1_error::V1Error;
pub mod v1_load_continue_wait;
pub use self::v1_load_continue_wait::V1LoadContinueWait;
pub mod v1_load_request;
pub use self::v1_load_request::V1LoadRequest;
pub mod v1_load_request_query;
Expand All @@ -37,6 +48,8 @@ pub mod v1_load_request_query_join_subquery;
pub use self::v1_load_request_query_join_subquery::V1LoadRequestQueryJoinSubquery;
pub mod v1_load_request_query_time_dimension;
pub use self::v1_load_request_query_time_dimension::V1LoadRequestQueryTimeDimension;
pub mod v1_load_request_query_time_dimension_date_range_filter;
pub use self::v1_load_request_query_time_dimension_date_range_filter::V1LoadRequestQueryTimeDimensionDateRangeFilter;
pub mod v1_load_response;
pub use self::v1_load_response::V1LoadResponse;
pub mod v1_load_result;
Expand All @@ -45,5 +58,3 @@ pub mod v1_load_result_annotation;
pub use self::v1_load_result_annotation::V1LoadResultAnnotation;
pub mod v1_meta_response;
pub use self::v1_meta_response::V1MetaResponse;
pub mod v1_load_continue_wait;
pub use self::v1_load_continue_wait::V1LoadContinueWait;
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ pub struct V1CubeMetaDimension {
pub granularities: Option<Vec<models::V1CubeMetaDimensionGranularity>>,
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
#[serde(rename = "format", skip_serializing_if = "Option::is_none")]
pub format: Option<Box<models::V1CubeMetaDimensionFormat>>,
}

impl V1CubeMetaDimension {
Expand All @@ -43,6 +45,7 @@ impl V1CubeMetaDimension {
alias_member: None,
granularities: None,
meta: None,
format: None,
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Cube.js
*
* Cube.js Swagger Schema
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

/// V1CubeMetaDimensionFormat : Format of dimension - can be either a simple string format or an object with link configuration
/// Format of dimension - can be either a simple string format or an object with link configuration
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Eq, Hash, PartialOrd, Ord)]
#[serde(untagged)]
pub enum V1CubeMetaDimensionFormat {
V1CubeMetaDimensionSimpleFormat(models::V1CubeMetaDimensionSimpleFormat),
V1CubeMetaDimensionLinkFormat(Box<models::V1CubeMetaDimensionLinkFormat>),
}

impl Default for V1CubeMetaDimensionFormat {
fn default() -> Self {
Self::V1CubeMetaDimensionSimpleFormat(Default::default())
}
}
/// Type of the format (must be 'link')
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "link")]
Link,
}

impl Default for Type {
fn default() -> Type {
Self::Link
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Cube.js
*
* Cube.js Swagger Schema
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

/// V1CubeMetaDimensionLinkFormat : Link format for dimension with label and type
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, Eq, Hash, PartialOrd, Ord)]
pub struct V1CubeMetaDimensionLinkFormat {
/// Label for the link
#[serde(rename = "label")]
pub label: String,
/// Type of the format (must be 'link')
#[serde(rename = "type")]
pub r#type: Type,
}

impl V1CubeMetaDimensionLinkFormat {
/// Link format for dimension with label and type
pub fn new(label: String, r#type: Type) -> V1CubeMetaDimensionLinkFormat {
V1CubeMetaDimensionLinkFormat { label, r#type }
}
}
/// Type of the format (must be 'link')
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "link")]
Link,
}

impl Default for Type {
fn default() -> Type {
Self::Link
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Cube.js
*
* Cube.js Swagger Schema
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

/// V1CubeMetaDimensionSimpleFormat : Simple format of dimension
/// Simple format of dimension
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum V1CubeMetaDimensionSimpleFormat {
#[serde(rename = "imageUrl")]
ImageUrl,
#[serde(rename = "id")]
Id,
#[serde(rename = "link")]
Link,
#[serde(rename = "percent")]
Percent,
#[serde(rename = "currency")]
Currency,
}

impl std::fmt::Display for V1CubeMetaDimensionSimpleFormat {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::ImageUrl => write!(f, "imageUrl"),
Self::Id => write!(f, "id"),
Self::Link => write!(f, "link"),
Self::Percent => write!(f, "percent"),
Self::Currency => write!(f, "currency"),
}
}
}

impl Default for V1CubeMetaDimensionSimpleFormat {
fn default() -> V1CubeMetaDimensionSimpleFormat {
Self::ImageUrl
}
}
3 changes: 3 additions & 0 deletions rust/cubesql/cubeclient/src/models/v1_cube_meta_measure.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ pub struct V1CubeMetaMeasure {
pub agg_type: Option<String>,
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
pub meta: Option<serde_json::Value>,
#[serde(rename = "format", skip_serializing_if = "Option::is_none")]
pub format: Option<models::V1CubeMetaMeasureFormat>,
/// When measure is defined in View, it keeps the original path: Cube.measure
#[serde(rename = "aliasMember", skip_serializing_if = "Option::is_none")]
pub alias_member: Option<String>,
Expand All @@ -42,6 +44,7 @@ impl V1CubeMetaMeasure {
r#type,
agg_type: None,
meta: None,
format: None,
alias_member: None,
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Cube.js
*
* Cube.js Swagger Schema
*
* The version of the OpenAPI document: 1.0.0
*
* Generated by: https://openapi-generator.tech
*/

use crate::models;
use serde::{Deserialize, Serialize};

/// V1CubeMetaMeasureFormat : Format of measure
/// Format of measure
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum V1CubeMetaMeasureFormat {
#[serde(rename = "percent")]
Percent,
#[serde(rename = "currency")]
Currency,
}

impl std::fmt::Display for V1CubeMetaMeasureFormat {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Percent => write!(f, "percent"),
Self::Currency => write!(f, "currency"),
}
}
}

impl Default for V1CubeMetaMeasureFormat {
fn default() -> V1CubeMetaMeasureFormat {
Self::Percent
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct V1LoadRequestQueryTimeDimensionDateRangeFilter {
}
pub struct V1LoadRequestQueryTimeDimensionDateRangeFilter {}

impl V1LoadRequestQueryTimeDimensionDateRangeFilter {
pub fn new() -> V1LoadRequestQueryTimeDimensionDateRangeFilter {
V1LoadRequestQueryTimeDimensionDateRangeFilter {
}
V1LoadRequestQueryTimeDimensionDateRangeFilter {}
}
}
impl Default for V1LoadRequestQueryTimeDimensionDateRangeFilter {
fn default() -> Self {
Self::new()
}
}


Loading
Loading