Skip to content

Commit 3acfcf8

Browse files
committed
fix schema, generate openapi and grpc docs
1 parent 82b104a commit 3acfcf8

8 files changed

Lines changed: 63 additions & 41 deletions

File tree

docs/grpc/docs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2696,6 +2696,7 @@ The JSON representation for `Value` is a JSON value.
26962696
| variable | [string](#string) | | Payload key or reference to score. |
26972697
| condition | [Condition](#qdrant-Condition) | | Payload condition. If true, becomes 1.0; otherwise 0.0 |
26982698
| geo_distance | [GeoDistance](#qdrant-GeoDistance) | | Geographic distance in meters |
2699+
| datetime | [string](#string) | | Date-time constant or payload key |
26992700
| mult | [MultExpression](#qdrant-MultExpression) | | Multiply |
27002701
| sum | [SumExpression](#qdrant-SumExpression) | | Sum |
27012702
| div | [DivExpression](#qdrant-DivExpression) | | Divide |

docs/redoc/master/openapi.json

Lines changed: 44 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14464,6 +14464,12 @@
1446414464
{
1446514465
"$ref": "#/components/schemas/Condition"
1446614466
},
14467+
{
14468+
"$ref": "#/components/schemas/GeoDistance"
14469+
},
14470+
{
14471+
"$ref": "#/components/schemas/Datetime"
14472+
},
1446714473
{
1446814474
"$ref": "#/components/schemas/MultExpression"
1446914475
},
@@ -14493,12 +14499,47 @@
1449314499
},
1449414500
{
1449514501
"$ref": "#/components/schemas/LnExpression"
14496-
},
14497-
{
14498-
"$ref": "#/components/schemas/GeoDistance"
1449914502
}
1450014503
]
1450114504
},
14505+
"GeoDistance": {
14506+
"type": "object",
14507+
"required": [
14508+
"geo_distance"
14509+
],
14510+
"properties": {
14511+
"geo_distance": {
14512+
"$ref": "#/components/schemas/GeoDistanceParams"
14513+
}
14514+
}
14515+
},
14516+
"GeoDistanceParams": {
14517+
"type": "object",
14518+
"required": [
14519+
"origin",
14520+
"to"
14521+
],
14522+
"properties": {
14523+
"origin": {
14524+
"$ref": "#/components/schemas/GeoPoint"
14525+
},
14526+
"to": {
14527+
"description": "Payload field with the destination geo point",
14528+
"type": "string"
14529+
}
14530+
}
14531+
},
14532+
"Datetime": {
14533+
"type": "object",
14534+
"required": [
14535+
"datetime"
14536+
],
14537+
"properties": {
14538+
"datetime": {
14539+
"type": "string"
14540+
}
14541+
}
14542+
},
1450214543
"MultExpression": {
1450314544
"type": "object",
1450414545
"required": [
@@ -14650,33 +14691,6 @@
1465014691
}
1465114692
}
1465214693
},
14653-
"GeoDistance": {
14654-
"type": "object",
14655-
"required": [
14656-
"geo_distance"
14657-
],
14658-
"properties": {
14659-
"geo_distance": {
14660-
"$ref": "#/components/schemas/GeoDistanceParams"
14661-
}
14662-
}
14663-
},
14664-
"GeoDistanceParams": {
14665-
"type": "object",
14666-
"required": [
14667-
"origin",
14668-
"to"
14669-
],
14670-
"properties": {
14671-
"origin": {
14672-
"$ref": "#/components/schemas/GeoPoint"
14673-
},
14674-
"to": {
14675-
"description": "Payload field with the destination geo point",
14676-
"type": "string"
14677-
}
14678-
}
14679-
},
1468014694
"SampleQuery": {
1468114695
"type": "object",
1468214696
"required": [

lib/api/src/grpc/conversions.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2804,7 +2804,7 @@ fn unparse_expression(
28042804
origin: Some(GeoPoint::from(origin)),
28052805
to: key.to_string(),
28062806
}),
2807-
ParsedExpression::DateTime(dt_expr) => Variant::DateTime(match dt_expr {
2807+
ParsedExpression::DateTime(dt_expr) => Variant::Datetime(match dt_expr {
28082808
DateTimeExpression::Constant(date_time_wrapper) => date_time_wrapper.to_string(),
28092809
DateTimeExpression::PayloadVariable(json_path) => json_path.to_string(),
28102810
}),

lib/api/src/grpc/proto/points.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ message Expression {
583583
string variable = 2; // Payload key or reference to score.
584584
Condition condition = 3; // Payload condition. If true, becomes 1.0; otherwise 0.0
585585
GeoDistance geo_distance = 4; // Geographic distance in meters
586-
string date_time = 5; // Date-time constant or payload key
586+
string datetime = 5; // Date-time constant or payload key
587587
MultExpression mult = 6; // Multiply
588588
SumExpression sum = 7; // Sum
589589
DivExpression div = 8; // Divide

lib/api/src/grpc/qdrant.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5205,7 +5205,7 @@ pub mod expression {
52055205
GeoDistance(super::GeoDistance),
52065206
/// Date-time constant or payload key
52075207
#[prost(string, tag = "5")]
5208-
DateTime(::prost::alloc::string::String),
5208+
Datetime(::prost::alloc::string::String),
52095209
/// Multiply
52105210
#[prost(message, tag = "6")]
52115211
Mult(super::MultExpression),

lib/api/src/rest/schema.rs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,7 @@ pub enum Expression {
641641
Variable(String),
642642
Condition(Box<Condition>),
643643
GeoDistance(GeoDistance),
644-
DateTime(String),
644+
Datetime(Datetime),
645645
Mult(MultExpression),
646646
Sum(SumExpression),
647647
Neg(NegExpression),
@@ -654,6 +654,16 @@ pub enum Expression {
654654
Ln(LnExpression),
655655
}
656656

657+
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
658+
pub struct GeoDistance {
659+
pub geo_distance: GeoDistanceParams,
660+
}
661+
662+
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
663+
pub struct Datetime {
664+
pub datetime: String,
665+
}
666+
657667
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
658668
pub struct MultExpression {
659669
pub mult: Vec<Expression>,
@@ -717,11 +727,6 @@ pub struct LnExpression {
717727
pub ln: Box<Expression>,
718728
}
719729

720-
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
721-
pub struct GeoDistance {
722-
pub geo_distance: GeoDistanceParams,
723-
}
724-
725730
#[derive(Debug, Serialize, Deserialize, JsonSchema)]
726731
pub struct GeoDistanceParams {
727732
/// The origin geo point to measure from

lib/collection/src/operations/universal_query/formula.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,9 @@ impl From<rest::Expression> for ExpressionInternal {
170170
rest::Expression::GeoDistance(GeoDistance {
171171
geo_distance: rest::GeoDistanceParams { origin, to },
172172
}) => ExpressionInternal::GeoDistance { origin, to },
173-
rest::Expression::DateTime(dt_str) => ExpressionInternal::DateTime(dt_str),
173+
rest::Expression::Datetime(rest::Datetime { datetime }) => {
174+
ExpressionInternal::DateTime(datetime)
175+
}
174176
rest::Expression::Mult(rest::MultExpression { mult: exprs }) => {
175177
ExpressionInternal::Mult(exprs.into_iter().map(ExpressionInternal::from).collect())
176178
}

lib/collection/src/operations/universal_query/shard_query.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ impl TryFrom<grpc::Expression> for ExpressionInternal {
395395
.map_err(|_| tonic::Status::invalid_argument("invalid payload key"))?;
396396
ExpressionInternal::GeoDistance { origin, to }
397397
}
398-
Variant::DateTime(dt_str) => ExpressionInternal::DateTime(dt_str),
398+
Variant::Datetime(dt_str) => ExpressionInternal::DateTime(dt_str),
399399
Variant::Mult(grpc::MultExpression { mult }) => {
400400
let mult = mult
401401
.into_iter()

0 commit comments

Comments
 (0)