Struct pallet_posts::Post [−][src]
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: Content
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.
The number of hidden replies for a given post.
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]
id: PostId,
created_by: T::AccountId,
space_id_opt: Option<SpaceId>,
extension: PostExtension,
content: Content
) -> Self
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]
T::AccountId: Clone,
impl<T: Trait> Debug for Post<T> where
T: Debug,
[src]
T: Debug,
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]
WhoAndWhen<T>: Decode,
WhoAndWhen<T>: Decode,
Option<WhoAndWhen<T>>: Decode,
Option<WhoAndWhen<T>>: Decode,
T::AccountId: Decode,
T::AccountId: Decode,
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
[src]
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
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]
WhoAndWhen<T>: Encode,
WhoAndWhen<T>: Encode,
Option<WhoAndWhen<T>>: Encode,
Option<WhoAndWhen<T>>: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
fn encode_to<__CodecOutputEdqy: Output>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
[src]
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
pub fn size_hint(&self) -> usize
[src]
pub fn encode(&self) -> Vec<u8, Global>
[src]
pub fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
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]
WhoAndWhen<T>: Encode,
WhoAndWhen<T>: Encode,
Option<WhoAndWhen<T>>: Encode,
Option<WhoAndWhen<T>>: Encode,
T::AccountId: Encode,
T::AccountId: Encode,
impl<T: Eq + Trait> Eq for Post<T> where
T::AccountId: Eq,
[src]
T::AccountId: Eq,
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]
T::AccountId: PartialEq,
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.
fn module_prefix() -> &'static [u8]
[src]
fn storage_prefix() -> &'static [u8]
[src]
fn from_optional_value_to_query(v: Option<Post<T>>) -> Self::Query
[src]
fn from_query_to_optional_value(v: Self::Query) -> Option<Post<T>>
[src]
pub fn prefix_hash() -> Vec<u8, Global>
[src]
pub fn storage_map_final_key<KeyArg>(key: KeyArg) -> Vec<u8, Global> where
KeyArg: EncodeLike<K>,
[src]
KeyArg: EncodeLike<K>,
impl<T: Trait> StoragePrefixedMap<Post<T>> for PostById<T>
[src]
fn module_prefix() -> &'static [u8]
[src]
fn storage_prefix() -> &'static [u8]
[src]
pub fn final_prefix() -> [u8; 32]
[src]
pub fn remove_all()
[src]
pub fn iter_values() -> PrefixIterator<Value>
[src]
pub fn translate_values<OldValue, F>(f: F) where
F: Fn(OldValue) -> Option<Value>,
OldValue: Decode,
[src]
F: Fn(OldValue) -> Option<Value>,
OldValue: Decode,
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,
<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,
<T as Trait>::Moment: Send,
impl<T> Sync for Post<T> where
<T as Trait>::Moment: Sync,
<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,
<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,
<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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<S> Codec for S where
S: Encode + Decode,
[src]
S: Encode + Decode,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
[src]
T: Decode,
pub fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
pub fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
pub fn __clone_box(&self, Private) -> *mut ()
[src]
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T, Global>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned,
[src]
T: Encode + ToOwned,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> From<T> for T
[src]
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T> Hashable for T where
T: Codec,
[src]
T: Codec,
pub fn blake2_128(&self) -> [u8; 16]
[src]
pub fn blake2_256(&self) -> [u8; 32]
[src]
pub fn blake2_128_concat(&self) -> Vec<u8, Global>
[src]
pub fn twox_128(&self) -> [u8; 16]
[src]
pub fn twox_256(&self) -> [u8; 32]
[src]
pub fn twox_64_concat(&self) -> Vec<u8, Global>
[src]
pub fn identity(&self) -> Vec<u8, Global>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
pub fn from_ref(t: &T) -> &T
[src]
pub fn into_ref(&self) -> &T
[src]
pub fn from_mut(t: &mut T) -> &mut T
[src]
pub fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
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]
T: Codec,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
[src]
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Parameter for T where
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
[src]
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,