Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BlockedUser ¶
type BlockedUser struct { ID string `json:"id"` Name string `json:"name"` Until time.Time `json:"time"` }
BlockedUser holds id and ts for blocked user
type Comment ¶
type Comment struct { ID string `json:"id" bson:"_id"` ParentID string `json:"pid"` Text string `json:"text"` Orig string `json:"orig,omitempty"` User User `json:"user"` Locator Locator `json:"locator"` Score int `json:"score"` Votes map[string]bool `json:"votes"` Timestamp time.Time `json:"time" bson:"time"` Edit *Edit `json:"edit,omitempty" bson:"edit,omitempty"` // pointer to have empty default in json response Pin bool `json:"pin,omitempty" bson:"pin,omitempty"` Deleted bool `json:"delete,omitempty" bson:"delete"` PostTitle string `json:"title,omitempty" bson:"title"` }
Comment represents a single comment with optional reference to its parent
func (*Comment) PrepareUntrusted ¶
func (c *Comment) PrepareUntrusted()
PrepareUntrusted pre-processes a comment received from untrusted source by clearing all autogen fields and reset everything users not supposed to provide
func (*Comment) Sanitize ¶
func (c *Comment) Sanitize()
Sanitize clean dangerous html/js from the comment
func (*Comment) SetDeleted ¶
func (c *Comment) SetDeleted(mode DeleteMode)
SetDeleted clears comment info, reset to deleted state. hard flag will clear all user info as well
type CommentConverter ¶
CommentConverter defines interface to convert some parts of commentHTML Passed at creation time and does client-defined conversions, like image proxy link change
type CommentConverterFunc ¶
CommentConverterFunc functional struct implementing CommentConverter
func (CommentConverterFunc) Convert ¶
func (f CommentConverterFunc) Convert(text string) string
Convert calls func for given text
type CommentFormatter ¶
type CommentFormatter struct {
// contains filtered or unexported fields
}
CommentFormatter implements all generic formatting ops on comment
func NewCommentFormatter ¶
func NewCommentFormatter(converters ...CommentConverter) *CommentFormatter
NewCommentFormatter makes CommentFormatter
func (*CommentFormatter) Format ¶
func (f *CommentFormatter) Format(c Comment) Comment
Format comment fields
func (*CommentFormatter) FormatText ¶
func (f *CommentFormatter) FormatText(txt string) (res string)
FormatText converts text with markdown processor, applies external converters and shortens links
type DeleteMode ¶
type DeleteMode int
DeleteMode defines how much comment info will be erased
const ( SoftDelete DeleteMode = 0 HardDelete DeleteMode = 1 )
DeleteMode enum
type PostInfo ¶
type PostInfo struct { URL string `json:"url"` Count int `json:"count"` ReadOnly bool `json:"read_only,omitempty" bson:"read_only,omitempty"` FirstTS time.Time `json:"first_time,omitempty" bson:"first_time,omitempty"` LastTS time.Time `json:"last_time,omitempty" bson:"last_time,omitempty"` }
PostInfo holds summary for given post url
Directories ¶
Path | Synopsis |
---|---|
Package admin defines and implements store for admin-level data like secret key, list of admins and so on
|
Package admin defines and implements store for admin-level data like secret key, list of admins and so on |
Package engine defines interfaces each supported storage should implement.
|
Package engine defines interfaces each supported storage should implement. |