egain-api-python 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. egain_api_python/__init__.py +17 -0
  2. egain_api_python/_hooks/__init__.py +5 -0
  3. egain_api_python/_hooks/registration.py +13 -0
  4. egain_api_python/_hooks/sdkhooks.py +76 -0
  5. egain_api_python/_hooks/types.py +112 -0
  6. egain_api_python/_version.py +15 -0
  7. egain_api_python/aiservices.py +23 -0
  8. egain_api_python/answers.py +281 -0
  9. egain_api_python/articlelists.py +469 -0
  10. egain_api_python/basesdk.py +368 -0
  11. egain_api_python/connectorssearchevents.py +537 -0
  12. egain_api_python/content.py +23 -0
  13. egain_api_python/errors/__init__.py +78 -0
  14. egain_api_python/errors/egaindefaulterror.py +40 -0
  15. egain_api_python/errors/egainerror.py +30 -0
  16. egain_api_python/errors/gethealthop.py +74 -0
  17. egain_api_python/errors/no_response_error.py +17 -0
  18. egain_api_python/errors/responsevalidationerror.py +27 -0
  19. egain_api_python/errors/schemas_wserrorcommon.py +51 -0
  20. egain_api_python/errors/wserrorcommon.py +49 -0
  21. egain_api_python/escalation.py +955 -0
  22. egain_api_python/export.py +487 -0
  23. egain_api_python/federatedsearchevent.py +287 -0
  24. egain_api_python/general.py +925 -0
  25. egain_api_python/guidedhelp.py +3373 -0
  26. egain_api_python/health.py +253 -0
  27. egain_api_python/httpclient.py +125 -0
  28. egain_api_python/import_.py +1161 -0
  29. egain_api_python/models/__init__.py +2136 -0
  30. egain_api_python/models/acceptghsolutionop.py +52 -0
  31. egain_api_python/models/acceptlanguage.py +23 -0
  32. egain_api_python/models/accessibleportal.py +37 -0
  33. egain_api_python/models/action.py +56 -0
  34. egain_api_python/models/actionsearch.py +92 -0
  35. egain_api_python/models/addasreferenceop.py +52 -0
  36. egain_api_python/models/addbookmarkop.py +43 -0
  37. egain_api_python/models/additionalsnippets.py +57 -0
  38. egain_api_python/models/addtoreplyop.py +52 -0
  39. egain_api_python/models/aisearchop.py +131 -0
  40. egain_api_python/models/aisearchresponse.py +67 -0
  41. egain_api_python/models/allaccessibleportals.py +28 -0
  42. egain_api_python/models/answer.py +21 -0
  43. egain_api_python/models/answeredquestion.py +125 -0
  44. egain_api_python/models/answerrange.py +41 -0
  45. egain_api_python/models/answersrequest.py +78 -0
  46. egain_api_python/models/answersresponse.py +93 -0
  47. egain_api_python/models/article.py +241 -0
  48. egain_api_python/models/articleactivitylink.py +62 -0
  49. egain_api_python/models/articleadditionalattributes.py +23 -0
  50. egain_api_python/models/articleaisearchresult.py +254 -0
  51. egain_api_python/models/articleattachment.py +44 -0
  52. egain_api_python/models/articlelist.py +48 -0
  53. egain_api_python/models/articlelistresult.py +38 -0
  54. egain_api_python/models/articlelistsresult.py +22 -0
  55. egain_api_python/models/articlepermissions.py +25 -0
  56. egain_api_python/models/articlepermissionsresult.py +27 -0
  57. egain_api_python/models/articlerating.py +51 -0
  58. egain_api_python/models/articleratingsresponse.py +28 -0
  59. egain_api_python/models/articleresult.py +159 -0
  60. egain_api_python/models/articleresultadditionalattributes.py +22 -0
  61. egain_api_python/models/articleresults.py +32 -0
  62. egain_api_python/models/articlesearchresult.py +243 -0
  63. egain_api_python/models/articlesearchresults.py +32 -0
  64. egain_api_python/models/articlesort.py +11 -0
  65. egain_api_python/models/articlesortorder.py +11 -0
  66. egain_api_python/models/articletype.py +56 -0
  67. egain_api_python/models/articlewitheditions.py +227 -0
  68. egain_api_python/models/attachment.py +31 -0
  69. egain_api_python/models/attachmentadditionalattributes.py +10 -0
  70. egain_api_python/models/attachmentcontent.py +57 -0
  71. egain_api_python/models/attachmentcontentresult.py +22 -0
  72. egain_api_python/models/attachmentforcreatesuggestion.py +25 -0
  73. egain_api_python/models/attachments.py +35 -0
  74. egain_api_python/models/attachmentsummary.py +37 -0
  75. egain_api_python/models/attachmentupload.py +20 -0
  76. egain_api_python/models/avertcustomerescalationop.py +44 -0
  77. egain_api_python/models/bookmark.py +57 -0
  78. egain_api_python/models/bookmarkresult.py +26 -0
  79. egain_api_python/models/bookmarkstatus.py +34 -0
  80. egain_api_python/models/case.py +158 -0
  81. egain_api_python/models/caseadditionalattributes.py +11 -0
  82. egain_api_python/models/caseanswer.py +21 -0
  83. egain_api_python/models/casebase.py +67 -0
  84. egain_api_python/models/casebaseresult.py +28 -0
  85. egain_api_python/models/casebasesearchsettings.py +26 -0
  86. egain_api_python/models/caselistresult.py +74 -0
  87. egain_api_python/models/caselistresults.py +28 -0
  88. egain_api_python/models/casequestion.py +16 -0
  89. egain_api_python/models/casequestiondetail.py +29 -0
  90. egain_api_python/models/casesearch.py +80 -0
  91. egain_api_python/models/clusterid.py +16 -0
  92. egain_api_python/models/clusterresult.py +37 -0
  93. egain_api_python/models/clusterresults.py +28 -0
  94. egain_api_python/models/comment.py +33 -0
  95. egain_api_python/models/comments.py +26 -0
  96. egain_api_python/models/completecustomerescalationop.py +44 -0
  97. egain_api_python/models/compliancearticleresult.py +166 -0
  98. egain_api_python/models/compliancearticleresultadditionalattributes.py +22 -0
  99. egain_api_python/models/compliancearticleresults.py +35 -0
  100. egain_api_python/models/complianceforarticle.py +59 -0
  101. egain_api_python/models/complyarticleop.py +40 -0
  102. egain_api_python/models/components_schemas_tag.py +25 -0
  103. egain_api_python/models/components_schemas_tagcategory.py +39 -0
  104. egain_api_python/models/components_schemas_taggroup.py +25 -0
  105. egain_api_python/models/configurableattribute.py +25 -0
  106. egain_api_python/models/configurableattributes.py +15 -0
  107. egain_api_python/models/contactperson.py +43 -0
  108. egain_api_python/models/contacts.py +21 -0
  109. egain_api_python/models/createbookmark.py +64 -0
  110. egain_api_python/models/createdby.py +37 -0
  111. egain_api_python/models/createfederatedsearchevent.py +85 -0
  112. egain_api_python/models/createfederatedsearchresulteventop.py +46 -0
  113. egain_api_python/models/createimportop.py +20 -0
  114. egain_api_python/models/createimportvalidationop.py +20 -0
  115. egain_api_python/models/createquickpick.py +34 -0
  116. egain_api_python/models/createquickpickop.py +55 -0
  117. egain_api_python/models/createsearchresulteventforconnectors.py +71 -0
  118. egain_api_python/models/createsearchresulteventforconnectorsop.py +48 -0
  119. egain_api_python/models/createsignedurlop.py +29 -0
  120. egain_api_python/models/createsuggestion.py +126 -0
  121. egain_api_python/models/createviewedsearchresulteventforconnectors.py +76 -0
  122. egain_api_python/models/createviewedsearchresultseventforconnectorsop.py +48 -0
  123. egain_api_python/models/customattribute.py +35 -0
  124. egain_api_python/models/deletebookmarkop.py +40 -0
  125. egain_api_python/models/deletesuggestionop.py +40 -0
  126. egain_api_python/models/department.py +21 -0
  127. egain_api_python/models/detailfield.py +32 -0
  128. egain_api_python/models/displayfield.py +27 -0
  129. egain_api_python/models/dynamiccluster.py +21 -0
  130. egain_api_python/models/dynamicsearch.py +40 -0
  131. egain_api_python/models/edition.py +79 -0
  132. egain_api_python/models/editionwithcontent.py +68 -0
  133. egain_api_python/models/email.py +21 -0
  134. egain_api_python/models/exportcontentop.py +14 -0
  135. egain_api_python/models/exportstatus.py +106 -0
  136. egain_api_python/models/exportstatusop.py +31 -0
  137. egain_api_python/models/feedbackarticleforsuggestion.py +34 -0
  138. egain_api_python/models/folderbreadcrumb.py +24 -0
  139. egain_api_python/models/foldersummary.py +29 -0
  140. egain_api_python/models/getacknowledgedcompliancearticlesop.py +119 -0
  141. egain_api_python/models/getallarticlelistsop.py +47 -0
  142. egain_api_python/models/getallcasebasesreleasesop.py +65 -0
  143. egain_api_python/models/getallcasesop.py +83 -0
  144. egain_api_python/models/getallportalsop.py +60 -0
  145. egain_api_python/models/getallprofilesinportalop.py +64 -0
  146. egain_api_python/models/getallquickpicksop.py +83 -0
  147. egain_api_python/models/getalltopicsop.py +132 -0
  148. egain_api_python/models/getalluserprofilesop.py +47 -0
  149. egain_api_python/models/getancestortopicsop.py +133 -0
  150. egain_api_python/models/getannouncementarticlesop.py +134 -0
  151. egain_api_python/models/getarticleattachmentbyidop.py +31 -0
  152. egain_api_python/models/getarticlebyidop.py +257 -0
  153. egain_api_python/models/getarticlebyidwitheditionsop.py +46 -0
  154. egain_api_python/models/getarticleeditiondetailsop.py +55 -0
  155. egain_api_python/models/getarticlelistdetailsop.py +115 -0
  156. egain_api_python/models/getarticlepermissionsbyidop.py +40 -0
  157. egain_api_python/models/getarticlepersonalizationop.py +73 -0
  158. egain_api_python/models/getarticleratingsop.py +74 -0
  159. egain_api_python/models/getarticlesintopicop.py +172 -0
  160. egain_api_python/models/getattachmentbyidinportalop.py +56 -0
  161. egain_api_python/models/getbookmarkop.py +31 -0
  162. egain_api_python/models/getcasebasereleasebyidop.py +64 -0
  163. egain_api_python/models/getcasebyidop.py +75 -0
  164. egain_api_python/models/getchildtopicsop.py +150 -0
  165. egain_api_python/models/getclusterbycasebasereleaseidop.py +74 -0
  166. egain_api_python/models/gethealthop.py +130 -0
  167. egain_api_python/models/getimportcontentop.py +46 -0
  168. egain_api_python/models/getmyportalsop.py +97 -0
  169. egain_api_python/models/getmysubscriptionop.py +115 -0
  170. egain_api_python/models/getpendingcompliancearticlesop.py +119 -0
  171. egain_api_python/models/getpopulararticlesop.py +133 -0
  172. egain_api_python/models/getportaldetailsbyidop.py +47 -0
  173. egain_api_python/models/getrelatedarticlesforsuggestionop.py +96 -0
  174. egain_api_python/models/getrelatedarticlesop.py +143 -0
  175. egain_api_python/models/getsuggestionattachmentbyidop.py +76 -0
  176. egain_api_python/models/getsuggestionattachmentsop.py +40 -0
  177. egain_api_python/models/getsuggestioncommentsop.py +40 -0
  178. egain_api_python/models/getsuggestionop.py +107 -0
  179. egain_api_python/models/gettagcategoriesforinterestforportalop.py +46 -0
  180. egain_api_python/models/gettopicbreadcrumbforarticleop.py +55 -0
  181. egain_api_python/models/getuserdetailsop.py +22 -0
  182. egain_api_python/models/getusermilestonesop.py +22 -0
  183. egain_api_python/models/ghsearchrequest.py +67 -0
  184. egain_api_python/models/ghsearchresult.py +75 -0
  185. egain_api_python/models/ghstepsearchrequest.py +64 -0
  186. egain_api_python/models/image.py +17 -0
  187. egain_api_python/models/importcontent.py +79 -0
  188. egain_api_python/models/importstatus.py +29 -0
  189. egain_api_python/models/kblanguage.py +63 -0
  190. egain_api_python/models/kblanguagecode.py +48 -0
  191. egain_api_python/models/kblanguages.py +22 -0
  192. egain_api_python/models/knowledgeexport.py +237 -0
  193. egain_api_python/models/l10nstring.py +22 -0
  194. egain_api_python/models/languagecode.py +39 -0
  195. egain_api_python/models/languagecode_parameter.py +39 -0
  196. egain_api_python/models/languagequeryparameter.py +39 -0
  197. egain_api_python/models/link.py +25 -0
  198. egain_api_python/models/makesuggestionop.py +44 -0
  199. egain_api_python/models/mandatorylanguagequeryparameter.py +38 -0
  200. egain_api_python/models/metadata.py +29 -0
  201. egain_api_python/models/milestone.py +21 -0
  202. egain_api_python/models/milestonename.py +26 -0
  203. egain_api_python/models/milestones.py +21 -0
  204. egain_api_python/models/modifiedby.py +37 -0
  205. egain_api_python/models/modifysuggestion.py +78 -0
  206. egain_api_python/models/modifysuggestionsop.py +44 -0
  207. egain_api_python/models/optionalarticleattributes.py +20 -0
  208. egain_api_python/models/order.py +10 -0
  209. egain_api_python/models/ownedby.py +37 -0
  210. egain_api_python/models/paginationinfo.py +32 -0
  211. egain_api_python/models/patchimportcontentvalidationop.py +46 -0
  212. egain_api_python/models/personalization.py +67 -0
  213. egain_api_python/models/phone.py +21 -0
  214. egain_api_python/models/portal.py +102 -0
  215. egain_api_python/models/portalresult.py +28 -0
  216. egain_api_python/models/portalsettings.py +398 -0
  217. egain_api_python/models/post_portalid_answersop.py +88 -0
  218. egain_api_python/models/post_portalid_retrieveop.py +88 -0
  219. egain_api_python/models/profile.py +26 -0
  220. egain_api_python/models/profileresult.py +24 -0
  221. egain_api_python/models/publishprofile.py +30 -0
  222. egain_api_python/models/publishview.py +38 -0
  223. egain_api_python/models/question.py +101 -0
  224. egain_api_python/models/questionandanswer.py +26 -0
  225. egain_api_python/models/quickpickrating.py +32 -0
  226. egain_api_python/models/quickpickresult.py +38 -0
  227. egain_api_python/models/quickpickresults.py +28 -0
  228. egain_api_python/models/ratearticleop.py +71 -0
  229. egain_api_python/models/referenceresponse.py +80 -0
  230. egain_api_python/models/rejectghsolutionop.py +52 -0
  231. egain_api_python/models/relatedquestions.py +28 -0
  232. egain_api_python/models/resourcetype_parameter.py +10 -0
  233. egain_api_python/models/restorequickpickop.py +63 -0
  234. egain_api_python/models/retrieverequest.py +47 -0
  235. egain_api_python/models/retrieveresponse.py +96 -0
  236. egain_api_python/models/role.py +26 -0
  237. egain_api_python/models/roletemplate.py +25 -0
  238. egain_api_python/models/schemas_answer.py +94 -0
  239. egain_api_python/models/schemas_customattribute.py +35 -0
  240. egain_api_python/models/schemas_link.py +27 -0
  241. egain_api_python/models/schemas_tag.py +21 -0
  242. egain_api_python/models/schemas_tagcategory.py +75 -0
  243. egain_api_python/models/schemas_taggroup.py +31 -0
  244. egain_api_python/models/schemas_tags.py +19 -0
  245. egain_api_python/models/schemas_wserrorcommon.py +17 -0
  246. egain_api_python/models/searchfilterattribute.py +61 -0
  247. egain_api_python/models/searchpriortoescalationop.py +108 -0
  248. egain_api_python/models/searchresult.py +101 -0
  249. egain_api_python/models/searchsuggestionop.py +93 -0
  250. egain_api_python/models/security.py +25 -0
  251. egain_api_python/models/selectuserprofileop.py +44 -0
  252. egain_api_python/models/sessioncontextvariable.py +17 -0
  253. egain_api_python/models/shorturl.py +32 -0
  254. egain_api_python/models/sortidname.py +10 -0
  255. egain_api_python/models/sortidnamedepartment.py +11 -0
  256. egain_api_python/models/stage.py +26 -0
  257. egain_api_python/models/startcustomerescalationop.py +66 -0
  258. egain_api_python/models/startescalationrequest.py +94 -0
  259. egain_api_python/models/startghsearchop.py +74 -0
  260. egain_api_python/models/startquestionandanswer.py +26 -0
  261. egain_api_python/models/stepghsearchop.py +62 -0
  262. egain_api_python/models/stringattributevalue.py +30 -0
  263. egain_api_python/models/structuredauthoringfields.py +33 -0
  264. egain_api_python/models/subscribearticleop.py +40 -0
  265. egain_api_python/models/suggestion.py +190 -0
  266. egain_api_python/models/suggestionadditionalattributes.py +11 -0
  267. egain_api_python/models/suggestionattachment.py +46 -0
  268. egain_api_python/models/suggestions.py +28 -0
  269. egain_api_python/models/tag.py +17 -0
  270. egain_api_python/models/tagcategoriesforinterest.py +22 -0
  271. egain_api_python/models/tagcategory.py +34 -0
  272. egain_api_python/models/taggroup.py +17 -0
  273. egain_api_python/models/taggroups.py +20 -0
  274. egain_api_python/models/tags.py +17 -0
  275. egain_api_python/models/topic.py +113 -0
  276. egain_api_python/models/topicadditionalattributes.py +20 -0
  277. egain_api_python/models/topicaisearchresult.py +67 -0
  278. egain_api_python/models/topicbreadcrumb.py +24 -0
  279. egain_api_python/models/topicresult.py +26 -0
  280. egain_api_python/models/topicsummary.py +31 -0
  281. egain_api_python/models/topictreenode.py +27 -0
  282. egain_api_python/models/topictreeresult.py +28 -0
  283. egain_api_python/models/unsubscribearticleop.py +55 -0
  284. egain_api_python/models/uploadattachmentop.py +36 -0
  285. egain_api_python/models/userdetails.py +44 -0
  286. egain_api_python/models/userprofile.py +33 -0
  287. egain_api_python/models/userprofiles.py +21 -0
  288. egain_api_python/models/userview.py +33 -0
  289. egain_api_python/models/validateimportcontent.py +58 -0
  290. egain_api_python/models/virtualcase.py +52 -0
  291. egain_api_python/models/workflow.py +21 -0
  292. egain_api_python/models/workflowmilestone.py +11 -0
  293. egain_api_python/models/wserrorcommon.py +17 -0
  294. egain_api_python/populararticles.py +287 -0
  295. egain_api_python/portal_article.py +4935 -0
  296. egain_api_python/portal_attachment.py +494 -0
  297. egain_api_python/portal_bookmark.py +707 -0
  298. egain_api_python/portal_sdk.py +88 -0
  299. egain_api_python/portal_suggestion.py +2283 -0
  300. egain_api_python/portal_topic.py +975 -0
  301. egain_api_python/portal_userdetails.py +211 -0
  302. egain_api_python/portal_userprofile.py +431 -0
  303. egain_api_python/py.typed +1 -0
  304. egain_api_python/retrieve.py +265 -0
  305. egain_api_python/sdk.py +216 -0
  306. egain_api_python/sdkconfiguration.py +50 -0
  307. egain_api_python/search.py +251 -0
  308. egain_api_python/types/__init__.py +21 -0
  309. egain_api_python/types/basemodel.py +39 -0
  310. egain_api_python/usermilestones.py +219 -0
  311. egain_api_python/utils/__init__.py +200 -0
  312. egain_api_python/utils/annotations.py +79 -0
  313. egain_api_python/utils/datetimes.py +23 -0
  314. egain_api_python/utils/enums.py +74 -0
  315. egain_api_python/utils/eventstreaming.py +248 -0
  316. egain_api_python/utils/forms.py +223 -0
  317. egain_api_python/utils/headers.py +136 -0
  318. egain_api_python/utils/logger.py +27 -0
  319. egain_api_python/utils/metadata.py +118 -0
  320. egain_api_python/utils/queryparams.py +205 -0
  321. egain_api_python/utils/requestbodies.py +66 -0
  322. egain_api_python/utils/retries.py +217 -0
  323. egain_api_python/utils/security.py +192 -0
  324. egain_api_python/utils/serializers.py +249 -0
  325. egain_api_python/utils/unmarshal_json_response.py +24 -0
  326. egain_api_python/utils/url.py +155 -0
  327. egain_api_python/utils/values.py +137 -0
  328. egain_api_python-0.1.1.dist-info/METADATA +827 -0
  329. egain_api_python-0.1.1.dist-info/RECORD +332 -0
  330. egain_api_python-0.1.1.dist-info/WHEEL +5 -0
  331. egain_api_python-0.1.1.dist-info/licenses/LICENSE +21 -0
  332. egain_api_python-0.1.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,469 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from egain_api_python import errors, models, utils
5
+ from egain_api_python._hooks import HookContext
6
+ from egain_api_python.types import OptionalNullable, UNSET
7
+ from egain_api_python.utils import get_security_from_env
8
+ from egain_api_python.utils.unmarshal_json_response import unmarshal_json_response
9
+ from typing import Any, List, Mapping, Optional
10
+
11
+
12
+ class Articlelists(BaseSDK):
13
+ def get_all_article_lists(
14
+ self,
15
+ *,
16
+ accept_language: models.AcceptLanguage,
17
+ portal_id: str,
18
+ language: Optional[models.LanguageQueryParameter] = None,
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> Optional[models.ArticleListsResult]:
24
+ r"""Get All Article Lists
25
+
26
+ ## Overview
27
+ The Get All Article Lists API returns all quick Article lists that are configured for a portal.
28
+
29
+
30
+ :param accept_language: The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).
31
+ :param portal_id: The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.
32
+ :param language: The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>
33
+ :param retries: Override the default retry configuration for this method
34
+ :param server_url: Override the default server URL for this method
35
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
36
+ :param http_headers: Additional headers to set or replace on requests.
37
+ """
38
+ base_url = None
39
+ url_variables = None
40
+ if timeout_ms is None:
41
+ timeout_ms = self.sdk_configuration.timeout_ms
42
+
43
+ if server_url is not None:
44
+ base_url = server_url
45
+ else:
46
+ base_url = self._get_url(base_url, url_variables)
47
+
48
+ request = models.GetAllArticleListsRequest(
49
+ accept_language=accept_language,
50
+ portal_id=portal_id,
51
+ language=language,
52
+ )
53
+
54
+ req = self._build_request(
55
+ method="GET",
56
+ path="/portals/{portalID}/articlelists",
57
+ base_url=base_url,
58
+ url_variables=url_variables,
59
+ request=request,
60
+ request_body_required=False,
61
+ request_has_path_params=True,
62
+ request_has_query_params=True,
63
+ user_agent_header="user-agent",
64
+ accept_header_value="application/json",
65
+ http_headers=http_headers,
66
+ security=self.sdk_configuration.security,
67
+ timeout_ms=timeout_ms,
68
+ )
69
+
70
+ if retries == UNSET:
71
+ if self.sdk_configuration.retry_config is not UNSET:
72
+ retries = self.sdk_configuration.retry_config
73
+
74
+ retry_config = None
75
+ if isinstance(retries, utils.RetryConfig):
76
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
77
+
78
+ http_res = self.do_request(
79
+ hook_ctx=HookContext(
80
+ config=self.sdk_configuration,
81
+ base_url=base_url or "",
82
+ operation_id="getAllArticleLists",
83
+ oauth2_scopes=[],
84
+ security_source=get_security_from_env(
85
+ self.sdk_configuration.security, models.Security
86
+ ),
87
+ ),
88
+ request=req,
89
+ error_status_codes=["400", "401", "403", "404", "406", "4XX", "500", "5XX"],
90
+ retry_config=retry_config,
91
+ )
92
+
93
+ response_data: Any = None
94
+ if utils.match_response(http_res, "200", "application/json"):
95
+ return unmarshal_json_response(models.ArticleListsResult, http_res)
96
+ if utils.match_response(http_res, "204", "*"):
97
+ return None
98
+ if utils.match_response(
99
+ http_res, ["400", "401", "403", "404", "406"], "application/json"
100
+ ):
101
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
102
+ raise errors.WSErrorCommon(response_data, http_res)
103
+ if utils.match_response(http_res, "500", "application/json"):
104
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
105
+ raise errors.WSErrorCommon(response_data, http_res)
106
+ if utils.match_response(http_res, "4XX", "*"):
107
+ http_res_text = utils.stream_to_text(http_res)
108
+ raise errors.EgainDefaultError(
109
+ "API error occurred", http_res, http_res_text
110
+ )
111
+ if utils.match_response(http_res, "5XX", "*"):
112
+ http_res_text = utils.stream_to_text(http_res)
113
+ raise errors.EgainDefaultError(
114
+ "API error occurred", http_res, http_res_text
115
+ )
116
+
117
+ raise errors.EgainDefaultError("Unexpected response received", http_res)
118
+
119
+ async def get_all_article_lists_async(
120
+ self,
121
+ *,
122
+ accept_language: models.AcceptLanguage,
123
+ portal_id: str,
124
+ language: Optional[models.LanguageQueryParameter] = None,
125
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
126
+ server_url: Optional[str] = None,
127
+ timeout_ms: Optional[int] = None,
128
+ http_headers: Optional[Mapping[str, str]] = None,
129
+ ) -> Optional[models.ArticleListsResult]:
130
+ r"""Get All Article Lists
131
+
132
+ ## Overview
133
+ The Get All Article Lists API returns all quick Article lists that are configured for a portal.
134
+
135
+
136
+ :param accept_language: The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).
137
+ :param portal_id: The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.
138
+ :param language: The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>
139
+ :param retries: Override the default retry configuration for this method
140
+ :param server_url: Override the default server URL for this method
141
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
142
+ :param http_headers: Additional headers to set or replace on requests.
143
+ """
144
+ base_url = None
145
+ url_variables = None
146
+ if timeout_ms is None:
147
+ timeout_ms = self.sdk_configuration.timeout_ms
148
+
149
+ if server_url is not None:
150
+ base_url = server_url
151
+ else:
152
+ base_url = self._get_url(base_url, url_variables)
153
+
154
+ request = models.GetAllArticleListsRequest(
155
+ accept_language=accept_language,
156
+ portal_id=portal_id,
157
+ language=language,
158
+ )
159
+
160
+ req = self._build_request_async(
161
+ method="GET",
162
+ path="/portals/{portalID}/articlelists",
163
+ base_url=base_url,
164
+ url_variables=url_variables,
165
+ request=request,
166
+ request_body_required=False,
167
+ request_has_path_params=True,
168
+ request_has_query_params=True,
169
+ user_agent_header="user-agent",
170
+ accept_header_value="application/json",
171
+ http_headers=http_headers,
172
+ security=self.sdk_configuration.security,
173
+ timeout_ms=timeout_ms,
174
+ )
175
+
176
+ if retries == UNSET:
177
+ if self.sdk_configuration.retry_config is not UNSET:
178
+ retries = self.sdk_configuration.retry_config
179
+
180
+ retry_config = None
181
+ if isinstance(retries, utils.RetryConfig):
182
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
183
+
184
+ http_res = await self.do_request_async(
185
+ hook_ctx=HookContext(
186
+ config=self.sdk_configuration,
187
+ base_url=base_url or "",
188
+ operation_id="getAllArticleLists",
189
+ oauth2_scopes=[],
190
+ security_source=get_security_from_env(
191
+ self.sdk_configuration.security, models.Security
192
+ ),
193
+ ),
194
+ request=req,
195
+ error_status_codes=["400", "401", "403", "404", "406", "4XX", "500", "5XX"],
196
+ retry_config=retry_config,
197
+ )
198
+
199
+ response_data: Any = None
200
+ if utils.match_response(http_res, "200", "application/json"):
201
+ return unmarshal_json_response(models.ArticleListsResult, http_res)
202
+ if utils.match_response(http_res, "204", "*"):
203
+ return None
204
+ if utils.match_response(
205
+ http_res, ["400", "401", "403", "404", "406"], "application/json"
206
+ ):
207
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
208
+ raise errors.WSErrorCommon(response_data, http_res)
209
+ if utils.match_response(http_res, "500", "application/json"):
210
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
211
+ raise errors.WSErrorCommon(response_data, http_res)
212
+ if utils.match_response(http_res, "4XX", "*"):
213
+ http_res_text = await utils.stream_to_text_async(http_res)
214
+ raise errors.EgainDefaultError(
215
+ "API error occurred", http_res, http_res_text
216
+ )
217
+ if utils.match_response(http_res, "5XX", "*"):
218
+ http_res_text = await utils.stream_to_text_async(http_res)
219
+ raise errors.EgainDefaultError(
220
+ "API error occurred", http_res, http_res_text
221
+ )
222
+
223
+ raise errors.EgainDefaultError("Unexpected response received", http_res)
224
+
225
+ def get_article_list_details(
226
+ self,
227
+ *,
228
+ accept_language: models.AcceptLanguage,
229
+ portal_id: str,
230
+ list_id: str,
231
+ dollar_filter_topic_id: Optional[str] = None,
232
+ article_result_additional_attributes: Optional[
233
+ List[models.ArticleResultAdditionalAttributes]
234
+ ] = None,
235
+ language: Optional[models.LanguageQueryParameter] = None,
236
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
237
+ server_url: Optional[str] = None,
238
+ timeout_ms: Optional[int] = None,
239
+ http_headers: Optional[Mapping[str, str]] = None,
240
+ ) -> Optional[models.ArticleList]:
241
+ r"""Get Article List by ID
242
+
243
+ ## Overview
244
+ The Get Article Lists by ID API returns the details of a quick access Article list that is configured for a portal.
245
+
246
+ Only those articles in the quick access list articles are returned and are:
247
+
248
+ - Available for current user profile.
249
+ - Tagged with at least one of the provided tags, if tags query parameter is provided.
250
+ - Displayable. An Article is displayable if \"Include in browse on portals\" property is enable for the Article.
251
+
252
+
253
+ :param accept_language: The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).
254
+ :param portal_id: The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.
255
+ :param list_id: The ID of the list to be returned.
256
+ :param dollar_filter_topic_id: The ID of the topic. It is used to restrict to a specific topic.
257
+ :param article_result_additional_attributes: The attributes of an Article to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' will return all attributes. #### Default Attributes These Article attributes are always returned: | Name | Description | ---- | ----------- | id | The ID of the Article. | name | The name of the Article. | articleType | The Article Type and its attributes. | createdBy | The ID, first name, middle name and last name of the user that created the Article. | createdDate | The date that the Article was created. | hasAttachments | True: The Article has one or more attachments.<br>False: The Article does not have any attachments. | languageCode | The language code of the Article language. | modifiedBy | The ID, first name, middle name and last name of the user that last modified the Article. | modifiedDate | The date that the Article was last modified on. | link | The link object, used to retrieve the details of the Article. | versionId | The ID of the Article version that is returned.
258
+ :param language: The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>
259
+ :param retries: Override the default retry configuration for this method
260
+ :param server_url: Override the default server URL for this method
261
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
262
+ :param http_headers: Additional headers to set or replace on requests.
263
+ """
264
+ base_url = None
265
+ url_variables = None
266
+ if timeout_ms is None:
267
+ timeout_ms = self.sdk_configuration.timeout_ms
268
+
269
+ if server_url is not None:
270
+ base_url = server_url
271
+ else:
272
+ base_url = self._get_url(base_url, url_variables)
273
+
274
+ request = models.GetArticleListDetailsRequest(
275
+ accept_language=accept_language,
276
+ portal_id=portal_id,
277
+ list_id=list_id,
278
+ dollar_filter_topic_id=dollar_filter_topic_id,
279
+ article_result_additional_attributes=article_result_additional_attributes,
280
+ language=language,
281
+ )
282
+
283
+ req = self._build_request(
284
+ method="GET",
285
+ path="/portals/{portalID}/articlelists/{listID}",
286
+ base_url=base_url,
287
+ url_variables=url_variables,
288
+ request=request,
289
+ request_body_required=False,
290
+ request_has_path_params=True,
291
+ request_has_query_params=True,
292
+ user_agent_header="user-agent",
293
+ accept_header_value="application/json",
294
+ http_headers=http_headers,
295
+ security=self.sdk_configuration.security,
296
+ timeout_ms=timeout_ms,
297
+ )
298
+
299
+ if retries == UNSET:
300
+ if self.sdk_configuration.retry_config is not UNSET:
301
+ retries = self.sdk_configuration.retry_config
302
+
303
+ retry_config = None
304
+ if isinstance(retries, utils.RetryConfig):
305
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
306
+
307
+ http_res = self.do_request(
308
+ hook_ctx=HookContext(
309
+ config=self.sdk_configuration,
310
+ base_url=base_url or "",
311
+ operation_id="getArticleListDetails",
312
+ oauth2_scopes=[],
313
+ security_source=get_security_from_env(
314
+ self.sdk_configuration.security, models.Security
315
+ ),
316
+ ),
317
+ request=req,
318
+ error_status_codes=["400", "401", "403", "404", "406", "4XX", "500", "5XX"],
319
+ retry_config=retry_config,
320
+ )
321
+
322
+ response_data: Any = None
323
+ if utils.match_response(http_res, "200", "application/json"):
324
+ return unmarshal_json_response(models.ArticleList, http_res)
325
+ if utils.match_response(http_res, "204", "*"):
326
+ return None
327
+ if utils.match_response(
328
+ http_res, ["400", "401", "403", "404", "406"], "application/json"
329
+ ):
330
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
331
+ raise errors.WSErrorCommon(response_data, http_res)
332
+ if utils.match_response(http_res, "500", "application/json"):
333
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
334
+ raise errors.WSErrorCommon(response_data, http_res)
335
+ if utils.match_response(http_res, "4XX", "*"):
336
+ http_res_text = utils.stream_to_text(http_res)
337
+ raise errors.EgainDefaultError(
338
+ "API error occurred", http_res, http_res_text
339
+ )
340
+ if utils.match_response(http_res, "5XX", "*"):
341
+ http_res_text = utils.stream_to_text(http_res)
342
+ raise errors.EgainDefaultError(
343
+ "API error occurred", http_res, http_res_text
344
+ )
345
+
346
+ raise errors.EgainDefaultError("Unexpected response received", http_res)
347
+
348
+ async def get_article_list_details_async(
349
+ self,
350
+ *,
351
+ accept_language: models.AcceptLanguage,
352
+ portal_id: str,
353
+ list_id: str,
354
+ dollar_filter_topic_id: Optional[str] = None,
355
+ article_result_additional_attributes: Optional[
356
+ List[models.ArticleResultAdditionalAttributes]
357
+ ] = None,
358
+ language: Optional[models.LanguageQueryParameter] = None,
359
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
360
+ server_url: Optional[str] = None,
361
+ timeout_ms: Optional[int] = None,
362
+ http_headers: Optional[Mapping[str, str]] = None,
363
+ ) -> Optional[models.ArticleList]:
364
+ r"""Get Article List by ID
365
+
366
+ ## Overview
367
+ The Get Article Lists by ID API returns the details of a quick access Article list that is configured for a portal.
368
+
369
+ Only those articles in the quick access list articles are returned and are:
370
+
371
+ - Available for current user profile.
372
+ - Tagged with at least one of the provided tags, if tags query parameter is provided.
373
+ - Displayable. An Article is displayable if \"Include in browse on portals\" property is enable for the Article.
374
+
375
+
376
+ :param accept_language: The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).
377
+ :param portal_id: The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.
378
+ :param list_id: The ID of the list to be returned.
379
+ :param dollar_filter_topic_id: The ID of the topic. It is used to restrict to a specific topic.
380
+ :param article_result_additional_attributes: The attributes of an Article to be returned *in addition to* the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' will return all attributes. #### Default Attributes These Article attributes are always returned: | Name | Description | ---- | ----------- | id | The ID of the Article. | name | The name of the Article. | articleType | The Article Type and its attributes. | createdBy | The ID, first name, middle name and last name of the user that created the Article. | createdDate | The date that the Article was created. | hasAttachments | True: The Article has one or more attachments.<br>False: The Article does not have any attachments. | languageCode | The language code of the Article language. | modifiedBy | The ID, first name, middle name and last name of the user that last modified the Article. | modifiedDate | The date that the Article was last modified on. | link | The link object, used to retrieve the details of the Article. | versionId | The ID of the Article version that is returned.
381
+ :param language: The language that describes the details of a resource. Resources available in different languages may differ from each other.<li>If <code>lang</code> is not passed, then the portal's default language is used.</li>
382
+ :param retries: Override the default retry configuration for this method
383
+ :param server_url: Override the default server URL for this method
384
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
385
+ :param http_headers: Additional headers to set or replace on requests.
386
+ """
387
+ base_url = None
388
+ url_variables = None
389
+ if timeout_ms is None:
390
+ timeout_ms = self.sdk_configuration.timeout_ms
391
+
392
+ if server_url is not None:
393
+ base_url = server_url
394
+ else:
395
+ base_url = self._get_url(base_url, url_variables)
396
+
397
+ request = models.GetArticleListDetailsRequest(
398
+ accept_language=accept_language,
399
+ portal_id=portal_id,
400
+ list_id=list_id,
401
+ dollar_filter_topic_id=dollar_filter_topic_id,
402
+ article_result_additional_attributes=article_result_additional_attributes,
403
+ language=language,
404
+ )
405
+
406
+ req = self._build_request_async(
407
+ method="GET",
408
+ path="/portals/{portalID}/articlelists/{listID}",
409
+ base_url=base_url,
410
+ url_variables=url_variables,
411
+ request=request,
412
+ request_body_required=False,
413
+ request_has_path_params=True,
414
+ request_has_query_params=True,
415
+ user_agent_header="user-agent",
416
+ accept_header_value="application/json",
417
+ http_headers=http_headers,
418
+ security=self.sdk_configuration.security,
419
+ timeout_ms=timeout_ms,
420
+ )
421
+
422
+ if retries == UNSET:
423
+ if self.sdk_configuration.retry_config is not UNSET:
424
+ retries = self.sdk_configuration.retry_config
425
+
426
+ retry_config = None
427
+ if isinstance(retries, utils.RetryConfig):
428
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
429
+
430
+ http_res = await self.do_request_async(
431
+ hook_ctx=HookContext(
432
+ config=self.sdk_configuration,
433
+ base_url=base_url or "",
434
+ operation_id="getArticleListDetails",
435
+ oauth2_scopes=[],
436
+ security_source=get_security_from_env(
437
+ self.sdk_configuration.security, models.Security
438
+ ),
439
+ ),
440
+ request=req,
441
+ error_status_codes=["400", "401", "403", "404", "406", "4XX", "500", "5XX"],
442
+ retry_config=retry_config,
443
+ )
444
+
445
+ response_data: Any = None
446
+ if utils.match_response(http_res, "200", "application/json"):
447
+ return unmarshal_json_response(models.ArticleList, http_res)
448
+ if utils.match_response(http_res, "204", "*"):
449
+ return None
450
+ if utils.match_response(
451
+ http_res, ["400", "401", "403", "404", "406"], "application/json"
452
+ ):
453
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
454
+ raise errors.WSErrorCommon(response_data, http_res)
455
+ if utils.match_response(http_res, "500", "application/json"):
456
+ response_data = unmarshal_json_response(errors.WSErrorCommonData, http_res)
457
+ raise errors.WSErrorCommon(response_data, http_res)
458
+ if utils.match_response(http_res, "4XX", "*"):
459
+ http_res_text = await utils.stream_to_text_async(http_res)
460
+ raise errors.EgainDefaultError(
461
+ "API error occurred", http_res, http_res_text
462
+ )
463
+ if utils.match_response(http_res, "5XX", "*"):
464
+ http_res_text = await utils.stream_to_text_async(http_res)
465
+ raise errors.EgainDefaultError(
466
+ "API error occurred", http_res, http_res_text
467
+ )
468
+
469
+ raise errors.EgainDefaultError("Unexpected response received", http_res)