Documentation
¶
Index ¶
- func Action(f cli.ActionFunc) cli.ActionFunc
- func CreateCertificate(ca bool, subject pkix.Name, years int) ([]byte, []byte, error)
- func Home() string
- func IocAction(fn func(*cli.Context, *inject.Graph) error) cli.ActionFunc
- func IsProduction() bool
- func JSON(fn func(*gin.Context) (interface{}, error)) gin.HandlerFunc
- func OpenDatabase() (*gorm.DB, error)
- func OpenLogger() *logging.Logger
- func OpenRedis() *redis.Pool
- func Redirect(fn func(*gin.Context) (string, error)) gin.HandlerFunc
- func WritePemFile(file, _type string, buf []byte) error
- type Author
- type Dao
- func (p *Dao) AddOpenIDUser(pid, pty, email, name, home, logo string) (*User, error)
- func (p *Dao) Allow(role uint, user uint, years, months, days int) error
- func (p *Dao) Authority(user uint, rty string, rid uint) []string
- func (p *Dao) Can(user uint, name string, rty string, rid uint) bool
- func (p *Dao) Deny(role uint, user uint) error
- func (p *Dao) Get(k string, v interface{}) error
- func (p *Dao) GetUserByEmail(email string) (*User, error)
- func (p *Dao) GetUserByUID(uid string) (*User, error)
- func (p *Dao) Is(user uint, name string) bool
- func (p *Dao) Log(user uint, msg string)
- func (p *Dao) Role(name string, rty string, rid uint) (*Role, error)
- func (p *Dao) Set(k string, v interface{}, f bool) error
- func (p *Dao) SignIn(email, password string) (*User, error)
- func (p *Dao) SignUp(email, name, password string) (*User, error)
- func (p *Dao) UserClaims(u *User) jws.Claims
- type Engine
- type FmChangePassword
- type FmEmail
- type FmSignIn
- type FmSignUp
- type FmToken
- type Jwt
- type LeaveWord
- type Link
- type Log
- type Notice
- type Page
- type Permission
- type Role
- type Setting
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateCertificate ¶
CreateCertificate create certs
func WritePemFile ¶
WritePemFile wirte to a pem format file
Types ¶
type Dao ¶
type Dao struct { Db *gorm.DB `inject:""` TextEncryptor *web.TextEncryptor `inject:""` PasswordEncryptor *web.PasswordEncryptor `inject:""` Logger *logging.Logger `inject:""` }
Dao db helper
func (*Dao) AddOpenIDUser ¶
AddOpenIDUser add openid user
func (*Dao) GetUserByEmail ¶
GetUserByEmail get user by email
func (*Dao) GetUserByUID ¶
GetUserByUID get user by uid
type Engine ¶
type Engine struct { Cache cache.Store `inject:""` Db *gorm.DB `inject:""` Dao *Dao `inject:""` Jobber jobber.Jobber `inject:""` Logger *logging.Logger `inject:""` Jwt *Jwt `inject:""` PasswordEncryptor *web.PasswordEncryptor `inject:""` I18n *i18n.I18n `inject:""` }
Engine engine
type FmChangePassword ¶
type FmChangePassword struct { Token string `form:"token" binding:"required"` Password string `form:"password" binding:"required" validate:"min=6,max=255"` RePassword string `form:"re_password" binding:"required"` }
FmChangePassword sign-up form
type FmEmail ¶
type FmEmail struct {
Email string `form:"email" binding:"required" validate:"email,max=255"`
}
FmEmail email form
type FmSignIn ¶
type FmSignIn struct { Email string `form:"email" binding:"required" validate:"email,max=255"` Password string `form:"password" binding:"required"` }
FmSignIn sign-in form
type FmSignUp ¶
type FmSignUp struct { Name string `form:"name" binding:"required" validate:"min=2,max=255"` Email string `form:"email" binding:"required" validate:"email,max=255"` Password string `form:"password" binding:"required" validate:"min=6,max=255"` RePassword string `form:"re_password" binding:"required"` }
FmSignUp sign-up form
type FmToken ¶
type FmToken struct {
Token string `form:"token" binding:"required"`
}
FmToken email form
type Jwt ¶
type Jwt struct { Key []byte `inject:"jwt.key"` Method crypto.SigningMethod `inject:"jwt.method"` Logger *logging.Logger `inject:""` Dao *Dao `inject:""` }
Jwt jwt helper
func (*Jwt) CurrentUserHandler ¶
func (p *Jwt) CurrentUserHandler(must bool) gin.HandlerFunc
CurrentUserHandler inject current user
func (*Jwt) MustAdminHandler ¶
func (p *Jwt) MustAdminHandler() gin.HandlerFunc
MustAdminHandler check must have admin role
func (*Jwt) MustRolesHandler ¶
func (p *Jwt) MustRolesHandler(roles ...string) gin.HandlerFunc
MustRolesHandler check must have one roles at least
type LeaveWord ¶
type LeaveWord struct { ID uint `gorm:"primary_key" json:"id"` Content string `gorm:"not null;type:text" json:"content"` CreatedAt time.Time `gorm:"not null;default:current_timestamp" json:"created_at"` }
LeaveWord leave word
type Log ¶
type Log struct { ID uint `gorm:"primary_key" json:"id"` UserID uint `gorm:"not null" json:"-"` User User `json:"-"` Message string `gorm:"not null;type:VARCHAR(255)" json:"message"` CreatedAt time.Time `gorm:"not null;default:current_timestamp" json:"created_at"` }
Log model
type Notice ¶
type Notice struct { web.Model Lang string `gorm:"not null;type:varchar(8);index" json:"lang"` Content string `gorm:"not null;type:text" json:"content"` }
Notice notice
type Page ¶
type Page struct { Locale string Title string SubTitle string Keywords string Description string Copyright string Home string Author Author Links []Link }
Page page info
type Permission ¶
type Permission struct { web.Model User User UserID uint `gorm:"not null"` Role Role RoleID uint `gorm:"not null"` Begin time.Time `gorm:"not null;default:current_date;type:date"` End time.Time `gorm:"not null;default:'1000-1-1';type:date"` }
Permission permission model
type Role ¶
type Role struct { web.Model Name string `gorm:"not null;index;type:VARCHAR(255)"` ResourceType string `gorm:"not null;default:'-';index;type:VARCHAR(255)"` ResourceID uint `gorm:"not null;default:0"` }
Role role model
type Setting ¶
type Setting struct { web.Model Key string `gorm:"not null;unique;type:VARCHAR(255)"` Val []byte `gorm:"not null"` Encode bool `gorm:"not null"` }
Setting setting
type User ¶
type User struct { web.Model Email string `gorm:"not null;index;type:VARCHAR(255)" json:"email"` UID string `gorm:"not null;unique;type:char(36)" json:"uid"` Home string `gorm:"not null;type:VARCHAR(255)" json:"home"` Logo string `gorm:"not null;type:VARCHAR(255)" json:"logo"` Name string `gorm:"not null;type:VARCHAR(255)" json:"name"` Password string `gorm:"not null;default:'-';type:VARCHAR(500)" json:"-"` ProviderType string `gorm:"not null;default:'unknown';index;type:VARCHAR(255)" json:"provider_type"` ProviderID string `gorm:"not null;index;type:VARCHAR(255)" json:"provider_id"` LastSignIn *time.Time `json:"last_sign_in"` SignInCount uint `gorm:"not null;default:0" json:"sign_in_count"` ConfirmedAt *time.Time `json:"confirmed_at"` LockedAt *time.Time `json:"locked_at"` Permissions []Permission `json:"permissions"` Logs []Log `json:"logs"` }
User user model
func (*User) SetGravatarLogo ¶
func (p *User) SetGravatarLogo()
SetGravatarLogo set logo by gravatar
Click to show internal directories.
Click to hide internal directories.