forked from clerk/clerk-sdk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
user.go
87 lines (81 loc) · 4.45 KB
/
user.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package clerk
import "encoding/json"
type User struct {
APIResource
Object string `json:"object"`
ID string `json:"id"`
Username *string `json:"username"`
FirstName *string `json:"first_name"`
LastName *string `json:"last_name"`
ImageURL *string `json:"image_url,omitempty"`
HasImage bool `json:"has_image"`
PrimaryEmailAddressID *string `json:"primary_email_address_id"`
PrimaryPhoneNumberID *string `json:"primary_phone_number_id"`
PrimaryWeb3WalletID *string `json:"primary_web3_wallet_id"`
PasswordEnabled bool `json:"password_enabled"`
TwoFactorEnabled bool `json:"two_factor_enabled"`
TOTPEnabled bool `json:"totp_enabled"`
BackupCodeEnabled bool `json:"backup_code_enabled"`
EmailAddresses []*EmailAddress `json:"email_addresses"`
PhoneNumbers []*PhoneNumber `json:"phone_numbers"`
Web3Wallets []*Web3Wallet `json:"web3_wallets"`
ExternalAccounts []*ExternalAccount `json:"external_accounts"`
SAMLAccounts []*SAMLAccount `json:"saml_accounts"`
PasswordLastUpdatedAt *int64 `json:"password_last_updated_at,omitempty"`
PublicMetadata json.RawMessage `json:"public_metadata"`
PrivateMetadata json.RawMessage `json:"private_metadata,omitempty"`
UnsafeMetadata json.RawMessage `json:"unsafe_metadata,omitempty"`
ExternalID *string `json:"external_id"`
LastSignInAt *int64 `json:"last_sign_in_at"`
Banned bool `json:"banned"`
Locked bool `json:"locked"`
LockoutExpiresInSeconds *int64 `json:"lockout_expires_in_seconds"`
VerificationAttemptsRemaining *int64 `json:"verification_attempts_remaining"`
DeleteSelfEnabled bool `json:"delete_self_enabled"`
CreateOrganizationEnabled bool `json:"create_organization_enabled"`
CreateOrganizationsLimit *int `json:"create_organizations_limit,omitempty"`
LastActiveAt *int64 `json:"last_active_at"`
LegalAcceptedAt *int64 `json:"legal_accepted_at"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
}
type ExternalAccount struct {
Object string `json:"object"`
ID string `json:"id"`
Provider string `json:"provider"`
IdentificationID string `json:"identification_id"`
ProviderUserID string `json:"provider_user_id"`
ApprovedScopes string `json:"approved_scopes"`
EmailAddress string `json:"email_address"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
AvatarURL string `json:"avatar_url"`
ImageURL *string `json:"image_url,omitempty"`
Username *string `json:"username"`
PublicMetadata json.RawMessage `json:"public_metadata"`
Label *string `json:"label"`
Verification *Verification `json:"verification"`
}
type Web3Wallet struct {
Object string `json:"object"`
ID string `json:"id"`
Web3Wallet string `json:"web3_wallet"`
Verification *Verification `json:"verification"`
}
type SAMLAccount struct {
Object string `json:"object"`
ID string `json:"id"`
Provider string `json:"provider"`
Active bool `json:"active"`
EmailAddress string `json:"email_address"`
FirstName *string `json:"first_name"`
LastName *string `json:"last_name"`
ProviderUserID *string `json:"provider_user_id"`
PublicMetadata json.RawMessage `json:"public_metadata"`
Verification *Verification `json:"verification"`
}
type UserList struct {
APIResource
Users []*User `json:"data"`
TotalCount int64 `json:"total_count"`
}