baserow_rs::api::table

Struct RowRequestBuilder

Source
pub struct RowRequestBuilder { /* private fields */ }
Expand description

Builder for constructing table row queries

Provides a fluent interface for building queries with filtering, sorting, and other options.

§Examples

Basic query with filters, sorting, and view selection:

use baserow_rs::{ConfigBuilder, Baserow, BaserowTableOperations, OrderDirection, filter::Filter};
use baserow_rs::api::client::BaserowClient;

#[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);

    // Build a query with filters, sorting, and view selection
    let results = table.rows()
        .view(456)  // Query from a specific view
        .filter_by("Status", Filter::Equal, "Active")
        .order_by("Created", OrderDirection::Desc)
        .get()
        .await
        .unwrap();

    println!("Found {} matching rows", results.count);
}

Paginated query:

// Get first page of 25 rows
let page1 = table.clone().rows()
    .page_size(25)
    .offset(0)
    .get()
    .await
    .unwrap();

// Get second page
let page2 = table.clone().rows()
    .page_size(25)
    .offset(25)
    .get()
    .await
    .unwrap();

println!("Total rows: {}", page1.count);
println!("First page rows: {}", page1.results.len());
println!("Second page rows: {}", page2.results.len());

Implementations§

Source§

impl RowRequestBuilder

Source

pub fn view(self, id: i32) -> Self

Set the view ID to query rows from a specific view

§Arguments
  • id - The ID of the view to query
§Example
table.rows()
    .view(123);
Source

pub fn page_size(self, size: i32) -> Self

Set the number of rows to return per page

§Arguments
  • size - The number of rows to return per page
§Example
table.rows()
    .page_size(25);
Source

pub fn offset(self, offset: i32) -> Self

Set the offset for pagination

§Arguments
  • offset - The number of rows to skip
§Example
table.rows()
    .offset(50);
Source

pub fn with_table(self, table: BaserowTable) -> Self

Source

pub fn with_baserow(self, baserow: Baserow) -> Self

Source

pub fn order_by(self, field: &str, direction: OrderDirection) -> Self

Add sorting criteria to the query

§Arguments
  • field - The field name to sort by
  • direction - The sort direction (Asc or Desc)
§Example
table.rows()
    .order_by("Created", OrderDirection::Desc);
Source

pub fn filter_by(self, field: &str, filter_op: Filter, value: &str) -> Self

Add a filter condition to the query

§Arguments
  • field - The field name to filter on
  • filter_op - The filter operation (Equal, Contains, etc.)
  • value - The value to filter against
§Example
table.rows()
    .filter_by("Status", Filter::Equal, "Active");
Source

pub async fn get(self) -> Result<RowsResponse, Box<dyn Error>>

Execute the query and return the results

Sends the constructed query to Baserow and returns the matching rows along with pagination information.

§Returns

A RowsResponse containing the matching rows and metadata

§Errors

Returns an error if the request fails or the response cannot be parsed

Source

pub async fn get_typed<T>(self) -> Result<TypedRowsResponse<T>, Box<dyn Error>>

Execute the query and return typed results

Similar to get(), but deserializes the rows into the specified type.

§Type Parameters
  • T - The type to deserialize each row into. Must implement DeserializeOwned.
§Returns

A TypedRowsResponse containing the matching rows deserialized as type T

§Errors

Returns an error if the request fails or the response cannot be parsed

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T