-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathget_meta_data.go
More file actions
47 lines (42 loc) · 2.6 KB
/
get_meta_data.go
File metadata and controls
47 lines (42 loc) · 2.6 KB
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
package authorizer
import (
"encoding/json"
)
// MetaDataResponse defines attributes for MetaData response query
type MetaDataResponse struct {
Version string `json:"version"`
ClientID string `json:"client_id"`
IsGoogleLoginEnabled bool `json:"is_google_login_enabled"`
IsFacebookLoginEnabled bool `json:"is_facebook_login_enabled"`
IsGithubLoginEnabled bool `json:"is_github_login_enabled"`
IsLinkedinLoginEnabled bool `json:"is_linkedin_login_enabled"`
IsAppleLoginEnabled bool `json:"is_apple_login_enabled"`
IsTwitterLoginEnabled bool `json:"is_twitter_login_enabled"`
IsDiscordLoginEnabled bool `json:"is_discord_login_enabled"`
IsMicrosoftLoginEnabled bool `json:"is_microsoft_login_enabled"`
IsTwitchLoginEnabled bool `json:"is_twitch_login_enabled"`
IsRobloxLoginEnabled bool `json:"is_roblox_login_enabled"`
IsEmailVerificationEnabled bool `json:"is_email_verification_enabled"`
IsBasicAuthenticationEnabled bool `json:"is_basic_authentication_enabled"`
IsMagicLinkLoginEnabled bool `json:"is_magic_link_login_enabled"`
IsSignUpEnabled bool `json:"is_sign_up_enabled"`
IsStrongPasswordEnabled bool `json:"is_strong_password_enabled"`
IsMultiFactorAuthEnabled bool `json:"is_multi_factor_auth_enabled"`
IsMobileBasicAuthenticationEnabled bool `json:"is_mobile_basic_authentication_enabled"`
IsPhoneVerificationEnabled bool `json:"is_phone_verification_enabled"`
}
// GetMetaData is method attached to AuthorizerClient.
// It performs meta query on authorizer instance.
// It returns MetaResponse reference or error.
func (c *AuthorizerClient) GetMetaData() (*MetaDataResponse, error) {
bytesData, err := c.ExecuteGraphQL(&GraphQLRequest{
Query: `query { meta { version client_id is_google_login_enabled is_facebook_login_enabled is_github_login_enabled is_linkedin_login_enabled is_apple_login_enabled is_twitter_login_enabled is_discord_login_enabled is_microsoft_login_enabled is_twitch_login_enabled is_roblox_login_enabled is_email_verification_enabled is_basic_authentication_enabled is_magic_link_login_enabled is_sign_up_enabled is_strong_password_enabled is_multi_factor_auth_enabled is_mobile_basic_authentication_enabled is_phone_verification_enabled } }`,
Variables: nil,
}, nil)
if err != nil {
return nil, err
}
var res map[string]*MetaDataResponse
json.Unmarshal(bytesData, &res)
return res["meta"], nil
}