Documentation ¶
Index ¶
- func Add(clients *conn.Clients, b *Blog) (int64, error)
- func AddTag(clients *conn.Clients, idBlog int64, t *Tag) (int64, error)
- func Delete(clients *conn.Clients, idBlog int64) error
- func DeleteTag(clients *conn.Clients, idBlog int64, tag string) error
- func DeleteTagsCSV(tx *sql.Tx, idBlog int64) error
- func GetFrequentTags(clients *conn.Clients) ([]*string, error)
- func GetIDAuthor(clients *conn.Clients, idBlog int64) (int64, error)
- func GetIDByTag(clients *conn.Clients, tag string) (int64, error)
- func GetTagByID(clients *conn.Clients, idTag int64) (string, error)
- func GetTagsCSV(clients *conn.Clients, idBlog int64) (string, error)
- func GetViews(clients *conn.Clients, idBlog int64) (int64, error)
- func IncrViews(clients *conn.Clients, idBlog int64) (int64, error)
- func RouteBlog(clients *conn.Clients) chi.Router
- func RouteTag(clients *conn.Clients) chi.Router
- func SetTagsCSV(tx *sql.Tx, idBlog int64, tagCsv string) error
- func Update(clients *conn.Clients, b *Blog) error
- func UpdateSettings(clients *conn.Clients, b *Blog) error
- type Blog
- func Get(clients *conn.Clients, idBlog int64) (*Blog, error)
- func GetLatest(clients *conn.Clients, pageNum int, pageSize int) ([]*Blog, error)
- func GetLatestByTag(clients *conn.Clients, tag string, pageNum int, pageSize int) ([]*Blog, error)
- func GetPost(clients *conn.Clients, idBlog int64) (*Blog, error)
- func GetPostInit(clients *conn.Clients, idBlog int64) (*Blog, error)
- func GetRecentAuthorBlogs(clients *conn.Clients, idAuthor int64) ([]*Blog, error)
- type Tag
- type TagCSV
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteTagsCSV ¶
DeleteTagsCSV Deletes a record from blog_tags. Only works as part of a transaction since all non-read tag operations are interdependent.
func GetFrequentTags ¶
GetFrequentTags gets most frequently used tags
func GetIDAuthor ¶
GetIDAuthor gets author ID of blog
func GetIDByTag ¶
GetIDByTag gets a tag ID by its tag
func GetTagByID ¶
GetTagByID gets a tag by its tag ID
func GetTagsCSV ¶
GetTagsCSV Get CSV of a blog's tags
func SetTagsCSV ¶
SetTagsCSV Sets a blog's tag string in CSV. Only works as part of a transaction since all non-read tag operations are interdependent.
Types ¶
type Blog ¶
type Blog struct { ID int64 `db:"id_blog,omitempty" json:"idPost,omitempty" validate:"min=0"` IDAuthor int64 `db:"id_author,omitempty" json:"idAuthor,omitempty" validate:"required,min=0"` Title string `db:"title,omitempty" json:"title,omitempty" validate:"required,max=255"` Post string `db:"post,omitempty" json:"post,omitempty" validate:"required,max=16777215"` WordCount int `db:"word_count,omitempty" json:"wordCount,omitempty" validate:"required"` Created string `db:"created,omitempty" json:"created,omitempty"` Modified string `db:"modified,omitempty" json:"modified,omitempty"` ModifiedDatetime string `db:"modified,omitempty" json:"modifiedDatetime,omitempty"` IsUnlisted bool `db:"is_unlisted,omitempty" json:"isUnlisted,omitempty"` IsDraft bool `db:"is_draft,omitempty" json:"isDraft,omitempty"` Tags []string `db:"tags,omitempty" json:"tags,omitempty"` }
Blog contains data from the blog tables
func GetLatestByTag ¶
GetLatestByTag gets latest blogs posted by tag
func GetPostInit ¶
GetPostInit gets blog settings and credentials used for retrieving details from GetPost.
type Tag ¶
type Tag struct { ID int64 `db:"id_user,omitempty" json:"id,omitempty"` Tag string `db:"tag,omitempty" json:"tag,omitempty"` Frequency string `db:"frequency,omitempty" json:"frequency,omitempty"` }
Tag contains data from tag table
type TagCSV ¶
type TagCSV struct {
Tags sql.NullString `db:"tags,omitempty" json:"tags,omitempty"`
}
TagCSV contains data from blog_tags table