diff --git a/docs/Filter.md b/docs/Filter.md index ea4d8e7..98e215a 100644 --- a/docs/Filter.md +++ b/docs/Filter.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **field** | Option<**String**> | Required. Name of the field to use as the first operand in the filter expression. | [optional] **key** | Option<**String**> | If `field` is `tag`, this field is *required* to specify `key` inside the tags. | [optional] -**value** | Option<**String**> | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. | [optional] +**value** | Option<**String**> | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. For `in_array` and `not_in_array` relations, provide a comma-separated list of up to 20 values. | [optional] **hours_ago** | Option<**String**> | If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. | [optional] **radius** | Option<**f32**> | If `field` is `location`, this will specify the radius in meters from a provided location point. Use with `lat` and `long`. | [optional] **lat** | Option<**f32**> | If `field` is `location`, this is *required* to specify the user's latitude. | [optional] diff --git a/docs/FilterExpression.md b/docs/FilterExpression.md index a142c1f..b3c3964 100644 --- a/docs/FilterExpression.md +++ b/docs/FilterExpression.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **field** | Option<**String**> | Required. Name of the field to use as the first operand in the filter expression. | [optional] **key** | Option<**String**> | If `field` is `tag`, this field is *required* to specify `key` inside the tags. | [optional] -**value** | Option<**String**> | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. | [optional] +**value** | Option<**String**> | Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. For `in_array` and `not_in_array` relations, provide a comma-separated list of up to 20 values. | [optional] **hours_ago** | Option<**String**> | If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. | [optional] **radius** | Option<**f32**> | If `field` is `location`, this will specify the radius in meters from a provided location point. Use with `lat` and `long`. | [optional] **lat** | Option<**f32**> | If `field` is `location`, this is *required* to specify the user's latitude. | [optional] diff --git a/src/models/filter.rs b/src/models/filter.rs index 30abfcd..6c01d21 100644 --- a/src/models/filter.rs +++ b/src/models/filter.rs @@ -19,7 +19,7 @@ pub struct Filter { /// If `field` is `tag`, this field is *required* to specify `key` inside the tags. #[serde(rename = "key", skip_serializing_if = "Option::is_none")] pub key: Option, - /// Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. + /// Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. For `in_array` and `not_in_array` relations, provide a comma-separated list of up to 20 values. #[serde(rename = "value", skip_serializing_if = "Option::is_none")] pub value: Option, /// If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. @@ -73,6 +73,10 @@ pub enum RelationType { TimeElapsedGt, #[serde(rename = "time_elapsed_lt")] TimeElapsedLt, + #[serde(rename = "in_array")] + InArray, + #[serde(rename = "not_in_array")] + NotInArray, } impl Default for RelationType { diff --git a/src/models/filter_expression.rs b/src/models/filter_expression.rs index d6727d0..36cbde3 100644 --- a/src/models/filter_expression.rs +++ b/src/models/filter_expression.rs @@ -19,7 +19,7 @@ pub struct FilterExpression { /// If `field` is `tag`, this field is *required* to specify `key` inside the tags. #[serde(rename = "key", skip_serializing_if = "Option::is_none")] pub key: Option, - /// Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. + /// Constant value to use as the second operand in the filter expression. This value is *required* when the relation operator is a binary operator. For `in_array` and `not_in_array` relations, provide a comma-separated list of up to 20 values. #[serde(rename = "value", skip_serializing_if = "Option::is_none")] pub value: Option, /// If `field` is session-related, this is *required* to specify the number of hours before or after the user's session. @@ -77,6 +77,10 @@ pub enum RelationType { TimeElapsedGt, #[serde(rename = "time_elapsed_lt")] TimeElapsedLt, + #[serde(rename = "in_array")] + InArray, + #[serde(rename = "not_in_array")] + NotInArray, } impl Default for RelationType {