Files
quyun-v2/backend/app/http/v1/dto/tenant_member.go

159 lines
5.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package dto
import (
"quyun/v2/app/requests"
"quyun/v2/pkg/consts"
)
type TenantJoinApplyForm struct {
// Reason 申请加入原因(可选,空值会使用默认文案)。
Reason string `json:"reason"`
}
type TenantJoinReviewForm struct {
// Action 审核动作approve/reject
Action string `json:"action"`
// Reason 审核说明(可选,用于展示驳回原因或备注)。
Reason string `json:"reason"`
}
type TenantInviteCreateForm struct {
// MaxUses 最大可使用次数(<=0 默认 1
MaxUses int32 `json:"max_uses"`
// ExpiresAt 过期时间RFC3339可选空值使用默认过期时间
ExpiresAt *string `json:"expires_at"`
// Remark 备注说明(可选)。
Remark string `json:"remark"`
}
type TenantInviteAcceptForm struct {
// Code 邀请码(必填)。
Code string `json:"code"`
}
type TenantInviteItem struct {
// ID 邀请记录ID。
ID int64 `json:"id"`
// Code 邀请码。
Code string `json:"code"`
// Status 邀请状态active/disabled/expired
Status string `json:"status"`
// MaxUses 最大可使用次数。
MaxUses int32 `json:"max_uses"`
// UsedCount 已使用次数。
UsedCount int32 `json:"used_count"`
// ExpiresAt 过期时间RFC3339空字符串表示不限制
ExpiresAt string `json:"expires_at"`
// CreatedAt 创建时间RFC3339
CreatedAt string `json:"created_at"`
// Remark 备注说明。
Remark string `json:"remark"`
}
type TenantMemberListFilter struct {
// Pagination 分页参数page/limit
requests.Pagination
// Keyword 关键词搜索(匹配用户名/昵称/手机号)。
Keyword *string `query:"keyword"`
// Role 成员角色筛选member/tenant_admin
Role *consts.TenantUserRole `query:"role"`
// Status 成员状态筛选active/verified/banned 等)。
Status *consts.UserStatus `query:"status"`
}
type TenantMemberUserLite struct {
// ID 用户ID。
ID int64 `json:"id"`
// Username 用户名。
Username string `json:"username"`
// Phone 手机号。
Phone string `json:"phone"`
// Nickname 昵称。
Nickname string `json:"nickname"`
// Avatar 头像URL。
Avatar string `json:"avatar"`
}
type TenantMemberItem struct {
// ID 成员关系记录ID。
ID int64 `json:"id"`
// TenantID 租户ID。
TenantID int64 `json:"tenant_id"`
// User 成员用户信息。
User *TenantMemberUserLite `json:"user"`
// Role 成员角色列表。
Role []consts.TenantUserRole `json:"role"`
// RoleDescription 角色描述列表。
RoleDescription []string `json:"role_description"`
// Status 成员状态。
Status consts.UserStatus `json:"status"`
// StatusDescription 成员状态描述。
StatusDescription string `json:"status_description"`
// CreatedAt 加入时间RFC3339
CreatedAt string `json:"created_at"`
// UpdatedAt 更新时间RFC3339
UpdatedAt string `json:"updated_at"`
}
type TenantInviteListFilter struct {
// Pagination 分页参数page/limit
requests.Pagination
// Status 邀请状态筛选active/disabled/expired
Status *consts.TenantInviteStatus `query:"status"`
}
type TenantInviteListItem struct {
// ID 邀请记录ID。
ID int64 `json:"id"`
// Code 邀请码。
Code string `json:"code"`
// Status 邀请状态active/disabled/expired
Status string `json:"status"`
// StatusDescription 状态描述。
StatusDescription string `json:"status_description"`
// MaxUses 最大可使用次数。
MaxUses int32 `json:"max_uses"`
// UsedCount 已使用次数。
UsedCount int32 `json:"used_count"`
// ExpiresAt 过期时间RFC3339空字符串表示不限制
ExpiresAt string `json:"expires_at"`
// CreatedAt 创建时间RFC3339
CreatedAt string `json:"created_at"`
// Remark 备注说明。
Remark string `json:"remark"`
// Creator 创建者信息(可选)。
Creator *TenantMemberUserLite `json:"creator"`
}
type TenantJoinRequestListFilter struct {
// Pagination 分页参数page/limit
requests.Pagination
// Status 申请状态筛选pending/approved/rejected
Status *consts.TenantJoinRequestStatus `query:"status"`
// Keyword 关键词搜索(匹配用户名/昵称/手机号)。
Keyword *string `query:"keyword"`
}
type TenantJoinRequestItem struct {
// ID 申请记录ID。
ID int64 `json:"id"`
// User 申请用户信息。
User *TenantMemberUserLite `json:"user"`
// Status 申请状态。
Status string `json:"status"`
// StatusDescription 状态描述。
StatusDescription string `json:"status_description"`
// Reason 申请说明。
Reason string `json:"reason"`
// DecidedAt 审核时间RFC3339
DecidedAt string `json:"decided_at"`
// DecidedOperatorUserID 审核操作者ID。
DecidedOperatorUserID int64 `json:"decided_operator_user_id"`
// DecidedReason 审核备注/原因。
DecidedReason string `json:"decided_reason"`
// CreatedAt 申请时间RFC3339
CreatedAt string `json:"created_at"`
// UpdatedAt 更新时间RFC3339
UpdatedAt string `json:"updated_at"`
}