67 lines
2.2 KiB
Go
67 lines
2.2 KiB
Go
package dto
|
||
|
||
import (
|
||
"strings"
|
||
"time"
|
||
|
||
"quyun/v2/app/requests"
|
||
"quyun/v2/pkg/consts"
|
||
)
|
||
|
||
// AdminTenantInviteCreateForm 租户管理员创建邀请码的请求参数。
|
||
type AdminTenantInviteCreateForm struct {
|
||
// Code 邀请码(可选):为空时由后端生成;建议只包含数字/字母,便于人工输入。
|
||
Code string `json:"code"`
|
||
|
||
// MaxUses 最大可使用次数(可选):0 表示不限次数;大于 0 时用尽后自动失效。
|
||
MaxUses *int `json:"max_uses"`
|
||
|
||
// ExpiresAt 过期时间(可选):为空表示不过期;到期后不可再使用。
|
||
ExpiresAt *time.Time `json:"expires_at"`
|
||
|
||
// Remark 备注(可选):用于审计记录生成目的/投放渠道等。
|
||
Remark string `json:"remark"`
|
||
}
|
||
|
||
// AdminTenantInviteDisableForm 租户管理员禁用邀请码的请求参数。
|
||
type AdminTenantInviteDisableForm struct {
|
||
// Reason 禁用原因(可选):用于审计与追溯。
|
||
Reason string `json:"reason"`
|
||
}
|
||
|
||
// AdminTenantInviteListFilter 租户管理员分页查询邀请码列表的过滤条件。
|
||
type AdminTenantInviteListFilter struct {
|
||
requests.Pagination
|
||
|
||
// Status 按状态过滤(可选):active/disabled/expired。
|
||
Status *consts.TenantInviteStatus `query:"status" json:"status"`
|
||
|
||
// Code 按邀请码模糊过滤(可选):支持部分匹配(like)。
|
||
Code *string `query:"code" json:"code"`
|
||
}
|
||
|
||
// CodeTrimmed 对 code 进行空白与大小写处理,便于统一查询。
|
||
func (f *AdminTenantInviteListFilter) CodeTrimmed() string {
|
||
if f == nil || f.Code == nil {
|
||
return ""
|
||
}
|
||
return strings.ToLower(strings.TrimSpace(*f.Code))
|
||
}
|
||
|
||
// AdminTenantJoinRequestListFilter 租户管理员分页查询加入申请的过滤条件。
|
||
type AdminTenantJoinRequestListFilter struct {
|
||
requests.Pagination
|
||
|
||
// UserID 按申请人用户ID过滤(可选)。
|
||
UserID *int64 `query:"user_id" json:"user_id"`
|
||
|
||
// Status 按申请状态过滤(可选):pending/approved/rejected。
|
||
Status *consts.TenantJoinRequestStatus `query:"status" json:"status"`
|
||
}
|
||
|
||
// AdminTenantJoinRequestDecideForm 租户管理员通过/拒绝加入申请的请求参数。
|
||
type AdminTenantJoinRequestDecideForm struct {
|
||
// Reason 审核说明(可选):用于审计记录通过/拒绝原因。
|
||
Reason string `json:"reason"`
|
||
}
|