|
|
@@ -18,15 +18,18 @@ type Role struct { |
|
|
|
} |
|
|
|
|
|
|
|
type UserRole struct { |
|
|
|
ID int64 `xorm:"pk autoincr"` |
|
|
|
RoleType RoleType |
|
|
|
UserId int64 `xorm:"INDEX"` |
|
|
|
ID int64 `xorm:"pk autoincr"` |
|
|
|
UserId int64 `xorm:"INDEX UNIQUE(uq_user_role)"` |
|
|
|
RoleType RoleType `xorm:"UNIQUE(uq_user_role)"` |
|
|
|
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` |
|
|
|
} |
|
|
|
|
|
|
|
func NewUserRole(r UserRole) (int64, error) { |
|
|
|
return x.Insert(&r) |
|
|
|
} |
|
|
|
func DeleteUserRole(roleType RoleType, userId int64) (int64, error) { |
|
|
|
return x.Where("role_type = ? and user_id = ?", roleType, userId).Delete(&UserRole{}) |
|
|
|
} |
|
|
|
|
|
|
|
func GetUserRoleByUserAndRole(userId int64, roleType RoleType) (*UserRole, error) { |
|
|
|
r := &UserRole{} |
|
|
@@ -62,7 +65,7 @@ func (err ErrRoleNotExists) Error() string { |
|
|
|
return fmt.Sprintf("role is not exists") |
|
|
|
} |
|
|
|
|
|
|
|
type AddRoleReq struct { |
|
|
|
type OperateRoleReq struct { |
|
|
|
UserName string `json:"user_name" binding:"Required"` |
|
|
|
RoleType RoleType `json:"role_type" binding:"Required"` |
|
|
|
} |