user

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: May 28, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SuperManager = 1
	Manager      = 2
	Developer    = 3
)

Variables

This section is empty.

Functions

func ChangePassword

func ChangePassword(c *gin.Context)

ChangePassword 修改密码

func CreateUser

func CreateUser(c *gin.Context)

CreateUser

func CreateUserProject

func CreateUserProject(c *gin.Context)

CreateUserProject 创建用户项目关系

func DeleteUser

func DeleteUser(c *gin.Context)

DeleteUser

func DeleteUserProject

func DeleteUserProject(c *gin.Context)

DeleteUserProject 删除用户项目关系

func ForgotPassword

func ForgotPassword(c *gin.Context)

ForgotPassword 忘记密码,发送带链接邮件

func GetUserInfo

func GetUserInfo(c *gin.Context)

GetUserInfo

func Init

func Init(c *gin.Context)

Init 初始化用户界面

func List

func List(c *gin.Context)

List 用户列表

func RestPassword

func RestPassword(c *gin.Context)

RestPassword 重置密码

func UpdateUser

func UpdateUser(c *gin.Context)

UpdateUser post json

func UserProjectList

func UserProjectList(c *gin.Context)

UserProjectList 用户项目关系列表

Types

type User

type User struct {
	ID        int       `json:"id" gorm:"AUTO_INCREMENT;primary_key"`
	UserName  string    `json:"username" gorm:"type:varchar(10);unique_index"`
	Email     string    `json:"email"`
	Password  string    `json:"password"`
	Status    int       `json:"status"`
	RoleNum   int       `` /* 143-byte string literal not displayed */
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

func (User) TableName

func (User) TableName() string

设置User的表名为`user`

type UserLoginInfo

type UserLoginInfo struct {
	ID          int    `json:"id"`
	UserName    string `json:"username"`
	Password    string `json:"password"`
	RoleNum     int    `json:"roleNum"` // 1超级管理员(最高权限),2管理员(管理空间,一个空间有多个项目),3发布人员
	Permissions string `json:"permissions"`
}

type UserProject

type UserProject struct {
	ID         int `json:"id" gorm:"AUTO_INCREMENT;primary_key"`
	UserID     int `json:"userID"`
	ProjectID  int `json:"projectID"`
	CreateUser int `json:"createUser"`
}

func (UserProject) TableName

func (UserProject) TableName() string

设置UserProject的表名为`user_project`

type UserProjectVO

type UserProjectVO struct {
	ID         int    `json:"id"`
	Name       string `json:"name"`       //项目名
	Namespace  string `json:"namespace"`  //空间
	Username   string `json:"username"`   //关联用户
	CreateUser string `json:"createUser"` //创建者
}

type UserService

type UserService interface {
	GetUserInfo(userObj User) (user User, err error)
	//获取登录用户信息,包含权限信息
	GetLoginUserInfo(userObj User) (user UserLoginInfo, err error)
	GetUserList(offset, limit int, userObj User) (user []User, count int, err error)
	GetUserProjects(offset, limit int, userObj User) (userProjects []UserProjectVO, count int, err error)
	CreateUser(user *User) (err error)
	CreateUserProject(userProject *UserProject) (err error)
	UpdateUser(userID int, user *User) (err error)
	DeleteUser(userID int) (err error)
	DeleteUserProject(upID int) (err error)
	//获取项目关联用户
	GetProjectUsersEmail(projectName string) (emails []string, err error)
}

*

面向接口开发:
面向接口开发的好处是要对下面的函数进行测试时,不需要依赖一个全局的mysql连接,只需要调用NewService传一个mysql连接参数即可测试

func NewService

func NewService(mysql *gorm.DB) UserService

NewService 初始化结构体

Jump to

Keyboard shortcuts

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