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.