Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EncodeID ¶
EncodeID hashes id to sha1. The function intentionally left outside of User struct because in some cases we need hashing for parts of id, in some others hashing for non-User values.
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 Edit ¶
Edit indication
type Locator ¶
Locator keeps site and url of the post
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
Source Files
¶
- comment.go
- formatter.go
- user.go
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. |