Struct PaginatedElements

Source
pub struct PaginatedElements<T>
where T: Serialize,
{ pub elements: Vec<T>, pub total_elements: usize, pub pagination: Pagination, }
Expand description

Default return type for all routes that return lists.

Since we never want to have an infinitely large list returned from an endpoint, the number of entries an endpoint returns by default is limited.

However, the user must know, how many elements there are in total, as this information is crucial for building pagination elements in a frontend.

This type serves as a wrapper around Vec<T> (which will be serialized to a list in json), that also includes how many elements there are in total.

Fields§

§elements: Vec<T>§total_elements: usize§pagination: Pagination

Trait Implementations§

Source§

impl<T> Serialize for PaginatedElements<T>
where T: Serialize + Serialize,

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

Auto Trait Implementations§

§

impl<T> Freeze for PaginatedElements<T>

§

impl<T> RefUnwindSafe for PaginatedElements<T>
where T: RefUnwindSafe,

§

impl<T> Send for PaginatedElements<T>
where T: Send,

§

impl<T> Sync for PaginatedElements<T>
where T: Sync,

§

impl<T> Unpin for PaginatedElements<T>
where T: Unpin,

§

impl<T> UnwindSafe for PaginatedElements<T>
where T: UnwindSafe,

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, 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> Same for T

Source§

type Output = T

Should always be Self
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V