github.com/Files-com/files-sdk-go/v2@v2.1.2/ssostrategy.go (about) 1 package files_sdk 2 3 import ( 4 "encoding/json" 5 6 lib "github.com/Files-com/files-sdk-go/v2/lib" 7 ) 8 9 type SsoStrategy struct { 10 Protocol string `json:"protocol,omitempty" path:"protocol,omitempty" url:"protocol,omitempty"` 11 Provider string `json:"provider,omitempty" path:"provider,omitempty" url:"provider,omitempty"` 12 Label string `json:"label,omitempty" path:"label,omitempty" url:"label,omitempty"` 13 LogoUrl string `json:"logo_url,omitempty" path:"logo_url,omitempty" url:"logo_url,omitempty"` 14 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 15 SamlProviderCertFingerprint string `json:"saml_provider_cert_fingerprint,omitempty" path:"saml_provider_cert_fingerprint,omitempty" url:"saml_provider_cert_fingerprint,omitempty"` 16 SamlProviderIssuerUrl string `json:"saml_provider_issuer_url,omitempty" path:"saml_provider_issuer_url,omitempty" url:"saml_provider_issuer_url,omitempty"` 17 SamlProviderMetadataContent string `json:"saml_provider_metadata_content,omitempty" path:"saml_provider_metadata_content,omitempty" url:"saml_provider_metadata_content,omitempty"` 18 SamlProviderMetadataUrl string `json:"saml_provider_metadata_url,omitempty" path:"saml_provider_metadata_url,omitempty" url:"saml_provider_metadata_url,omitempty"` 19 SamlProviderSloTargetUrl string `json:"saml_provider_slo_target_url,omitempty" path:"saml_provider_slo_target_url,omitempty" url:"saml_provider_slo_target_url,omitempty"` 20 SamlProviderSsoTargetUrl string `json:"saml_provider_sso_target_url,omitempty" path:"saml_provider_sso_target_url,omitempty" url:"saml_provider_sso_target_url,omitempty"` 21 ScimAuthenticationMethod string `json:"scim_authentication_method,omitempty" path:"scim_authentication_method,omitempty" url:"scim_authentication_method,omitempty"` 22 ScimUsername string `json:"scim_username,omitempty" path:"scim_username,omitempty" url:"scim_username,omitempty"` 23 ScimOauthAccessToken string `json:"scim_oauth_access_token,omitempty" path:"scim_oauth_access_token,omitempty" url:"scim_oauth_access_token,omitempty"` 24 ScimOauthAccessTokenExpiresAt string `json:"scim_oauth_access_token_expires_at,omitempty" path:"scim_oauth_access_token_expires_at,omitempty" url:"scim_oauth_access_token_expires_at,omitempty"` 25 Subdomain string `json:"subdomain,omitempty" path:"subdomain,omitempty" url:"subdomain,omitempty"` 26 ProvisionUsers *bool `json:"provision_users,omitempty" path:"provision_users,omitempty" url:"provision_users,omitempty"` 27 ProvisionGroups *bool `json:"provision_groups,omitempty" path:"provision_groups,omitempty" url:"provision_groups,omitempty"` 28 DeprovisionUsers *bool `json:"deprovision_users,omitempty" path:"deprovision_users,omitempty" url:"deprovision_users,omitempty"` 29 DeprovisionGroups *bool `json:"deprovision_groups,omitempty" path:"deprovision_groups,omitempty" url:"deprovision_groups,omitempty"` 30 DeprovisionBehavior string `json:"deprovision_behavior,omitempty" path:"deprovision_behavior,omitempty" url:"deprovision_behavior,omitempty"` 31 ProvisionGroupDefault string `json:"provision_group_default,omitempty" path:"provision_group_default,omitempty" url:"provision_group_default,omitempty"` 32 ProvisionGroupExclusion string `json:"provision_group_exclusion,omitempty" path:"provision_group_exclusion,omitempty" url:"provision_group_exclusion,omitempty"` 33 ProvisionGroupInclusion string `json:"provision_group_inclusion,omitempty" path:"provision_group_inclusion,omitempty" url:"provision_group_inclusion,omitempty"` 34 ProvisionGroupRequired string `json:"provision_group_required,omitempty" path:"provision_group_required,omitempty" url:"provision_group_required,omitempty"` 35 ProvisionEmailSignupGroups string `json:"provision_email_signup_groups,omitempty" path:"provision_email_signup_groups,omitempty" url:"provision_email_signup_groups,omitempty"` 36 ProvisionSiteAdminGroups string `json:"provision_site_admin_groups,omitempty" path:"provision_site_admin_groups,omitempty" url:"provision_site_admin_groups,omitempty"` 37 ProvisionGroupAdminGroups string `json:"provision_group_admin_groups,omitempty" path:"provision_group_admin_groups,omitempty" url:"provision_group_admin_groups,omitempty"` 38 ProvisionAttachmentsPermission *bool `json:"provision_attachments_permission,omitempty" path:"provision_attachments_permission,omitempty" url:"provision_attachments_permission,omitempty"` 39 ProvisionDavPermission *bool `json:"provision_dav_permission,omitempty" path:"provision_dav_permission,omitempty" url:"provision_dav_permission,omitempty"` 40 ProvisionFtpPermission *bool `json:"provision_ftp_permission,omitempty" path:"provision_ftp_permission,omitempty" url:"provision_ftp_permission,omitempty"` 41 ProvisionSftpPermission *bool `json:"provision_sftp_permission,omitempty" path:"provision_sftp_permission,omitempty" url:"provision_sftp_permission,omitempty"` 42 ProvisionTimeZone string `json:"provision_time_zone,omitempty" path:"provision_time_zone,omitempty" url:"provision_time_zone,omitempty"` 43 ProvisionCompany string `json:"provision_company,omitempty" path:"provision_company,omitempty" url:"provision_company,omitempty"` 44 LdapBaseDn string `json:"ldap_base_dn,omitempty" path:"ldap_base_dn,omitempty" url:"ldap_base_dn,omitempty"` 45 LdapDomain string `json:"ldap_domain,omitempty" path:"ldap_domain,omitempty" url:"ldap_domain,omitempty"` 46 Enabled *bool `json:"enabled,omitempty" path:"enabled,omitempty" url:"enabled,omitempty"` 47 LdapHost string `json:"ldap_host,omitempty" path:"ldap_host,omitempty" url:"ldap_host,omitempty"` 48 LdapHost2 string `json:"ldap_host_2,omitempty" path:"ldap_host_2,omitempty" url:"ldap_host_2,omitempty"` 49 LdapHost3 string `json:"ldap_host_3,omitempty" path:"ldap_host_3,omitempty" url:"ldap_host_3,omitempty"` 50 LdapPort int64 `json:"ldap_port,omitempty" path:"ldap_port,omitempty" url:"ldap_port,omitempty"` 51 LdapSecure *bool `json:"ldap_secure,omitempty" path:"ldap_secure,omitempty" url:"ldap_secure,omitempty"` 52 LdapUsername string `json:"ldap_username,omitempty" path:"ldap_username,omitempty" url:"ldap_username,omitempty"` 53 LdapUsernameField string `json:"ldap_username_field,omitempty" path:"ldap_username_field,omitempty" url:"ldap_username_field,omitempty"` 54 } 55 56 func (s SsoStrategy) Identifier() interface{} { 57 return s.Id 58 } 59 60 type SsoStrategyCollection []SsoStrategy 61 62 type SsoStrategyListParams struct { 63 ListParams 64 } 65 66 type SsoStrategyFindParams struct { 67 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 68 } 69 70 // Synchronize provisioning data with the SSO remote server 71 type SsoStrategySyncParams struct { 72 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 73 } 74 75 func (s *SsoStrategy) UnmarshalJSON(data []byte) error { 76 type ssoStrategy SsoStrategy 77 var v ssoStrategy 78 if err := json.Unmarshal(data, &v); err != nil { 79 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 80 } 81 82 *s = SsoStrategy(v) 83 return nil 84 } 85 86 func (s *SsoStrategyCollection) UnmarshalJSON(data []byte) error { 87 type ssoStrategys SsoStrategyCollection 88 var v ssoStrategys 89 if err := json.Unmarshal(data, &v); err != nil { 90 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 91 } 92 93 *s = SsoStrategyCollection(v) 94 return nil 95 } 96 97 func (s *SsoStrategyCollection) ToSlice() *[]interface{} { 98 ret := make([]interface{}, len(*s)) 99 for i, v := range *s { 100 ret[i] = v 101 } 102 103 return &ret 104 }