thread-master/apps/backend/generate/api/common.api

58 lines
2.4 KiB
Plaintext
Raw Normal View History

2026-07-10 12:54:45 +00:00
syntax = "v1"
type Empty {}
type OkData {
Ok bool `json:"ok"`
Message string `json:"message,optional"`
}
type Pagination {
Page int `json:"page"`
PageSize int `json:"pageSize"`
Total int64 `json:"total"`
TotalPages int `json:"totalPages"`
}
// IdentityPublic — login channel bound to member
type IdentityPublic {
LoginId string `json:"login_id"`
Platform string `json:"platform"`
AccountType string `json:"account_type"`
CreatedAt int64 `json:"created_at,optional"`
}
// MemberPublic — full profile (stand-alone user_info + Harbor Desk fields)
type MemberPublic {
TenantId string `json:"tenant_id"`
Uid int64 `json:"uid"`
Email string `json:"email"`
Phone string `json:"phone,optional"`
DisplayName string `json:"display_name"`
Nickname string `json:"nickname,optional"`
FullName string `json:"full_name,optional"`
Roles []string `json:"roles"`
Status string `json:"status"`
EmailVerified bool `json:"email_verified"`
EmailVerifiedAt int64 `json:"email_verified_at,optional"`
PhoneVerified bool `json:"phone_verified,optional"`
PhoneVerifiedAt int64 `json:"phone_verified_at,optional"`
InviteCode string `json:"invite_code,optional"`
ParentUid int64 `json:"parent_uid,optional"`
Bio string `json:"bio,optional"`
Timezone string `json:"timezone,optional"`
AvatarUrl string `json:"avatar_url,optional"`
NotifyEmail bool `json:"notify_email,optional"`
GenderCode int `json:"gender_code,optional"`
Birthdate int64 `json:"birthdate,optional"`
National string `json:"national,optional"`
Address string `json:"address,optional"`
PostCode string `json:"post_code,optional"`
PreferredLanguage string `json:"preferred_language,optional"`
Currency string `json:"currency,optional"`
Identities []IdentityPublic `json:"identities,optional"`
JoinedAt int64 `json:"joined_at,optional"`
CreatedAt int64 `json:"created_at,optional"`
UpdatedAt int64 `json:"updated_at,optional"`
}