Skip to main content

PaginationParams

Struct PaginationParams 

Source
pub struct PaginationParams {
    pub limit: Option<u64>,
    pub offset: Option<u64>,
}
Expand description

Query parameters for offset-based list endpoints.

limit must be between 1 and 100 (inclusive) and defaults to 20. offset defaults to 0.

When the validator feature is enabled (the default), calling .validate() enforces these constraints before the values are used.

§Examples

use api_bones::pagination::PaginationParams;

let p = PaginationParams::default();
assert_eq!(p.limit(), 20);
assert_eq!(p.offset(), 0);

Fields§

§limit: Option<u64>

Maximum number of items to return (1–100). Defaults to 20.

§offset: Option<u64>

Number of items to skip. Defaults to 0.

Implementations§

Source§

impl PaginationParams

Source

pub fn new(limit: u64, offset: u64) -> Result<Self, ValidationError>

Create validated pagination params.

Returns Err if limit is outside 1–100.

§Examples
use api_bones::pagination::PaginationParams;

let p = PaginationParams::new(20, 0).unwrap();
assert_eq!(p.limit(), 20);
assert_eq!(p.offset(), 0);

assert!(PaginationParams::new(0, 0).is_err());
assert!(PaginationParams::new(101, 0).is_err());
Source§

impl PaginationParams

Source

pub fn limit(&self) -> u64

Resolved limit value (falls back to the default of 20).

§Examples
use api_bones::pagination::PaginationParams;

let p = PaginationParams { limit: None, offset: None };
assert_eq!(p.limit(), 20);

let p = PaginationParams { limit: Some(50), offset: None };
assert_eq!(p.limit(), 50);
Source

pub fn offset(&self) -> u64

Resolved offset value (falls back to the default of 0).

§Examples
use api_bones::pagination::PaginationParams;

let p = PaginationParams { limit: None, offset: None };
assert_eq!(p.offset(), 0);

let p = PaginationParams { limit: None, offset: Some(100) };
assert_eq!(p.offset(), 100);

Trait Implementations§

Source§

impl Clone for PaginationParams

Source§

fn clone(&self) -> PaginationParams

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PaginationParams

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PaginationParams

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for PaginationParams

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for PaginationParams

Source§

fn eq(&self, other: &PaginationParams) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for PaginationParams

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Validate for PaginationParams

Source§

impl<'v_a> ValidateArgs<'v_a> for PaginationParams

Source§

impl Eq for PaginationParams

Source§

impl StructuralPartialEq for PaginationParams

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,