tenant: add invites and join requests
This commit is contained in:
66
backend/app/http/tenant/dto/tenant_join_admin.go
Normal file
66
backend/app/http/tenant/dto/tenant_join_admin.go
Normal file
@@ -0,0 +1,66 @@
|
||||
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"`
|
||||
}
|
||||
Reference in New Issue
Block a user