@@ -1665,6 +1665,64 @@ def update_req(self, xml_request: ET.Element, oidc_item: SiteOIDCConfiguration)
16651665 return ET .tostring (xml_request )
16661666
16671667
1668+ class ExtensionsRequest :
1669+ @_tsrequest_wrapped
1670+ def update_server_extensions (self , xml_request : ET .Element , extensions_server : "ExtensionsServer" ) -> None :
1671+ extensions_element = ET .SubElement (xml_request , "extensionsServerSettings" )
1672+ if not isinstance (extensions_server .enabled , bool ):
1673+ raise ValueError (f"Extensions Server missing enabled: { extensions_server } " )
1674+ enabled_element = ET .SubElement (extensions_element , "extensionsGloballyEnabled" )
1675+ enabled_element .text = str (extensions_server .enabled ).lower ()
1676+
1677+ if extensions_server .block_list is None :
1678+ return
1679+ for blocked in extensions_server .block_list :
1680+ blocked_element = ET .SubElement (extensions_element , "blockList" )
1681+ blocked_element .text = blocked
1682+ return
1683+
1684+ @_tsrequest_wrapped
1685+ def update_site_extensions (self , xml_request : ET .Element , extensions_site_settings : ExtensionsSiteSettings ) -> None :
1686+ ext_element = ET .SubElement (xml_request , "extensionsSiteSettings" )
1687+ if not isinstance (extensions_site_settings .enabled , bool ):
1688+ raise ValueError (f"Extensions Site Settings missing enabled: { extensions_site_settings } " )
1689+ enabled_element = ET .SubElement (ext_element , "extensionsEnabled" )
1690+ enabled_element .text = str (extensions_site_settings .enabled ).lower ()
1691+ if not isinstance (extensions_site_settings .use_default_setting , bool ):
1692+ raise ValueError (
1693+ f"Extensions Site Settings missing use_default_setting: { extensions_site_settings .use_default_setting } "
1694+ )
1695+ default_element = ET .SubElement (ext_element , "useDefaultSetting" )
1696+ default_element .text = str (extensions_site_settings .use_default_setting ).lower ()
1697+ if extensions_site_settings .allow_trusted is not None :
1698+ allow_trusted_element = ET .SubElement (ext_element , "allowTrusted" )
1699+ allow_trusted_element .text = str (extensions_site_settings .allow_trusted ).lower ()
1700+ if extensions_site_settings .include_sandboxed is not None :
1701+ include_sandboxed_element = ET .SubElement (ext_element , "includeSandboxed" )
1702+ include_sandboxed_element .text = str (extensions_site_settings .include_sandboxed ).lower ()
1703+ if extensions_site_settings .include_tableau_built is not None :
1704+ include_tableau_built_element = ET .SubElement (ext_element , "includeTableauBuilt" )
1705+ include_tableau_built_element .text = str (extensions_site_settings .include_tableau_built ).lower ()
1706+ if extensions_site_settings .include_partner_built is not None :
1707+ include_partner_built_element = ET .SubElement (ext_element , "includePartnerBuilt" )
1708+ include_partner_built_element .text = str (extensions_site_settings .include_partner_built ).lower ()
1709+
1710+ if extensions_site_settings .safe_list is None :
1711+ return
1712+
1713+ safe_element = ET .SubElement (ext_element , "safeList" )
1714+ for safe in extensions_site_settings .safe_list :
1715+ if safe .url is not None :
1716+ url_element = ET .SubElement (safe_element , "url" )
1717+ url_element .text = safe .url
1718+ if safe .full_data_allowed is not None :
1719+ full_data_element = ET .SubElement (safe_element , "fullDataAllowed" )
1720+ full_data_element .text = str (safe .full_data_allowed ).lower ()
1721+ if safe .prompt_needed is not None :
1722+ prompt_element = ET .SubElement (safe_element , "promptNeeded" )
1723+ prompt_element .text = str (safe .prompt_needed ).lower ()
1724+
1725+
16681726class RequestFactory :
16691727 Auth = AuthRequest ()
16701728 Connection = Connection ()
0 commit comments