-
Notifications
You must be signed in to change notification settings - Fork 59
/
user.go
44 lines (38 loc) · 1.41 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
package account
// User wraps an NS1 /account/users resource
type User struct {
// Read-only fields
LastAccess float64 `json:"last_access"`
Created float64 `json:"created"`
Name string `json:"name"`
Username string `json:"username"`
Email string `json:"email"`
TeamIDs []string `json:"teams"`
Notify NotificationSettings `json:"notify"`
Permissions PermissionsMap `json:"permissions"`
IPWhitelist []string `json:"ip_whitelist"`
IPWhitelistStrict bool `json:"ip_whitelist_strict"`
TwoFactorAuthEnabled bool `json:"2fa_enabled"`
InviteToken string `json:"invite_token,omitempty"`
SharedAuth `json:"shared_auth"`
}
// NotificationSettings wraps a User's "notify" attribute
type NotificationSettings struct {
Billing bool `json:"billing"`
}
// SharedAuth wraps the shared auth object on a User.
type SharedAuth struct {
SAML `json:"saml"`
}
// SAML wraps the SAML object in SharedAuth.
type SAML struct {
SSO bool `json:"sso"`
IDP `json:"idp"`
}
// IDP wraps the IDP object in SAML.
type IDP struct {
UseMetadataURL *bool `json:"use_metadata_url"`
MetadataURL *string `json:"metadata_url"`
MetadataFile *string `json:"metadata_file"`
Provider *string `json:"provider"`
}