Struct pallet_posts::Post[][src]

pub struct Post<T: Trait> {
    pub id: PostId,
    pub created: WhoAndWhen<T>,
    pub updated: Option<WhoAndWhen<T>>,
    pub owner: T::AccountId,
    pub extension: PostExtension,
    pub space_id: Option<SpaceId>,
    pub content: Content,
    pub hidden: bool,
    pub replies_count: u16,
    pub hidden_replies_count: u16,
    pub shares_count: u16,
    pub upvotes_count: u16,
    pub downvotes_count: u16,
    pub score: i32,
}

Information about a post’s owner, its’ related space, content, and visibility.

Fields

id: PostId

Unique sequential identifier of a post. Examples of post ids: 1, 2, 3, and so on.

created: WhoAndWhen<T>updated: Option<WhoAndWhen<T>>owner: T::AccountId

The current owner of a given post.

extension: PostExtension

Through post extension you can provide specific information necessary for different kinds of posts such as regular posts, comments, and shared posts.

space_id: Option<SpaceId>

An id of a space which contains a given post.

content: Contenthidden: bool

Hidden field is used to recommend to end clients (web and mobile apps) that a particular posts and its’ comments should not be shown.

replies_count: u16

The total number of replies for a given post.

hidden_replies_count: u16

The number of hidden replies for a given post.

shares_count: u16

The number of times a given post has been shared.

upvotes_count: u16

The number of times a given post has been upvoted.

downvotes_count: u16

The number of times a given post has been downvoted.

score: i32

Implementations

impl<T: Trait> Post<T>[src]

pub fn new(
    id: PostId,
    created_by: T::AccountId,
    space_id_opt: Option<SpaceId>,
    extension: PostExtension,
    content: Content
) -> Self
[src]

pub fn ensure_owner(&self, account: &T::AccountId) -> DispatchResult[src]

pub fn is_owner(&self, account: &T::AccountId) -> bool[src]

pub fn is_root_post(&self) -> bool[src]

pub fn is_regular_post(&self) -> bool[src]

pub fn is_comment(&self) -> bool[src]

pub fn is_sharing_post(&self) -> bool[src]

pub fn get_comment_ext(&self) -> Result<Comment, DispatchError>[src]

pub fn get_shared_post_id(&self) -> Result<PostId, DispatchError>[src]

pub fn get_root_post(&self) -> Result<Post<T>, DispatchError>[src]

pub fn get_space_id(&self) -> Result<SpaceId, DispatchError>[src]

pub fn try_get_space_id(&self) -> Option<SpaceId>[src]

pub fn get_space(&self) -> Result<Space<T>, DispatchError>[src]

pub fn try_get_space(&self) -> Option<Space<T>>[src]

pub fn inc_replies(&mut self)[src]

pub fn dec_replies(&mut self)[src]

pub fn inc_hidden_replies(&mut self)[src]

pub fn dec_hidden_replies(&mut self)[src]

pub fn inc_shares(&mut self)[src]

pub fn dec_shares(&mut self)[src]

pub fn inc_upvotes(&mut self)[src]

pub fn dec_upvotes(&mut self)[src]

pub fn inc_downvotes(&mut self)[src]

pub fn dec_downvotes(&mut self)[src]

pub fn change_score(&mut self, diff: i16)[src]

pub fn is_public(&self) -> bool[src]

pub fn is_unlisted(&self) -> bool[src]

Trait Implementations

impl<T: Clone + Trait> Clone for Post<T> where
    T::AccountId: Clone
[src]

impl<T: Trait> Debug for Post<T> where
    T: Debug
[src]

impl<T: Trait> Decode for Post<T> where
    WhoAndWhen<T>: Decode,
    WhoAndWhen<T>: Decode,
    Option<WhoAndWhen<T>>: Decode,
    Option<WhoAndWhen<T>>: Decode,
    T::AccountId: Decode,
    T::AccountId: Decode
[src]

impl<T: Trait> Encode for Post<T> where
    WhoAndWhen<T>: Encode,
    WhoAndWhen<T>: Encode,
    Option<WhoAndWhen<T>>: Encode,
    Option<WhoAndWhen<T>>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode
[src]

impl<T: Trait> EncodeLike<Post<T>> for Post<T> where
    WhoAndWhen<T>: Encode,
    WhoAndWhen<T>: Encode,
    Option<WhoAndWhen<T>>: Encode,
    Option<WhoAndWhen<T>>: Encode,
    T::AccountId: Encode,
    T::AccountId: Encode
[src]

impl<T: Eq + Trait> Eq for Post<T> where
    T::AccountId: Eq
[src]

impl<T: Trait> From<Post<T>> for FlatPostKind[src]

impl<T: Trait> From<Post<T>> for FlatPost<T::AccountId, T::BlockNumber>[src]

impl<T: PartialEq + Trait> PartialEq<Post<T>> for Post<T> where
    T::AccountId: PartialEq
[src]

impl<T: Trait> StorageMap<u64, Post<T>> for PostById<T>[src]

type Query = Option<Post<T>>

The type that get/take returns.

type Hasher = Twox64Concat

Hasher. Used for generating final key.

impl<T: Trait> StoragePrefixedMap<Post<T>> for PostById<T>[src]

impl<T: Trait> StructuralEq for Post<T>[src]

impl<T: Trait> StructuralPartialEq for Post<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Post<T> where
    <T as Trait>::AccountId: RefUnwindSafe,
    <T as Trait>::BlockNumber: RefUnwindSafe,
    <T as Trait>::Moment: RefUnwindSafe

impl<T> Send for Post<T> where
    <T as Trait>::Moment: Send

impl<T> Sync for Post<T> where
    <T as Trait>::Moment: Sync

impl<T> Unpin for Post<T> where
    <T as Trait>::AccountId: Unpin,
    <T as Trait>::BlockNumber: Unpin,
    <T as Trait>::Moment: Unpin

impl<T> UnwindSafe for Post<T> where
    <T as Trait>::AccountId: UnwindSafe,
    <T as Trait>::BlockNumber: UnwindSafe,
    <T as Trait>::Moment: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<S> Codec for S where
    S: Encode + Decode
[src]

impl<T> DecodeAll for T where
    T: Decode
[src]

impl<T> DecodeLimit for T where
    T: Decode
[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode
[src]

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 
[src]

impl<T> Hashable for T where
    T: Codec
[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe
[src]

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Parameter for T where
    T: Codec + EncodeLike<T> + Clone + Eq + Debug
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    T: Bounded,
    S: TryInto<T>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]