Record

Struct Record 

Source
pub struct Record<T, R = (), S: Persistence = N, K = i64>
where T: Inner, R: Inner, K: Clone,
{ pub inner: T, pub relations: R, /* private fields */ }
Expand description

A record wraps a domain object T with metadata and relations.

  • R: relations (another Record, or tuple, or Vec<Record<_>>)
  • S: persistence state (N, S)
  • K: key type (i64, Uuid, โ€ฆ)

Fieldsยง

ยงinner: Tยงrelations: R

Implementationsยง

Sourceยง

impl<T, R, S, K> Record<T, R, S, K>
where T: Inner, R: Inner, S: Persistence, K: Clone,

Common implementation for all records

Source

pub fn is_dirty(&self) -> bool

Source

pub fn mark_dirty(&mut self)

Sourceยง

impl<T, K> Record<T, (), N, K>
where T: Inner, K: Inner,

Implementation for records with persistence state N (New)

Source

pub fn new(inner: T) -> Self

Source

pub fn with_relations<R>(inner: T, relations: R) -> Record<T, R, N>
where R: Inner,

Sourceยง

impl<T, K, R> Record<T, R, N, K>
where T: Inner, R: Inner, K: Clone,

Implementation for records with persistence state N (New)

Source

pub fn store(self, id: K, created_at: Timestamp) -> Record<T, R, S, K>

Sourceยง

impl<T, K, R> Record<T, R, S, K>
where T: Inner, R: Inner, K: Clone,

Implementation for records with persistence state S (Stored)

Source

pub fn id(&self) -> &K

Source

pub fn created_at(&self) -> &Timestamp

Source

pub fn updated_at(&self) -> &Timestamp

Source

pub fn store(self, id: K, created_at: Timestamp) -> Record<T, R, S, K>

Trait Implementationsยง

Sourceยง

impl<T, R, S: Clone + Persistence, K> Clone for Record<T, R, S, K>
where T: Inner + Clone, R: Inner + Clone, K: Clone + Clone,

Sourceยง

fn clone(&self) -> Record<T, R, S, K>

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<T, R, S: Debug + Persistence, K> Debug for Record<T, R, S, K>
where T: Inner + Debug, R: Inner + Debug, K: Clone + Debug,

Sourceยง

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

Formats the value using the given formatter. Read more
Sourceยง

impl<T: Inner, R: Inner, S: Persistence, K: Clone> InnerRecord for Record<T, R, S, K>

Auto Trait Implementationsยง

ยง

impl<T, R, S, K> Freeze for Record<T, R, S, K>
where T: Freeze, R: Freeze, K: Freeze,

ยง

impl<T, R, S, K> RefUnwindSafe for Record<T, R, S, K>

ยง

impl<T, R, S, K> Send for Record<T, R, S, K>
where T: Send, R: Send, S: Send, K: Send,

ยง

impl<T, R, S, K> Sync for Record<T, R, S, K>
where T: Sync, R: Sync, S: Sync, K: Sync,

ยง

impl<T, R, S, K> Unpin for Record<T, R, S, K>
where T: Unpin, R: Unpin, S: Unpin, K: Unpin,

ยง

impl<T, R, S, K> UnwindSafe for Record<T, R, S, K>

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