ldap-1-backend/model/request/user_req.go

144 lines
6.3 KiB
Go

package request
// UserAddReq 创建资源结构体
type UserAddReq struct {
Username string `json:"username" validate:"required,min=2,max=50"`
Password string `json:"password"`
Nickname string `json:"nickname" validate:"required,min=0,max=50"`
GivenName string `json:"givenName" validate:"min=0,max=50"`
Mail string `json:"mail" validate:"required,min=0,max=100"`
JobNumber string `json:"jobNumber" validate:"required,min=0,max=20"`
PostalAddress string `json:"postalAddress" validate:"min=0,max=255"`
Departments string `json:"departments" validate:"min=0,max=512"`
Position string `json:"position" validate:"min=0,max=128"`
Mobile string `json:"mobile" validate:"required,checkMobile"`
Avatar string `json:"avatar"`
Introduction string `json:"introduction" validate:"min=0,max=255"`
Status uint `json:"status" validate:"oneof=1 2"`
DepartmentId []uint `json:"departmentId" validate:"required"`
Source string `json:"source" validate:"min=0,max=50"`
RoleIds []uint `json:"roleIds" validate:"required"`
}
// DingUserAddReq 钉钉用户创建资源结构体
type DingUserAddReq struct {
Username string `json:"username" validate:"required,min=2,max=50"`
Password string `json:"password"`
Nickname string `json:"nickname" validate:"required,min=0,max=50"`
GivenName string `json:"givenName" validate:"min=0,max=50"`
Mail string `json:"mail" validate:"required,min=0,max=100"`
JobNumber string `json:"jobNumber" validate:"required,min=0,max=20"`
PostalAddress string `json:"postalAddress" validate:"min=0,max=255"`
Departments string `json:"departments" validate:"min=0,max=512"`
Position string `json:"position" validate:"min=0,max=128"`
Mobile string `json:"mobile" validate:"required,checkMobile"`
Avatar string `json:"avatar"`
Introduction string `json:"introduction" validate:"min=0,max=255"`
Status uint `json:"status" validate:"oneof=1 2"`
DepartmentId []uint `json:"departmentId" validate:"required"`
Source string `json:"source" validate:"min=0,max=50"`
RoleIds []uint `json:"roleIds" validate:"required"`
SourceUserId string `json:"sourceUserId"` // 第三方用户id
SourceUnionId string `json:"sourceUnionId"` // 第三方唯一unionId
}
// WeComUserAddReq 企业微信用户创建资源结构体
type WeComUserAddReq struct {
Username string `json:"username" validate:"required,min=2,max=50"`
Password string `json:"password"`
Nickname string `json:"nickname" validate:"required,min=0,max=50"`
GivenName string `json:"givenName" validate:"min=0,max=50"`
Mail string `json:"mail" validate:"required,min=0,max=100"`
JobNumber string `json:"jobNumber" validate:"required,min=0,max=20"`
PostalAddress string `json:"postalAddress" validate:"min=0,max=255"`
Departments string `json:"departments" validate:"min=0,max=512"`
Position string `json:"position" validate:"min=0,max=128"`
Mobile string `json:"mobile" validate:"required,checkMobile"`
Avatar string `json:"avatar"`
Introduction string `json:"introduction" validate:"min=0,max=255"`
Status uint `json:"status" validate:"oneof=1 2"`
DepartmentId []uint `json:"departmentId" validate:"required"`
Source string `json:"source" validate:"min=0,max=50"`
RoleIds []uint `json:"roleIds" validate:"required"`
SourceUserId string `json:"sourceUserId"` // 第三方用户id
SourceUnionId string `json:"sourceUnionId"` // 第三方唯一unionId
}
// UserUpdateReq 更新资源结构体
type UserUpdateReq struct {
ID uint `json:"id" validate:"required"`
Username string `json:"username" validate:"required,min=2,max=50"`
Nickname string `json:"nickname" validate:"min=0,max=20"`
GivenName string `json:"givenName" validate:"min=0,max=50"`
Mail string `json:"mail" validate:"min=0,max=100"`
JobNumber string `json:"jobNumber" validate:"min=0,max=20"`
PostalAddress string `json:"postalAddress" validate:"min=0,max=255"`
Departments string `json:"departments" validate:"min=0,max=512"`
Position string `json:"position" validate:"min=0,max=128"`
Mobile string `json:"mobile" validate:"checkMobile"`
Avatar string `json:"avatar"`
Introduction string `json:"introduction" validate:"min=0,max=255"`
DepartmentId []uint `json:"departmentId" validate:"required"`
Source string `json:"source" validate:"min=0,max=50"`
RoleIds []uint `json:"roleIds" validate:"required"`
}
// UserDeleteReq 批量删除资源结构体
type UserDeleteReq struct {
UserIds []uint `json:"userIds" validate:"required"`
}
// UserChangePwdReq 修改密码结构体
type UserChangePwdReq struct {
OldPassword string `json:"oldPassword" validate:"required"`
NewPassword string `json:"newPassword" validate:"required"`
}
// UserChangeUserStatusReq 修改用户状态结构体
type UserChangeUserStatusReq struct {
ID uint `json:"id" validate:"required"`
Status uint `json:"status" validate:"oneof=1 2"`
}
// UserGetUserInfoReq 获取用户信息结构体
type UserGetUserInfoReq struct {
}
// SyncDingUserReq 同步钉钉用户信息
type SyncDingUserReq struct {
}
// SyncWeComUserReq 同步企业微信用户信息
type SyncWeComUserReq struct {
}
// SyncFeiShuUserReq 同步飞书用户信息
type SyncFeiShuUserReq struct {
}
// SyncOpenLdapUserReq 同步ldap用户信息
type SyncOpenLdapUserReq struct {
}
type SyncSqlUserReq struct {
UserIds []uint `json:"userIds" validate:"required"`
}
// UserListReq 获取用户列表结构体
type UserListReq struct {
Username string `json:"username" form:"username"`
Mobile string `json:"mobile" form:"mobile" `
Nickname string `json:"nickname" form:"nickname"`
GivenName string `json:"givenName" form:"givenName"`
DepartmentId []uint `json:"departmentId" form:"departmentId"`
Status uint `json:"status" form:"status" `
SyncState uint `json:"syncState" form:"syncState" `
PageNum int `json:"pageNum" form:"pageNum"`
PageSize int `json:"pageSize" form:"pageSize"`
}
// RegisterAndLoginReq 用户登录结构体
type RegisterAndLoginReq struct {
Username string `form:"username" json:"username" binding:"required"`
Password string `form:"password" json:"password" binding:"required"`
}