model

package
v0.0.0-...-08ecd07 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2016 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckSafe

func CheckSafe(directory string, base string) bool

Checks if directory is a child directory of base, make sure that GetFileList won't read any folder other than the upload folder.

func CreateFilePath

func CreateFilePath(dir string, name string) string

func DeleteComment

func DeleteComment(id int64) error

func DeleteOldTags

func DeleteOldTags() error

func DeletePostById

func DeletePostById(id int64) error

func DeletePostTagsByPostId

func DeletePostTagsByPostId(post_id int64) error

func EncryptPassword

func EncryptPassword(password string) (string, error)

func GenerateJWTKeys

func GenerateJWTKeys(bits int) ([]byte, []byte, error)

func GenerateSlug

func GenerateSlug(input string, table string) string

func GetNumberOfComments

func GetNumberOfComments() (int64, error)

func GetNumberOfPosts

func GetNumberOfPosts(isPage bool, published bool) (int64, error)

func GetNumberOfUsers

func GetNumberOfUsers() (int64, error)

func GetSettingValue

func GetSettingValue(k string) string

func Initialize

func Initialize(dbPath string, dbExists bool) error

func InitializeKey

func InitializeKey(privKeyPath, pubKeyPath string)

func InsertPostTag

func InsertPostTag(post_id int64, tag_id int64) error

func InsertRoleUser

func InsertRoleUser(role_id int, user_id int64) error

func PostChangeSlug

func PostChangeSlug(slug string) bool

func RemoveFile

func RemoveFile(path string) error

func SetMessageGenerator

func SetMessageGenerator(name string, fn func(v interface{}) string)

func SetNavigators

func SetNavigators(labels, urls []string) error

func SetSettingIfNotExists

func SetSettingIfNotExists(k, v, t string) error

func ValidateJWT

func ValidateJWT(t string) (*jwt.Token, error)

Types

type Comment

type Comment struct {
	Id        int64      `meddler:"id,pk"`
	PostId    int64      `meddler:"post_id"`
	Author    string     `meddler:"author"`
	Email     string     `meddler:"author_email"`
	Avatar    string     `meddler:"author_avatar"`
	Website   string     `meddler:"author_url"`
	Ip        string     `meddler:"author_ip"`
	CreatedAt *time.Time `meddler:"created_at"`
	Content   string     `meddler:"content"`
	Approved  bool       `meddler:"approved"`
	UserAgent string     `meddler:"agent"`
	Type      string     `meddler:"type"`
	Parent    int64      `meddler:"parent"`
	UserId    int64      `meddler:"user_id"`
	Children  *Comments  `meddler:"-"`
}

Comment struct defines a comment item data.

func NewComment

func NewComment() *Comment

func (*Comment) GetCommentById

func (comment *Comment) GetCommentById() error

func (*Comment) ParentComment

func (comment *Comment) ParentComment() (*Comment, error)

func (*Comment) ParentContent

func (c *Comment) ParentContent() string

func (*Comment) Post

func (comment *Comment) Post() *Post

func (*Comment) Save

func (c *Comment) Save() error

func (*Comment) ToJson

func (c *Comment) ToJson() map[string]interface{}

func (*Comment) ValidateComment

func (c *Comment) ValidateComment() string

type Comments

type Comments []*Comment

func (Comments) Get

func (c Comments) Get(i int) *Comment

func (Comments) GetAll

func (c Comments) GetAll() []*Comment

func (*Comments) GetCommentList

func (comments *Comments) GetCommentList(page, size int64, onlyApproved bool) (*utils.Pager, error)

func (*Comments) GetCommentsByPostId

func (comments *Comments) GetCommentsByPostId(id int64) error

func (Comments) Len

func (c Comments) Len() int

type File

type File struct {
	os.FileInfo
	Url     string
	ModTime *time.Time
}

func GetFileList

func GetFileList(directory string) []*File

type JWT

type JWT struct {
	UserRole   int    `json:"user_role"`
	UserID     int64  `json:"user_id"`
	UserEmail  string `json:"user_email"`
	Expiration int64  `json:"expiration"`
	Token      string `json:"token"`
}

func NewJWT

func NewJWT(user *User) (JWT, error)

func NewJWTFromToken

func NewJWTFromToken(token *jwt.Token) JWT

type Message

type Message struct {
	Id        int        `meddler:"id,pk"`
	Type      string     `meddler:"type"`
	Data      string     `meddler:"data"`
	IsRead    bool       `meddler:"is_read"`
	CreatedAt *time.Time `meddler:"created_at"`
}

func NewMessage

func NewMessage(tp string, data interface{}) *Message

func (*Message) Insert

func (m *Message) Insert() error

type Messages

type Messages []*Message

func (Messages) Get

func (m Messages) Get(i int) *Message

func (*Messages) GetUnreadMessages

func (messages *Messages) GetUnreadMessages()
type Navigator struct {
	Label string `json:"label"`
	Url   string `json:"url"`
}

func GetNavigators

func GetNavigators() []*Navigator

type NullTime

type NullTime struct {
	Time  time.Time
	Valid bool // Valid is true if Time is not NULL
}

func (*NullTime) Scan

func (nt *NullTime) Scan(value interface{}) error

Scan implements the Scanner interface.

func (NullTime) Value

func (nt NullTime) Value() (driver.Value, error)

Value implements the driver Valuer interface.

type Post

type Post struct {
	Id              int64      `meddler:"id,pk"`
	Title           string     `meddler:"title"`
	Slug            string     `meddler:"slug"`
	Markdown        string     `meddler:"markdown"`
	Html            string     `meddler:"html"`
	Image           string     `meddler:"image"`
	IsFeatured      bool       `meddler:"featured"`
	IsPage          bool       `meddler:"page"`
	AllowComment    bool       `meddler:"allow_comment"`
	CommentNum      int64      `meddler:"comment_num"`
	IsPublished     bool       `meddler:"published"`
	Language        string     `meddler:"language"`
	MetaTitle       string     `meddler:"meta_title"`
	MetaDescription string     `meddler:"meta_description"`
	CreatedAt       *time.Time `meddler:"created_at"`
	CreatedBy       int64      `meddler:"created_by"`
	UpdatedAt       *time.Time `meddler:"updated_at"`
	UpdatedBy       int64      `meddler:"updated_by"`
	PublishedAt     *time.Time `meddler:"published_at"`
	PublishedBy     int64      `meddler:"published_by"`
	Hits            int64      `meddler:"-"`
	Category        string     `meddler:"-"`
}

func NewPost

func NewPost() *Post

func (*Post) Author

func (p *Post) Author() *User

func (*Post) Comments

func (p *Post) Comments() []*Comment

func (*Post) Excerpt

func (p *Post) Excerpt() string

func (*Post) GetPostById

func (post *Post) GetPostById() error

func (*Post) GetPostBySlug

func (post *Post) GetPostBySlug(slug string) error

func (*Post) Insert

func (p *Post) Insert() error

func (*Post) Save

func (p *Post) Save(tags ...*Tag) error

func (*Post) Summary

func (p *Post) Summary() string

func (*Post) TagString

func (p *Post) TagString() string

func (*Post) Tags

func (p *Post) Tags() []*Tag

func (*Post) Update

func (p *Post) Update() error

func (*Post) UpdateFromRequest

func (p *Post) UpdateFromRequest(r *http.Request)

func (*Post) Url

func (p *Post) Url() string

type Posts

type Posts []*Post

func (Posts) Get

func (p Posts) Get(i int) *Post

func (*Posts) GetAllPostList

func (posts *Posts) GetAllPostList(isPage bool, onlyPublished bool, orderBy string) error

func (*Posts) GetAllPostsByTag

func (posts *Posts) GetAllPostsByTag(tagId int64) error

func (*Posts) GetPostList

func (posts *Posts) GetPostList(page, size int64, isPage bool, onlyPublished bool, orderBy string) (*utils.Pager, error)

func (*Posts) GetPostsByTag

func (posts *Posts) GetPostsByTag(tagId, page, size int64, onlyPublished bool) (*utils.Pager, error)

func (Posts) Len

func (p Posts) Len() int

type Row

type Row interface {
	Scan(dest ...interface{}) error
}

type Setting

type Setting struct {
	Id        int        `meddler:"id,pk"`
	Key       string     `meddler:"key"`
	Value     string     `meddler:"value"`
	Type      string     `meddler:"type"` // general, content, navigation, custom
	CreatedAt *time.Time `meddler:"created_at"`
	CreatedBy int64      `meddler:"created_by"`
	UpdatedAt *time.Time `meddler:"updated_at"`
	UpdatedBy int64      `meddler:"updated_by"`
}

func NewSetting

func NewSetting(k, v, t string) *Setting

func (*Setting) GetSetting

func (setting *Setting) GetSetting() error

func (*Setting) Save

func (s *Setting) Save() error

type Settings

type Settings []*Setting

func GetCustomSettings

func GetCustomSettings() *Settings

func GetSettingsByType

func GetSettingsByType(t string) *Settings

type Statis

type Statis struct {
	Comments int64
	Posts    int64
	Pages    int64
	Files    int
	Version  int
	Sessions int
}

func NewStatis

func NewStatis(app *golf.Application) *Statis

type Tag

type Tag struct {
	Id        int64      `meddler:"id,pk"`
	Name      string     `meddler:"name"`
	Slug      string     `meddler:"slug"`
	Hidden    bool       `meddler:"hidden"`
	CreatedAt *time.Time `meddler:"created_at"`
	CreatedBy int64      `meddler:"created_by"`
	UpdatedAt *time.Time `meddler:"updated_at"`
	UpdatedBy int64      `meddler:"updated_by"`
}

func GenerateTagsFromCommaString

func GenerateTagsFromCommaString(input string) []*Tag

func NewTag

func NewTag(name, slug string) *Tag

func (*Tag) GetTag

func (tag *Tag) GetTag() error

func (*Tag) GetTagBySlug

func (tag *Tag) GetTagBySlug() error

func (*Tag) Insert

func (t *Tag) Insert() error

func (*Tag) Save

func (t *Tag) Save() error

func (*Tag) Update

func (t *Tag) Update() error

func (*Tag) Url

func (t *Tag) Url() string

type Tags

type Tags []*Tag

func (Tags) Get

func (t Tags) Get(i int) *Tag

func (Tags) GetAll

func (t Tags) GetAll() []*Tag

func (*Tags) GetAllTags

func (tags *Tags) GetAllTags() error

func (*Tags) GetTagsByPostId

func (tags *Tags) GetTagsByPostId(postId int64) error

func (Tags) Len

func (t Tags) Len() int

type Token

type Token struct {
	Id        int64      `meddler:"id,pk"`
	Value     string     `meddler:"value"`
	UserId    int64      `meddler:"user_id"`
	CreatedAt *time.Time `meddler:"created_at"`
	ExpiredAt *time.Time `meddler:"expired_at"`
}

func NewToken

func NewToken(u *User, ctx *golf.Context, expire int64) *Token

func (*Token) GetTokenByValue

func (t *Token) GetTokenByValue() error

func (*Token) IsValid

func (t *Token) IsValid() bool

func (*Token) Save

func (t *Token) Save() error

type User

type User struct {
	Id             int64      `meddler:"id,pk"`
	Name           string     `meddler:"name"`
	Slug           string     `meddler:"slug"`
	HashedPassword string     `meddler:"password"`
	Email          string     `meddler:"email"`
	Image          string     `meddler:"image"`    // NULL
	Cover          string     `meddler:"cover"`    // NULL
	Bio            string     `meddler:"bio"`      // NULL
	Website        string     `meddler:"website"`  // NULL
	Location       string     `meddler:"location"` // NULL
	Accessibility  string     `meddler:"accessibility"`
	Status         string     `meddler:"status"`
	Language       string     `meddler:"language"`
	Lastlogin      *time.Time `meddler:"last_login"`
	CreatedAt      *time.Time `meddler:"created_at"`
	CreatedBy      int        `meddler:"created_by"`
	UpdatedAt      *time.Time `meddler:"updated_at"`
	UpdatedBy      int        `meddler:"updated_by"`
	Role           int        `meddler:"-"` //1 = Administrator, 2 = Editor, 3 = Author, 4 = Owner
}

func NewUser

func NewUser(email, name string) *User

func (*User) Avatar

func (u *User) Avatar() string

func (*User) ChangePassword

func (u *User) ChangePassword(password string) error

func (*User) CheckPassword

func (u *User) CheckPassword(password string) bool

func (*User) Create

func (u *User) Create(password string) error

func (*User) GetUserByEmail

func (user *User) GetUserByEmail() error

func (*User) GetUserById

func (user *User) GetUserById() error

func (*User) GetUserByName

func (user *User) GetUserByName() error

func (*User) GetUserBySlug

func (user *User) GetUserBySlug() error

func (*User) Insert

func (u *User) Insert() error

func (*User) Save

func (u *User) Save() error

func (*User) Update

func (u *User) Update() error

func (User) UserEmailExist

func (u User) UserEmailExist() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL