pub enum Filter {
Show 71 variants
Equal,
NotEqual,
DateIs,
DateIsNot,
DateIsBefore,
DateIsOnOrBefore,
DateIsAfter,
DateIsOnOrAfter,
DateIsWithin,
DateEqual,
DateNotEqual,
DateEqualsToday,
DateBeforeToday,
DateAfterToday,
DateWithinDays,
DateWithinWeeks,
DateWithinMonths,
DateEqualsDaysAgo,
DateEqualsMonthsAgo,
DateEqualsYearsAgo,
DateEqualsWeek,
DateEqualsMonth,
DateEqualsYear,
DateEqualsDayOfMonth,
DateBefore,
DateBeforeOrEqual,
DateAfter,
DateAfterOrEqual,
DateAfterDaysAgo,
HasEmptyValue,
HasNotEmptyValue,
HasValueEqual,
HasNotValueEqual,
HasValueContains,
HasNotValueContains,
HasValueContainsWord,
HasNotValueContainsWord,
HasValueLengthIsLowerThan,
HasAllValuesEqual,
HasAnySelectOptionEqual,
HasNoneSelectOptionEqual,
Contains,
ContainsNot,
ContainsWord,
DoesntContainWord,
FilenameContains,
HasFileType,
FilesLowerThan,
LengthIsLowerThan,
HigherThan,
HigherThanOrEqual,
LowerThan,
LowerThanOrEqual,
IsEvenAndWhole,
SingleSelectEqual,
SingleSelectNotEqual,
SingleSelectIsAnyOf,
SingleSelectIsNoneOf,
Boolean,
LinkRowHas,
LinkRowHasNot,
LinkRowContains,
LinkRowNotContains,
MultipleSelectHas,
MultipleSelectHasNot,
MultipleCollaboratorsHas,
MultipleCollaboratorsHasNot,
Empty,
NotEmpty,
UserIs,
UserIsNot,
}
Expand description
Filter operations available for querying Baserow tables
This enum provides all the possible filter operations that can be used when querying table rows. The filters are grouped by type (text, date, number, etc.) and provide rich comparison capabilities.
§Example
use baserow_rs::{ConfigBuilder, Baserow, BaserowTableOperations, filter::Filter, api::client::BaserowClient};
use std::collections::HashMap;
use serde_json::Value;
#[tokio::main]
async fn main() {
let config = ConfigBuilder::new()
.base_url("https://api.baserow.io")
.api_key("your-api-key")
.build();
let baserow = Baserow::with_configuration(config);
let table = baserow.table_by_id(1234);
// Query with multiple filters
let results = table.rows()
.filter_by("Status", Filter::Equal, "Active")
.filter_by("Age", Filter::HigherThan, "18")
.filter_by("Name", Filter::Contains, "John")
.get::<HashMap<String, Value>>()
.await
.unwrap();
}
Variants§
Equal
Exact match comparison
Field value must exactly match the provided value
Example: .filter_by("Status", Filter::Equal, "Active")
NotEqual
Inverse of Equal Field value must not match the provided value
DateIs
Date field matches exact date
DateIsNot
Date field does not match exact date
DateIsBefore
Date field is before specified date
DateIsOnOrBefore
Date field is on or before specified date
DateIsAfter
Date field is after specified date
DateIsOnOrAfter
Date field is on or after specified date
DateIsWithin
Date field is within specified range
DateEqual
Legacy exact date match
DateNotEqual
Legacy date not equal
DateEqualsToday
Date field is today
DateBeforeToday
Date field is before today
DateAfterToday
Date field is after today
DateWithinDays
Date is within specified number of days
DateWithinWeeks
Date is within specified number of weeks
DateWithinMonths
Date is within specified number of months
DateEqualsDaysAgo
Date is exactly specified number of days ago
DateEqualsMonthsAgo
Date is exactly specified number of months ago
DateEqualsYearsAgo
Date is exactly specified number of years ago
DateEqualsWeek
Date is in specified week
DateEqualsMonth
Date is in specified month
DateEqualsYear
Date is in specified year
DateEqualsDayOfMonth
Date matches specific day of month
DateBefore
Legacy before date
DateBeforeOrEqual
Legacy before or equal date
DateAfter
Legacy after date
DateAfterOrEqual
Legacy after or equal date
DateAfterDaysAgo
Date is after specified number of days ago
HasEmptyValue
Field has empty value
HasNotEmptyValue
Field has non-empty value
HasValueEqual
Field has specific value
HasNotValueEqual
Field does not have specific value
HasValueContains
Field value contains substring
HasNotValueContains
Field value does not contain substring
HasValueContainsWord
Field value contains specific word
HasNotValueContainsWord
Field value does not contain specific word
HasValueLengthIsLowerThan
Field value length is less than specified
HasAllValuesEqual
All values in field equal specified value
HasAnySelectOptionEqual
Any select option matches value
HasNoneSelectOptionEqual
No select option matches value
Contains
Text contains substring
Example: .filter_by("Name", Filter::Contains, "John")
ContainsNot
Text does not contain substring
ContainsWord
Text contains whole word
DoesntContainWord
Text does not contain whole word
FilenameContains
Filename contains substring
HasFileType
File is of specified type
FilesLowerThan
Number of files is less than specified
LengthIsLowerThan
Text length is less than specified
HigherThan
Number is greater than value
Example: .filter_by("Age", Filter::HigherThan, "18")
HigherThanOrEqual
Number is greater than or equal to value
LowerThan
Number is less than value
LowerThanOrEqual
Number is less than or equal to value
IsEvenAndWhole
Number is even and whole
SingleSelectEqual
Single select matches value
SingleSelectNotEqual
Single select does not match value
SingleSelectIsAnyOf
Single select matches any of values
SingleSelectIsNoneOf
Single select matches none of values
Boolean
Boolean field matches value
LinkRowHas
Linked row exists
LinkRowHasNot
Linked row does not exist
LinkRowContains
Linked row contains value
LinkRowNotContains
Linked row does not contain value
MultipleSelectHas
Multiple select includes value
MultipleSelectHasNot
Multiple select does not include value
MultipleCollaboratorsHas
Multiple collaborators includes user
MultipleCollaboratorsHasNot
Multiple collaborators does not include user
Empty
Field is empty/null
NotEmpty
Field is not empty/null
UserIs
Field matches specific user
UserIsNot
Field does not match specific user