[][src]Module oration::models::comments

Comments table.

Modules

_impl_as_changeset_for_modedelete
_impl_insertable_for_newcomment
_impl_queryable_for_comment
_impl_queryable_for_printedcomment

Structs

Comment

Queryable reference to the comments table.

CommentEdits

Subset of the comment which was just edited. This data is needed to populate the frontend without calling for a complete refresh.

InsertedComment

Subset of the comment which was just inserted. This data is needed to populate the frontend without calling for a complete refresh.

ModeDelete

Changes required when we must use the flagged delete option.

NestedComment

Subset of the comments table which is to be nested and sent to the frontend.

NewComment

Insertable reference to the comments table.

PrintedComment

Subset of the comments table which is to be sent to the frontend.

VotersBlob

Bloom encoding for voters. Currently more a testing phase than final product.

Constants

_IMPL_DESERIALIZE_FOR_VotersBlob
_IMPL_SERIALIZE_FOR_CommentEdits
_IMPL_SERIALIZE_FOR_InsertedComment
_IMPL_SERIALIZE_FOR_NestedComment
_IMPL_SERIALIZE_FOR_PrintedComment
_IMPL_SERIALIZE_FOR_VotersBlob

Functions

build_tree

Construct a nested comment tree from the flat indexed data obtained from the database.

count_votes

Calculates the total vote for a comment based on its likes and dislikes.

gen_hash

Generates a Sha224 hash of author details. If none are set, then the possiblity of using a clients' IP address is available.

get_author

Generates a value for author depending on the completeness of the author profile.

nesting_check

Checks if this comment is nested too deep based on the configuration file value. If so, don't allow this to happen and just post as a reply to the previous parent.

update_authorised

We only want users to be able to edit their comments if they accidentally produced a spelling mistake or somesuch. This method removes that ablility after some offset time.