61 lines
2.7 KiB
Plaintext
61 lines
2.7 KiB
Plaintext
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"`
|
||
// pending | skipped | completed;空=尚未寫入(視同 pending,舊帳可後端補 completed)
|
||
OnboardingStatus string `json:"onboarding_status,optional"`
|
||
OnboardingDoneAt int64 `json:"onboarding_done_at,optional"`
|
||
Identities []IdentityPublic `json:"identities,optional"`
|
||
JoinedAt int64 `json:"joined_at,optional"`
|
||
CreatedAt int64 `json:"created_at,optional"`
|
||
UpdatedAt int64 `json:"updated_at,optional"`
|
||
}
|