51 lines
1.7 KiB
Go
51 lines
1.7 KiB
Go
package dto
|
||
|
||
import (
|
||
"strings"
|
||
|
||
"quyun/v2/app/requests"
|
||
"quyun/v2/database/models"
|
||
"quyun/v2/pkg/consts"
|
||
)
|
||
|
||
// AdminTenantUserJoinResponse 返回租户管理员添加成员后的结果。
|
||
type AdminTenantUserJoinResponse struct {
|
||
// TenantUser 租户成员关系记录。
|
||
TenantUser *models.TenantUser `json:"tenant_user,omitempty"`
|
||
}
|
||
|
||
// AdminTenantUserRoleUpdateForm 租户成员角色更新表单。
|
||
type AdminTenantUserRoleUpdateForm struct {
|
||
// Role 角色:member/tenant_admin。
|
||
Role string `json:"role,omitempty"`
|
||
}
|
||
|
||
// AdminTenantUserListFilter 租户管理员查询成员列表的过滤条件。
|
||
type AdminTenantUserListFilter struct {
|
||
// Pagination 分页参数(page/limit)。
|
||
requests.Pagination `json:",inline" query:",inline"`
|
||
// UserID 按用户ID过滤(可选)。
|
||
UserID *int64 `json:"user_id,omitempty" query:"user_id"`
|
||
// Role 按角色过滤(可选):member/tenant_admin。
|
||
Role *consts.TenantUserRole `json:"role,omitempty" query:"role"`
|
||
// Status 按成员状态过滤(可选):pending_verify/verified/banned。
|
||
Status *consts.UserStatus `json:"status,omitempty" query:"status"`
|
||
// Username 按用户名模糊查询(可选,支持包含匹配)。
|
||
Username *string `json:"username,omitempty" query:"username"`
|
||
}
|
||
|
||
// AdminTenantUserItem 为租户成员列表项(包含成员关系与用户基础信息)。
|
||
type AdminTenantUserItem struct {
|
||
// TenantUser 租户成员关系记录。
|
||
TenantUser *models.TenantUser `json:"tenant_user,omitempty"`
|
||
// User 用户基础信息(用于展示 username 等)。
|
||
User *models.User `json:"user,omitempty"`
|
||
}
|
||
|
||
func (f *AdminTenantUserListFilter) UsernameTrimmed() string {
|
||
if f == nil || f.Username == nil {
|
||
return ""
|
||
}
|
||
return strings.TrimSpace(*f.Username)
|
||
}
|