qanswer-sdk 0.46.0.dev0__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 (624) hide show
  1. qanswer_sdk/__init__.py +1268 -0
  2. qanswer_sdk/api/__init__.py +64 -0
  3. qanswer_sdk/api/admin_api.py +7383 -0
  4. qanswer_sdk/api/ai_assistant_access_rights_api.py +5879 -0
  5. qanswer_sdk/api/ai_assistant_api.py +8960 -0
  6. qanswer_sdk/api/auto_complete_api.py +612 -0
  7. qanswer_sdk/api/bot_slack_api.py +1069 -0
  8. qanswer_sdk/api/branding_api.py +5723 -0
  9. qanswer_sdk/api/chatbot_api.py +1102 -0
  10. qanswer_sdk/api/connector_audio_api.py +3264 -0
  11. qanswer_sdk/api/connector_document_api.py +1990 -0
  12. qanswer_sdk/api/connector_e_consilium_api.py +313 -0
  13. qanswer_sdk/api/connector_e_consilium_search_index_api_api.py +1164 -0
  14. qanswer_sdk/api/connector_google_drive_api.py +1896 -0
  15. qanswer_sdk/api/connector_imapapi_api.py +1775 -0
  16. qanswer_sdk/api/connector_one_drive_api.py +1579 -0
  17. qanswer_sdk/api/connector_onenote_api.py +1596 -0
  18. qanswer_sdk/api/connector_pinecone_api.py +893 -0
  19. qanswer_sdk/api/connector_publication_office_api_api.py +1230 -0
  20. qanswer_sdk/api/connector_qn_a_api.py +1521 -0
  21. qanswer_sdk/api/connector_rdf_answer_api.py +1393 -0
  22. qanswer_sdk/api/connector_rdf_api.py +5093 -0
  23. qanswer_sdk/api/connector_sharepoint_api.py +3445 -0
  24. qanswer_sdk/api/connector_websearch_api.py +332 -0
  25. qanswer_sdk/api/connector_website_api.py +2829 -0
  26. qanswer_sdk/api/connectors_api.py +6824 -0
  27. qanswer_sdk/api/connectors_data_api.py +5415 -0
  28. qanswer_sdk/api/conversation_logs_api.py +13159 -0
  29. qanswer_sdk/api/dataset_api.py +6487 -0
  30. qanswer_sdk/api/dataset_config_api.py +4643 -0
  31. qanswer_sdk/api/debug_api.py +278 -0
  32. qanswer_sdk/api/default_api.py +763 -0
  33. qanswer_sdk/api/embedder_endpoint_api.py +3330 -0
  34. qanswer_sdk/api/frontend_config_api.py +270 -0
  35. qanswer_sdk/api/health_check_api_api.py +278 -0
  36. qanswer_sdk/api/llm_endpoint_api.py +4660 -0
  37. qanswer_sdk/api/mcp_api.py +11201 -0
  38. qanswer_sdk/api/metadata_api.py +2070 -0
  39. qanswer_sdk/api/notifications_api.py +1841 -0
  40. qanswer_sdk/api/o_auth2_api.py +648 -0
  41. qanswer_sdk/api/payment_api.py +1852 -0
  42. qanswer_sdk/api/socket_api.py +4220 -0
  43. qanswer_sdk/api/speech_to_text_api.py +919 -0
  44. qanswer_sdk/api/task_ai_excel_api.py +7541 -0
  45. qanswer_sdk/api/task_chat_api.py +2598 -0
  46. qanswer_sdk/api/task_document_parsing_api.py +619 -0
  47. qanswer_sdk/api/task_entity_linking_api.py +315 -0
  48. qanswer_sdk/api/task_rdf_linker_api.py +4408 -0
  49. qanswer_sdk/api/task_rdf_sparql_endpoint_api.py +3189 -0
  50. qanswer_sdk/api/task_rdf_text_linker_api.py +1452 -0
  51. qanswer_sdk/api/task_report_copilot_api.py +7010 -0
  52. qanswer_sdk/api/task_search_api.py +2012 -0
  53. qanswer_sdk/api/task_text2sparql_api.py +902 -0
  54. qanswer_sdk/api/task_text_classification_api.py +592 -0
  55. qanswer_sdk/api/tasks_api.py +318 -0
  56. qanswer_sdk/api/tool_embedder_api.py +5208 -0
  57. qanswer_sdk/api/tool_llm_api.py +6518 -0
  58. qanswer_sdk/api/unit_organizations_api.py +7086 -0
  59. qanswer_sdk/api/unit_teams_api.py +4255 -0
  60. qanswer_sdk/api/unit_user_api.py +11948 -0
  61. qanswer_sdk/api/v1_chat_completion_api.py +330 -0
  62. qanswer_sdk/api/v1_embeddings_api.py +297 -0
  63. qanswer_sdk/api_client.py +804 -0
  64. qanswer_sdk/api_response.py +21 -0
  65. qanswer_sdk/configuration.py +614 -0
  66. qanswer_sdk/exceptions.py +216 -0
  67. qanswer_sdk/models/__init__.py +567 -0
  68. qanswer_sdk/models/access_audio_spans_response_model.py +91 -0
  69. qanswer_sdk/models/access_pdf_payload_model.py +111 -0
  70. qanswer_sdk/models/access_type.py +42 -0
  71. qanswer_sdk/models/access_type_shared.py +38 -0
  72. qanswer_sdk/models/add_qn_a_request.py +103 -0
  73. qanswer_sdk/models/add_synonyms.py +93 -0
  74. qanswer_sdk/models/add_synonyms_resp.py +89 -0
  75. qanswer_sdk/models/admin_overall_stats_response.py +105 -0
  76. qanswer_sdk/models/admin_user_overall_stats.py +99 -0
  77. qanswer_sdk/models/advanced_o_auth2_mcp_authentication_config.py +95 -0
  78. qanswer_sdk/models/aggregate.py +93 -0
  79. qanswer_sdk/models/aggregation.py +116 -0
  80. qanswer_sdk/models/aggregation_type.py +41 -0
  81. qanswer_sdk/models/aggregations_group.py +102 -0
  82. qanswer_sdk/models/ai_assistant_clone_response.py +91 -0
  83. qanswer_sdk/models/ai_assistant_dto.py +122 -0
  84. qanswer_sdk/models/ai_assistant_filter_dto.py +113 -0
  85. qanswer_sdk/models/ai_assistant_list.py +101 -0
  86. qanswer_sdk/models/ai_assistant_share_response.py +93 -0
  87. qanswer_sdk/models/ai_assistant_shared_access.py +113 -0
  88. qanswer_sdk/models/ai_excel_task_settings.py +125 -0
  89. qanswer_sdk/models/ai_excel_task_update.py +125 -0
  90. qanswer_sdk/models/ai_task_settings_update_payload.py +95 -0
  91. qanswer_sdk/models/ai_template_base_with_id.py +95 -0
  92. qanswer_sdk/models/ai_template_cell.py +113 -0
  93. qanswer_sdk/models/ai_template_cell_base.py +87 -0
  94. qanswer_sdk/models/ai_template_cell_update_payload.py +95 -0
  95. qanswer_sdk/models/ai_template_column.py +99 -0
  96. qanswer_sdk/models/ai_template_column_base.py +93 -0
  97. qanswer_sdk/models/ai_template_column_update_payload.py +109 -0
  98. qanswer_sdk/models/ai_template_column_with_cells.py +109 -0
  99. qanswer_sdk/models/ai_template_create_payload.py +128 -0
  100. qanswer_sdk/models/ai_template_row.py +93 -0
  101. qanswer_sdk/models/ai_template_row_base.py +87 -0
  102. qanswer_sdk/models/ai_template_row_update_payload.py +103 -0
  103. qanswer_sdk/models/ai_template_row_with_cells.py +103 -0
  104. qanswer_sdk/models/ai_template_with_cells.py +134 -0
  105. qanswer_sdk/models/ai_template_with_cells_new_column_id.py +136 -0
  106. qanswer_sdk/models/allowed_extension.py +53 -0
  107. qanswer_sdk/models/allowed_file_extensions.py +98 -0
  108. qanswer_sdk/models/api_key_header_type.py +38 -0
  109. qanswer_sdk/models/api_key_mcp_authentication_config.py +94 -0
  110. qanswer_sdk/models/applied_filter_type.py +37 -0
  111. qanswer_sdk/models/applied_metadata_filter.py +103 -0
  112. qanswer_sdk/models/apply_template_task_settings_to_slots_response.py +89 -0
  113. qanswer_sdk/models/assistant_category_color_definition.py +89 -0
  114. qanswer_sdk/models/assistant_category_color_item.py +89 -0
  115. qanswer_sdk/models/assistant_category_colors_update_payload.py +95 -0
  116. qanswer_sdk/models/assistant_category_count.py +91 -0
  117. qanswer_sdk/models/assistant_message_stop.py +93 -0
  118. qanswer_sdk/models/assistant_task.py +43 -0
  119. qanswer_sdk/models/assistant_template.py +111 -0
  120. qanswer_sdk/models/assistant_template_filter_dto.py +120 -0
  121. qanswer_sdk/models/assistant_template_with_tools_selection_dto.py +121 -0
  122. qanswer_sdk/models/audio_allowed_file_extensions.py +87 -0
  123. qanswer_sdk/models/audio_file_upload_payload.py +107 -0
  124. qanswer_sdk/models/audio_format.py +37 -0
  125. qanswer_sdk/models/audio_segment.py +95 -0
  126. qanswer_sdk/models/audio_segment_update_payload.py +97 -0
  127. qanswer_sdk/models/audio_segment_update_response.py +91 -0
  128. qanswer_sdk/models/audio_speaker_update_payload.py +99 -0
  129. qanswer_sdk/models/audio_speaker_update_response.py +91 -0
  130. qanswer_sdk/models/audio_transcription_list_response.py +101 -0
  131. qanswer_sdk/models/audio_transcription_mode.py +37 -0
  132. qanswer_sdk/models/audio_transcription_record.py +101 -0
  133. qanswer_sdk/models/audio_upload_response.py +99 -0
  134. qanswer_sdk/models/audio_upload_transcription.py +99 -0
  135. qanswer_sdk/models/audio_word_segment.py +93 -0
  136. qanswer_sdk/models/audio_word_span_change.py +94 -0
  137. qanswer_sdk/models/audio_word_span_update_payload.py +104 -0
  138. qanswer_sdk/models/audio_word_span_update_response.py +91 -0
  139. qanswer_sdk/models/audio_word_update_payload.py +100 -0
  140. qanswer_sdk/models/audio_word_update_response.py +91 -0
  141. qanswer_sdk/models/auth_link_response.py +91 -0
  142. qanswer_sdk/models/auto_bot_description_request.py +89 -0
  143. qanswer_sdk/models/auto_bot_description_response.py +87 -0
  144. qanswer_sdk/models/available_aggregation.py +98 -0
  145. qanswer_sdk/models/available_connectors_response.py +99 -0
  146. qanswer_sdk/models/available_embedding_models_response.py +95 -0
  147. qanswer_sdk/models/available_endpoints_response.py +95 -0
  148. qanswer_sdk/models/available_logs_visibility_policy.py +103 -0
  149. qanswer_sdk/models/available_space_quota_for_dataset.py +95 -0
  150. qanswer_sdk/models/available_storage_preference.py +103 -0
  151. qanswer_sdk/models/base_connectors_response.py +89 -0
  152. qanswer_sdk/models/base_conversation_response.py +89 -0
  153. qanswer_sdk/models/base_feedback_response.py +89 -0
  154. qanswer_sdk/models/bot_answer_length.py +38 -0
  155. qanswer_sdk/models/branding_app_title.py +87 -0
  156. qanswer_sdk/models/branding_system_message.py +87 -0
  157. qanswer_sdk/models/bulk_update_tool_selections_request.py +87 -0
  158. qanswer_sdk/models/capability_type.py +37 -0
  159. qanswer_sdk/models/cell.py +89 -0
  160. qanswer_sdk/models/change_password.py +89 -0
  161. qanswer_sdk/models/change_password_admin.py +89 -0
  162. qanswer_sdk/models/change_role.py +96 -0
  163. qanswer_sdk/models/chat_task_settings.py +141 -0
  164. qanswer_sdk/models/chat_task_settings_update_payload.py +95 -0
  165. qanswer_sdk/models/chat_task_update.py +139 -0
  166. qanswer_sdk/models/chatbot_chat_payload.py +148 -0
  167. qanswer_sdk/models/chatbot_default_settings_response.py +95 -0
  168. qanswer_sdk/models/chatbot_llm_dto.py +147 -0
  169. qanswer_sdk/models/chatbot_response.py +151 -0
  170. qanswer_sdk/models/chatbot_setting_dto.py +99 -0
  171. qanswer_sdk/models/chatbot_setting_request.py +91 -0
  172. qanswer_sdk/models/class_info.py +89 -0
  173. qanswer_sdk/models/clone_dataset_request.py +104 -0
  174. qanswer_sdk/models/clone_dataset_response.py +91 -0
  175. qanswer_sdk/models/config.py +228 -0
  176. qanswer_sdk/models/config1.py +138 -0
  177. qanswer_sdk/models/connector_config_list_response.py +99 -0
  178. qanswer_sdk/models/connector_config_model.py +102 -0
  179. qanswer_sdk/models/connector_config_patch_payload.py +93 -0
  180. qanswer_sdk/models/connector_config_response.py +95 -0
  181. qanswer_sdk/models/connector_config_sync_response.py +93 -0
  182. qanswer_sdk/models/connector_config_type.py +37 -0
  183. qanswer_sdk/models/connector_model.py +118 -0
  184. qanswer_sdk/models/connector_type.py +50 -0
  185. qanswer_sdk/models/connector_type_dto.py +98 -0
  186. qanswer_sdk/models/connector_type_list_dto.py +95 -0
  187. qanswer_sdk/models/content_item.py +130 -0
  188. qanswer_sdk/models/content_item_type.py +39 -0
  189. qanswer_sdk/models/conversation_message.py +259 -0
  190. qanswer_sdk/models/conversation_message_error_key.py +52 -0
  191. qanswer_sdk/models/conversation_message_search_result.py +121 -0
  192. qanswer_sdk/models/conversation_model.py +169 -0
  193. qanswer_sdk/models/conversation_overall_stats.py +97 -0
  194. qanswer_sdk/models/conversation_overall_stats_response.py +95 -0
  195. qanswer_sdk/models/conversation_retention_response.py +91 -0
  196. qanswer_sdk/models/conversation_statistics.py +95 -0
  197. qanswer_sdk/models/conversation_update.py +93 -0
  198. qanswer_sdk/models/conversation_users_stats.py +99 -0
  199. qanswer_sdk/models/conversation_users_stats_response.py +99 -0
  200. qanswer_sdk/models/coordinates.py +89 -0
  201. qanswer_sdk/models/cost_summary_dto.py +99 -0
  202. qanswer_sdk/models/create_connector_request.py +95 -0
  203. qanswer_sdk/models/create_connector_response.py +95 -0
  204. qanswer_sdk/models/create_dataset_request.py +145 -0
  205. qanswer_sdk/models/create_imap_connector_request.py +105 -0
  206. qanswer_sdk/models/create_pinecone_connector_request.py +97 -0
  207. qanswer_sdk/models/create_sharepoint_connector_from_certificate_request.py +105 -0
  208. qanswer_sdk/models/create_sharepoint_connector_request.py +103 -0
  209. qanswer_sdk/models/credits_info_global_dto.py +97 -0
  210. qanswer_sdk/models/credits_info_organization_dto.py +95 -0
  211. qanswer_sdk/models/currency.py +38 -0
  212. qanswer_sdk/models/data_filling_mode.py +39 -0
  213. qanswer_sdk/models/data_storage_preference.py +38 -0
  214. qanswer_sdk/models/dataset_config_request.py +138 -0
  215. qanswer_sdk/models/dataset_default_values_model.py +138 -0
  216. qanswer_sdk/models/dataset_detail.py +137 -0
  217. qanswer_sdk/models/dataset_detail_kg.py +97 -0
  218. qanswer_sdk/models/dataset_schema.py +242 -0
  219. qanswer_sdk/models/dataset_size_response.py +91 -0
  220. qanswer_sdk/models/dataset_type.py +38 -0
  221. qanswer_sdk/models/dataset_update_object.py +216 -0
  222. qanswer_sdk/models/dataset_users_response.py +87 -0
  223. qanswer_sdk/models/default_prompt.py +106 -0
  224. qanswer_sdk/models/delete_connector_model.py +96 -0
  225. qanswer_sdk/models/delete_connector_request.py +99 -0
  226. qanswer_sdk/models/delete_connectors_response.py +89 -0
  227. qanswer_sdk/models/delete_files_status_response.py +91 -0
  228. qanswer_sdk/models/delete_index.py +91 -0
  229. qanswer_sdk/models/delete_index_resp.py +89 -0
  230. qanswer_sdk/models/delete_qn_a_pair_request.py +95 -0
  231. qanswer_sdk/models/delete_qn_a_pair_response.py +89 -0
  232. qanswer_sdk/models/delete_synonym.py +93 -0
  233. qanswer_sdk/models/delete_synonym_resp.py +89 -0
  234. qanswer_sdk/models/delete_synonyms.py +91 -0
  235. qanswer_sdk/models/delete_user_response.py +89 -0
  236. qanswer_sdk/models/diarization_queue_status.py +99 -0
  237. qanswer_sdk/models/document_content_response.py +91 -0
  238. qanswer_sdk/models/document_content_update_model.py +99 -0
  239. qanswer_sdk/models/document_file_delete_by_connector_model.py +101 -0
  240. qanswer_sdk/models/document_file_delete_by_id_model.py +91 -0
  241. qanswer_sdk/models/document_metadata.py +173 -0
  242. qanswer_sdk/models/document_metadata_list_wrapper.py +100 -0
  243. qanswer_sdk/models/document_parsing_task_settings.py +130 -0
  244. qanswer_sdk/models/document_parsing_task_settings_update_payload.py +95 -0
  245. qanswer_sdk/models/document_parsing_task_update.py +127 -0
  246. qanswer_sdk/models/document_status_response.py +89 -0
  247. qanswer_sdk/models/dummy_error.py +89 -0
  248. qanswer_sdk/models/duplicate_report_template_payload.py +97 -0
  249. qanswer_sdk/models/duplicate_report_template_response.py +87 -0
  250. qanswer_sdk/models/e_consilium_connector_config.py +108 -0
  251. qanswer_sdk/models/e_consilium_search_index_search_response.py +113 -0
  252. qanswer_sdk/models/econsilium_file_metadata.py +105 -0
  253. qanswer_sdk/models/econsilium_search_index_add_payload.py +107 -0
  254. qanswer_sdk/models/econsilium_search_index_additional_fields.py +103 -0
  255. qanswer_sdk/models/email_folder.py +91 -0
  256. qanswer_sdk/models/email_request.py +87 -0
  257. qanswer_sdk/models/embedder_cost_entry.py +91 -0
  258. qanswer_sdk/models/embedder_cost_filter.py +112 -0
  259. qanswer_sdk/models/embedder_cost_list.py +111 -0
  260. qanswer_sdk/models/embedder_create_dto.py +149 -0
  261. qanswer_sdk/models/embedder_detailed_dto.py +171 -0
  262. qanswer_sdk/models/embedder_dto.py +101 -0
  263. qanswer_sdk/models/embedder_list_dto.py +101 -0
  264. qanswer_sdk/models/embedder_update_dto.py +143 -0
  265. qanswer_sdk/models/embedding_endpoint.py +149 -0
  266. qanswer_sdk/models/embedding_endpoint_create.py +147 -0
  267. qanswer_sdk/models/embedding_endpoint_export_payload.py +87 -0
  268. qanswer_sdk/models/embedding_endpoint_import_failure.py +89 -0
  269. qanswer_sdk/models/embedding_endpoint_import_response.py +99 -0
  270. qanswer_sdk/models/embedding_endpoint_modality.py +37 -0
  271. qanswer_sdk/models/embedding_endpoint_names_validation_payload.py +87 -0
  272. qanswer_sdk/models/embedding_endpoint_update.py +141 -0
  273. qanswer_sdk/models/embedding_endpoint_validation_response.py +96 -0
  274. qanswer_sdk/models/embedding_model.py +96 -0
  275. qanswer_sdk/models/embedding_provider.py +44 -0
  276. qanswer_sdk/models/enable_enhanced_context_payload.py +91 -0
  277. qanswer_sdk/models/enable_enhanced_context_response.py +87 -0
  278. qanswer_sdk/models/endpoint_status.py +38 -0
  279. qanswer_sdk/models/entity_description.py +93 -0
  280. qanswer_sdk/models/entity_description_dto.py +93 -0
  281. qanswer_sdk/models/entity_linking_payload.py +97 -0
  282. qanswer_sdk/models/entity_linking_response.py +97 -0
  283. qanswer_sdk/models/entity_model_in_linking.py +95 -0
  284. qanswer_sdk/models/es_meta_data.py +98 -0
  285. qanswer_sdk/models/es_meta_data_value.py +87 -0
  286. qanswer_sdk/models/evaluate_feedback_response.py +109 -0
  287. qanswer_sdk/models/evaluate_single_feedback_response.py +97 -0
  288. qanswer_sdk/models/external_sources_quota_request.py +91 -0
  289. qanswer_sdk/models/external_sources_quota_response.py +89 -0
  290. qanswer_sdk/models/extra_body.py +91 -0
  291. qanswer_sdk/models/extract_hyper_links_payload.py +100 -0
  292. qanswer_sdk/models/extract_robot_links_payload.py +88 -0
  293. qanswer_sdk/models/extract_robot_links_response.py +88 -0
  294. qanswer_sdk/models/fact.py +96 -0
  295. qanswer_sdk/models/feedback_evaluation_history_entries_response.py +101 -0
  296. qanswer_sdk/models/feedback_evaluation_history_entry_model.py +105 -0
  297. qanswer_sdk/models/feedback_model.py +141 -0
  298. qanswer_sdk/models/feedback_response.py +95 -0
  299. qanswer_sdk/models/feedback_update.py +105 -0
  300. qanswer_sdk/models/file_es_meta_data.py +116 -0
  301. qanswer_sdk/models/file_failure_reason.py +48 -0
  302. qanswer_sdk/models/file_folder_model.py +115 -0
  303. qanswer_sdk/models/file_model.py +130 -0
  304. qanswer_sdk/models/file_status.py +43 -0
  305. qanswer_sdk/models/file_type.py +37 -0
  306. qanswer_sdk/models/file_upload_payload.py +107 -0
  307. qanswer_sdk/models/files_by_connector_model.py +89 -0
  308. qanswer_sdk/models/g_drive_connector_info.py +96 -0
  309. qanswer_sdk/models/g_drive_download_by_ids.py +89 -0
  310. qanswer_sdk/models/g_drive_download_request.py +103 -0
  311. qanswer_sdk/models/generate_ai_cells_by_dimension_payload.py +91 -0
  312. qanswer_sdk/models/generate_ai_cells_payload.py +95 -0
  313. qanswer_sdk/models/generation_params.py +89 -0
  314. qanswer_sdk/models/get_aggregations_payload.py +104 -0
  315. qanswer_sdk/models/get_connector_by_id_response.py +91 -0
  316. qanswer_sdk/models/get_conversation_response.py +95 -0
  317. qanswer_sdk/models/global_config_dto.py +135 -0
  318. qanswer_sdk/models/google_drive_connector_config.py +110 -0
  319. qanswer_sdk/models/guardrail_endpoint.py +121 -0
  320. qanswer_sdk/models/guardrail_mode.py +38 -0
  321. qanswer_sdk/models/highlight_audio_payload_model.py +109 -0
  322. qanswer_sdk/models/http_validation_error.py +95 -0
  323. qanswer_sdk/models/iframe_strategy.py +38 -0
  324. qanswer_sdk/models/image_url_detail.py +38 -0
  325. qanswer_sdk/models/imap_add_payload.py +105 -0
  326. qanswer_sdk/models/imap_additional_fields.py +101 -0
  327. qanswer_sdk/models/imap_file_metadata.py +114 -0
  328. qanswer_sdk/models/imap_search_response.py +113 -0
  329. qanswer_sdk/models/index_config.py +89 -0
  330. qanswer_sdk/models/install_response.py +89 -0
  331. qanswer_sdk/models/interface_origin.py +48 -0
  332. qanswer_sdk/models/ip2_geo_response.py +91 -0
  333. qanswer_sdk/models/is_enabled_response.py +87 -0
  334. qanswer_sdk/models/jwt_authentication_response.py +93 -0
  335. qanswer_sdk/models/label.py +89 -0
  336. qanswer_sdk/models/labeled_node.py +89 -0
  337. qanswer_sdk/models/language.py +42 -0
  338. qanswer_sdk/models/last_updated_template_conversation_id_response.py +87 -0
  339. qanswer_sdk/models/link.py +99 -0
  340. qanswer_sdk/models/link_extraction_response.py +97 -0
  341. qanswer_sdk/models/link_result_paginated.py +97 -0
  342. qanswer_sdk/models/linked_entity_model_in_linking.py +99 -0
  343. qanswer_sdk/models/linker.py +103 -0
  344. qanswer_sdk/models/linking_result_input.py +95 -0
  345. qanswer_sdk/models/linking_result_output.py +95 -0
  346. qanswer_sdk/models/links.py +99 -0
  347. qanswer_sdk/models/list_ai_templates_response.py +101 -0
  348. qanswer_sdk/models/list_connectors_response.py +95 -0
  349. qanswer_sdk/models/list_conversation_response.py +105 -0
  350. qanswer_sdk/models/list_feedback_response.py +105 -0
  351. qanswer_sdk/models/list_files_connector_response.py +107 -0
  352. qanswer_sdk/models/list_published_assistants_payload.py +115 -0
  353. qanswer_sdk/models/list_socket_events.py +95 -0
  354. qanswer_sdk/models/list_synonyms_model.py +95 -0
  355. qanswer_sdk/models/llm_context_ranges.py +93 -0
  356. qanswer_sdk/models/llm_context_ranges_response.py +93 -0
  357. qanswer_sdk/models/llm_cost_entry.py +97 -0
  358. qanswer_sdk/models/llm_cost_filter.py +112 -0
  359. qanswer_sdk/models/llm_cost_list.py +111 -0
  360. qanswer_sdk/models/llm_create_dto.py +208 -0
  361. qanswer_sdk/models/llm_detailed_dto.py +231 -0
  362. qanswer_sdk/models/llm_details.py +123 -0
  363. qanswer_sdk/models/llm_dto.py +147 -0
  364. qanswer_sdk/models/llm_endpoint.py +212 -0
  365. qanswer_sdk/models/llm_endpoint_create.py +204 -0
  366. qanswer_sdk/models/llm_endpoint_default_prompts.py +93 -0
  367. qanswer_sdk/models/llm_endpoint_export_payload.py +87 -0
  368. qanswer_sdk/models/llm_endpoint_import_failure.py +89 -0
  369. qanswer_sdk/models/llm_endpoint_import_response.py +99 -0
  370. qanswer_sdk/models/llm_endpoint_input.py +212 -0
  371. qanswer_sdk/models/llm_endpoint_modality.py +37 -0
  372. qanswer_sdk/models/llm_endpoint_names_validation_payload.py +87 -0
  373. qanswer_sdk/models/llm_endpoint_provider.py +44 -0
  374. qanswer_sdk/models/llm_endpoint_read_input.py +212 -0
  375. qanswer_sdk/models/llm_endpoint_read_output.py +212 -0
  376. qanswer_sdk/models/llm_endpoint_update.py +204 -0
  377. qanswer_sdk/models/llm_endpoint_usage_migration_response.py +93 -0
  378. qanswer_sdk/models/llm_endpoint_validation_response.py +96 -0
  379. qanswer_sdk/models/llm_filter_dto.py +111 -0
  380. qanswer_sdk/models/llm_health_response.py +89 -0
  381. qanswer_sdk/models/llm_list_detailed_dto.py +101 -0
  382. qanswer_sdk/models/llm_list_dto.py +101 -0
  383. qanswer_sdk/models/llm_update_dto.py +208 -0
  384. qanswer_sdk/models/llm_usage_origin.py +63 -0
  385. qanswer_sdk/models/location_details.py +97 -0
  386. qanswer_sdk/models/log_request.py +125 -0
  387. qanswer_sdk/models/login_request.py +89 -0
  388. qanswer_sdk/models/logs_visibility_policy.py +38 -0
  389. qanswer_sdk/models/logs_visibility_policy_payload.py +98 -0
  390. qanswer_sdk/models/logs_visibility_policy_response.py +98 -0
  391. qanswer_sdk/models/mcp_authentication_type.py +39 -0
  392. qanswer_sdk/models/mcp_connection.py +105 -0
  393. qanswer_sdk/models/mcp_connection_create.py +98 -0
  394. qanswer_sdk/models/mcp_server.py +167 -0
  395. qanswer_sdk/models/mcp_server0.py +167 -0
  396. qanswer_sdk/models/mcp_server_create.py +133 -0
  397. qanswer_sdk/models/mcp_server_dto.py +167 -0
  398. qanswer_sdk/models/mcp_server_type.py +37 -0
  399. qanswer_sdk/models/mcp_server_update.py +131 -0
  400. qanswer_sdk/models/mcp_tool_dto.py +141 -0
  401. qanswer_sdk/models/mcp_tool_info.py +95 -0
  402. qanswer_sdk/models/mcp_tool_selection_source.py +37 -0
  403. qanswer_sdk/models/mcp_tool_update.py +91 -0
  404. qanswer_sdk/models/mcp_transport.py +37 -0
  405. qanswer_sdk/models/mcp_visibility.py +38 -0
  406. qanswer_sdk/models/mcpo_auth2_initiating_origin.py +42 -0
  407. qanswer_sdk/models/message_role.py +38 -0
  408. qanswer_sdk/models/messages_stats_per_day_response.py +99 -0
  409. qanswer_sdk/models/microsoft_connector_config.py +110 -0
  410. qanswer_sdk/models/modify_connector_request.py +107 -0
  411. qanswer_sdk/models/modify_file_display_name_request.py +97 -0
  412. qanswer_sdk/models/notification_dto.py +137 -0
  413. qanswer_sdk/models/notification_filter.py +116 -0
  414. qanswer_sdk/models/notification_list_dto.py +101 -0
  415. qanswer_sdk/models/notification_payload_add_to_org_dto.py +87 -0
  416. qanswer_sdk/models/notification_payload_add_to_team_dto.py +89 -0
  417. qanswer_sdk/models/notification_payload_ai_assistant_shared_dto.py +109 -0
  418. qanswer_sdk/models/notification_payload_conversation_shared_dto.py +105 -0
  419. qanswer_sdk/models/notification_payload_dto.py +193 -0
  420. qanswer_sdk/models/notification_payload_human_takeover_requested_dto.py +89 -0
  421. qanswer_sdk/models/notification_payload_quota_reaching_dto.py +91 -0
  422. qanswer_sdk/models/notification_read_dto.py +89 -0
  423. qanswer_sdk/models/notification_type.py +44 -0
  424. qanswer_sdk/models/o_auth_redirect_response.py +89 -0
  425. qanswer_sdk/models/o_auth_service_dto.py +89 -0
  426. qanswer_sdk/models/one_drive_download_by_ids.py +89 -0
  427. qanswer_sdk/models/one_drive_download_request.py +103 -0
  428. qanswer_sdk/models/one_note_download_by_ids.py +91 -0
  429. qanswer_sdk/models/one_note_download_request.py +103 -0
  430. qanswer_sdk/models/org_llm_detailed_dto.py +105 -0
  431. qanswer_sdk/models/organization.py +93 -0
  432. qanswer_sdk/models/organization_creation.py +91 -0
  433. qanswer_sdk/models/organization_dto.py +93 -0
  434. qanswer_sdk/models/organization_filter_dto.py +134 -0
  435. qanswer_sdk/models/organization_list_dto.py +101 -0
  436. qanswer_sdk/models/paginated_report_templates.py +101 -0
  437. qanswer_sdk/models/password.py +89 -0
  438. qanswer_sdk/models/pinecone_index_model.py +91 -0
  439. qanswer_sdk/models/plan_dto.py +132 -0
  440. qanswer_sdk/models/predicted_class.py +89 -0
  441. qanswer_sdk/models/prepare_synonyms_upload_resp.py +99 -0
  442. qanswer_sdk/models/prepared_synonym_group.py +87 -0
  443. qanswer_sdk/models/pricing_plan.py +51 -0
  444. qanswer_sdk/models/pricing_type.py +38 -0
  445. qanswer_sdk/models/prompt_type.py +51 -0
  446. qanswer_sdk/models/provider.py +87 -0
  447. qanswer_sdk/models/publication_add_payload.py +105 -0
  448. qanswer_sdk/models/publication_file_metadata.py +105 -0
  449. qanswer_sdk/models/publication_office_additional_fields.py +111 -0
  450. qanswer_sdk/models/publication_office_connector_config.py +110 -0
  451. qanswer_sdk/models/publication_search_index_search_response.py +113 -0
  452. qanswer_sdk/models/published_assistant_from_java.py +94 -0
  453. qanswer_sdk/models/put_cell_payload.py +89 -0
  454. qanswer_sdk/models/qa_context.py +129 -0
  455. qanswer_sdk/models/qa_context_display_type.py +44 -0
  456. qanswer_sdk/models/qa_contexts.py +116 -0
  457. qanswer_sdk/models/qa_table.py +100 -0
  458. qanswer_sdk/models/qn_a_pair_model.py +103 -0
  459. qanswer_sdk/models/qn_a_pair_response.py +95 -0
  460. qanswer_sdk/models/question_suggestion_response.py +87 -0
  461. qanswer_sdk/models/rag_params.py +89 -0
  462. qanswer_sdk/models/rag_payload.py +186 -0
  463. qanswer_sdk/models/rag_response.py +155 -0
  464. qanswer_sdk/models/rdf_entity_linker_response.py +99 -0
  465. qanswer_sdk/models/rdf_linked_entity.py +97 -0
  466. qanswer_sdk/models/reasoning_effort.py +39 -0
  467. qanswer_sdk/models/reference_model.py +99 -0
  468. qanswer_sdk/models/refresh_frequency.py +39 -0
  469. qanswer_sdk/models/refresh_token_request.py +87 -0
  470. qanswer_sdk/models/refresh_website_connector_payload.py +94 -0
  471. qanswer_sdk/models/register_pinecone_connector_request.py +95 -0
  472. qanswer_sdk/models/report_copilot_generation_from_slots_ack.py +91 -0
  473. qanswer_sdk/models/report_copilot_generation_from_slots_payload.py +95 -0
  474. qanswer_sdk/models/report_copilot_refinement_payload.py +106 -0
  475. qanswer_sdk/models/report_copilot_refinement_response.py +87 -0
  476. qanswer_sdk/models/report_copilot_slot_feedback_update.py +95 -0
  477. qanswer_sdk/models/report_copilot_slot_feedback_update_response.py +95 -0
  478. qanswer_sdk/models/report_copilot_slot_task_settings.py +127 -0
  479. qanswer_sdk/models/report_copilot_slot_task_settings_update.py +127 -0
  480. qanswer_sdk/models/report_copilot_task_settings.py +125 -0
  481. qanswer_sdk/models/report_copilot_task_settings_update_payload.py +95 -0
  482. qanswer_sdk/models/report_copilot_task_update.py +125 -0
  483. qanswer_sdk/models/report_template.py +139 -0
  484. qanswer_sdk/models/report_template_create_payload.py +117 -0
  485. qanswer_sdk/models/report_template_image_upload_response.py +87 -0
  486. qanswer_sdk/models/report_template_simplified.py +115 -0
  487. qanswer_sdk/models/report_template_simplified_payload.py +91 -0
  488. qanswer_sdk/models/report_template_task_settings_update_payload.py +91 -0
  489. qanswer_sdk/models/report_template_update_payload.py +121 -0
  490. qanswer_sdk/models/report_templates_search_payload.py +106 -0
  491. qanswer_sdk/models/reset_password.py +87 -0
  492. qanswer_sdk/models/response_audit_model.py +99 -0
  493. qanswer_sdk/models/response_audit_stats_response.py +101 -0
  494. qanswer_sdk/models/response_get_dummy_union_connector_config_model_backend_api_connectors_config_dummy_models_union_get.py +228 -0
  495. qanswer_sdk/models/retreive_all_synonyms_resp.py +99 -0
  496. qanswer_sdk/models/retry_params.py +89 -0
  497. qanswer_sdk/models/return_type.py +38 -0
  498. qanswer_sdk/models/role.py +99 -0
  499. qanswer_sdk/models/role_name.py +37 -0
  500. qanswer_sdk/models/scrolling_strategy.py +37 -0
  501. qanswer_sdk/models/search_conversation_messages_response.py +105 -0
  502. qanswer_sdk/models/search_document_response.py +105 -0
  503. qanswer_sdk/models/search_index_payload.py +114 -0
  504. qanswer_sdk/models/search_metadata_filter.py +94 -0
  505. qanswer_sdk/models/search_payload.py +146 -0
  506. qanswer_sdk/models/search_response.py +125 -0
  507. qanswer_sdk/models/search_synonyms_resp.py +91 -0
  508. qanswer_sdk/models/search_task_settings.py +139 -0
  509. qanswer_sdk/models/search_task_settings_update_payload.py +95 -0
  510. qanswer_sdk/models/search_task_update.py +137 -0
  511. qanswer_sdk/models/sender_type.py +38 -0
  512. qanswer_sdk/models/share_point_connector_settings.py +94 -0
  513. qanswer_sdk/models/share_point_download_by_ids.py +99 -0
  514. qanswer_sdk/models/share_point_download_request.py +103 -0
  515. qanswer_sdk/models/shared_by.py +38 -0
  516. qanswer_sdk/models/shared_entity_type.py +38 -0
  517. qanswer_sdk/models/shared_organization_access.py +125 -0
  518. qanswer_sdk/models/shared_organization_access_dto.py +125 -0
  519. qanswer_sdk/models/shared_team_access.py +125 -0
  520. qanswer_sdk/models/shared_team_access_dto.py +125 -0
  521. qanswer_sdk/models/shared_user.py +99 -0
  522. qanswer_sdk/models/sign_up_request.py +108 -0
  523. qanswer_sdk/models/signout_request.py +87 -0
  524. qanswer_sdk/models/slot.py +162 -0
  525. qanswer_sdk/models/slot_history_entry.py +127 -0
  526. qanswer_sdk/models/slot_in_prompt.py +91 -0
  527. qanswer_sdk/models/slot_info_with_latest_version.py +95 -0
  528. qanswer_sdk/models/slot_update.py +142 -0
  529. qanswer_sdk/models/socker_join_user.py +91 -0
  530. qanswer_sdk/models/socket_ai_cell_generation.py +99 -0
  531. qanswer_sdk/models/socket_conversation_message.py +280 -0
  532. qanswer_sdk/models/socket_events_q_answer.py +51 -0
  533. qanswer_sdk/models/socket_feedback_evaluation_progress.py +114 -0
  534. qanswer_sdk/models/socket_file_metadata.py +207 -0
  535. qanswer_sdk/models/socket_join_conversation.py +97 -0
  536. qanswer_sdk/models/socket_join_dataset.py +93 -0
  537. qanswer_sdk/models/socket_message_status.py +40 -0
  538. qanswer_sdk/models/socket_notification.py +127 -0
  539. qanswer_sdk/models/socket_report_continuation_response.py +106 -0
  540. qanswer_sdk/models/socket_report_copilot_generation_from_slots_response.py +122 -0
  541. qanswer_sdk/models/socket_report_copilot_generation_from_template_response.py +122 -0
  542. qanswer_sdk/models/socket_report_copilot_refinement_response.py +108 -0
  543. qanswer_sdk/models/socket_speech2_text_response.py +131 -0
  544. qanswer_sdk/models/socket_stop_conversation.py +97 -0
  545. qanswer_sdk/models/source.py +125 -0
  546. qanswer_sdk/models/source_metadata.py +109 -0
  547. qanswer_sdk/models/speech2_text_response.py +119 -0
  548. qanswer_sdk/models/stat_per_date.py +89 -0
  549. qanswer_sdk/models/status_response.py +89 -0
  550. qanswer_sdk/models/stop_template_generation_payload.py +91 -0
  551. qanswer_sdk/models/storage_active_status.py +37 -0
  552. qanswer_sdk/models/subscription_response.py +101 -0
  553. qanswer_sdk/models/subscription_status.py +39 -0
  554. qanswer_sdk/models/suggestion_list_response.py +87 -0
  555. qanswer_sdk/models/summa_server.py +101 -0
  556. qanswer_sdk/models/task_category.py +58 -0
  557. qanswer_sdk/models/task_name.py +43 -0
  558. qanswer_sdk/models/team.py +93 -0
  559. qanswer_sdk/models/team_creation.py +89 -0
  560. qanswer_sdk/models/team_creation_dto.py +89 -0
  561. qanswer_sdk/models/team_dto.py +93 -0
  562. qanswer_sdk/models/team_filter_dto.py +141 -0
  563. qanswer_sdk/models/team_list_dto.py +101 -0
  564. qanswer_sdk/models/template_clip_structure.py +114 -0
  565. qanswer_sdk/models/template_toggle_request.py +93 -0
  566. qanswer_sdk/models/terms_bucket.py +94 -0
  567. qanswer_sdk/models/test_imap_connection_payload.py +95 -0
  568. qanswer_sdk/models/text2_sparql_payload.py +188 -0
  569. qanswer_sdk/models/text2_sparql_task_settings.py +125 -0
  570. qanswer_sdk/models/text2_sparql_task_settings_update_payload.py +95 -0
  571. qanswer_sdk/models/text2_sparql_task_update.py +125 -0
  572. qanswer_sdk/models/text_classification_payload.py +99 -0
  573. qanswer_sdk/models/text_classification_response.py +87 -0
  574. qanswer_sdk/models/text_classification_v2_payload.py +99 -0
  575. qanswer_sdk/models/text_classification_v2_response.py +95 -0
  576. qanswer_sdk/models/thinking_block.py +91 -0
  577. qanswer_sdk/models/tool_selection.py +89 -0
  578. qanswer_sdk/models/total_stat.py +96 -0
  579. qanswer_sdk/models/ui_mappings.py +141 -0
  580. qanswer_sdk/models/update_cells_payload.py +93 -0
  581. qanswer_sdk/models/update_file_es_meta_data.py +116 -0
  582. qanswer_sdk/models/update_metadata_model_input.py +97 -0
  583. qanswer_sdk/models/update_metadata_model_output.py +97 -0
  584. qanswer_sdk/models/update_qn_a_pair_request.py +101 -0
  585. qanswer_sdk/models/update_qn_a_pair_response.py +89 -0
  586. qanswer_sdk/models/update_synonyms.py +95 -0
  587. qanswer_sdk/models/update_synonyms_resp.py +89 -0
  588. qanswer_sdk/models/update_template_cells_payload.py +101 -0
  589. qanswer_sdk/models/upload_metadata.py +115 -0
  590. qanswer_sdk/models/user.py +91 -0
  591. qanswer_sdk/models/user_credits_config_dto.py +99 -0
  592. qanswer_sdk/models/user_credits_dto.py +106 -0
  593. qanswer_sdk/models/user_dataset_api_key.py +120 -0
  594. qanswer_sdk/models/user_dataset_api_key_dto.py +120 -0
  595. qanswer_sdk/models/user_dataset_mcp_tool_selection_dto.py +102 -0
  596. qanswer_sdk/models/user_dto.py +91 -0
  597. qanswer_sdk/models/user_filter_dto.py +155 -0
  598. qanswer_sdk/models/user_identity_availability.py +87 -0
  599. qanswer_sdk/models/user_info_dto.py +95 -0
  600. qanswer_sdk/models/user_list_dto.py +101 -0
  601. qanswer_sdk/models/user_log.py +102 -0
  602. qanswer_sdk/models/user_log_dto.py +102 -0
  603. qanswer_sdk/models/user_logs_list_dto.py +97 -0
  604. qanswer_sdk/models/user_mcp_tool_selection_dto.py +118 -0
  605. qanswer_sdk/models/user_oauth_token.py +96 -0
  606. qanswer_sdk/models/user_oauth_token_dto.py +96 -0
  607. qanswer_sdk/models/user_profile_dto.py +200 -0
  608. qanswer_sdk/models/user_profile_list_dto.py +101 -0
  609. qanswer_sdk/models/user_stat_per_date.py +90 -0
  610. qanswer_sdk/models/validation_error.py +108 -0
  611. qanswer_sdk/models/validation_error_loc_inner.py +138 -0
  612. qanswer_sdk/models/warn_visibility.py +40 -0
  613. qanswer_sdk/models/websearch_connector_config.py +102 -0
  614. qanswer_sdk/models/websearch_scraping_site.py +91 -0
  615. qanswer_sdk/models/website_add_payload.py +102 -0
  616. qanswer_sdk/models/website_connector_config.py +102 -0
  617. qanswer_sdk/models/website_connector_settings.py +160 -0
  618. qanswer_sdk/models/widget_configs.py +109 -0
  619. qanswer_sdk/py.typed +0 -0
  620. qanswer_sdk/rest.py +258 -0
  621. qanswer_sdk-0.46.0.dev0.dist-info/METADATA +252 -0
  622. qanswer_sdk-0.46.0.dev0.dist-info/RECORD +624 -0
  623. qanswer_sdk-0.46.0.dev0.dist-info/WHEEL +5 -0
  624. qanswer_sdk-0.46.0.dev0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1841 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ free-text-client
5
+
6
+ QAnswer 2.0 API
7
+
8
+ The version of the OpenAPI document: 2.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from datetime import date
20
+ from pydantic import StrictBool, StrictInt, StrictStr, field_validator
21
+ from typing import Any, Optional
22
+ from qanswer_sdk.models.notification_dto import NotificationDto
23
+ from qanswer_sdk.models.notification_filter import NotificationFilter
24
+ from qanswer_sdk.models.notification_list_dto import NotificationListDto
25
+ from qanswer_sdk.models.notification_read_dto import NotificationReadDto
26
+
27
+ from qanswer_sdk.api_client import ApiClient, RequestSerialized
28
+ from qanswer_sdk.api_response import ApiResponse
29
+ from qanswer_sdk.rest import RESTResponseType
30
+
31
+
32
+ class NotificationsApi:
33
+ """NOTE: This class is auto generated by OpenAPI Generator
34
+ Ref: https://openapi-generator.tech
35
+
36
+ Do not edit the class manually.
37
+ """
38
+
39
+ def __init__(self, api_client=None) -> None:
40
+ if api_client is None:
41
+ api_client = ApiClient.get_default()
42
+ self.api_client = api_client
43
+
44
+
45
+ @validate_call
46
+ def delete_notification(
47
+ self,
48
+ notification_id: StrictInt,
49
+ _request_timeout: Union[
50
+ None,
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Tuple[
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Annotated[StrictFloat, Field(gt=0)]
55
+ ]
56
+ ] = None,
57
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
58
+ _content_type: Optional[StrictStr] = None,
59
+ _headers: Optional[Dict[StrictStr, Any]] = None,
60
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
61
+ ) -> object:
62
+ """Delete a notification
63
+
64
+
65
+ :param notification_id: (required)
66
+ :type notification_id: int
67
+ :param _request_timeout: timeout setting for this request. If one
68
+ number provided, it will be total request
69
+ timeout. It can also be a pair (tuple) of
70
+ (connection, read) timeouts.
71
+ :type _request_timeout: int, tuple(int, int), optional
72
+ :param _request_auth: set to override the auth_settings for an a single
73
+ request; this effectively ignores the
74
+ authentication in the spec for a single request.
75
+ :type _request_auth: dict, optional
76
+ :param _content_type: force content-type for the request.
77
+ :type _content_type: str, Optional
78
+ :param _headers: set to override the headers for a single
79
+ request; this effectively ignores the headers
80
+ in the spec for a single request.
81
+ :type _headers: dict, optional
82
+ :param _host_index: set to override the host_index for a single
83
+ request; this effectively ignores the host_index
84
+ in the spec for a single request.
85
+ :type _host_index: int, optional
86
+ :return: Returns the result object.
87
+ """ # noqa: E501
88
+
89
+ _param = self._delete_notification_serialize(
90
+ notification_id=notification_id,
91
+ _request_auth=_request_auth,
92
+ _content_type=_content_type,
93
+ _headers=_headers,
94
+ _host_index=_host_index
95
+ )
96
+
97
+ _response_types_map: Dict[str, Optional[str]] = {
98
+ '200': "object",
99
+ '422': "HTTPValidationError",
100
+ }
101
+ response_data = self.api_client.call_api(
102
+ *_param,
103
+ _request_timeout=_request_timeout
104
+ )
105
+ response_data.read()
106
+ return self.api_client.response_deserialize(
107
+ response_data=response_data,
108
+ response_types_map=_response_types_map,
109
+ ).data
110
+
111
+
112
+ @validate_call
113
+ def delete_notification_with_http_info(
114
+ self,
115
+ notification_id: StrictInt,
116
+ _request_timeout: Union[
117
+ None,
118
+ Annotated[StrictFloat, Field(gt=0)],
119
+ Tuple[
120
+ Annotated[StrictFloat, Field(gt=0)],
121
+ Annotated[StrictFloat, Field(gt=0)]
122
+ ]
123
+ ] = None,
124
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
125
+ _content_type: Optional[StrictStr] = None,
126
+ _headers: Optional[Dict[StrictStr, Any]] = None,
127
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
128
+ ) -> ApiResponse[object]:
129
+ """Delete a notification
130
+
131
+
132
+ :param notification_id: (required)
133
+ :type notification_id: int
134
+ :param _request_timeout: timeout setting for this request. If one
135
+ number provided, it will be total request
136
+ timeout. It can also be a pair (tuple) of
137
+ (connection, read) timeouts.
138
+ :type _request_timeout: int, tuple(int, int), optional
139
+ :param _request_auth: set to override the auth_settings for an a single
140
+ request; this effectively ignores the
141
+ authentication in the spec for a single request.
142
+ :type _request_auth: dict, optional
143
+ :param _content_type: force content-type for the request.
144
+ :type _content_type: str, Optional
145
+ :param _headers: set to override the headers for a single
146
+ request; this effectively ignores the headers
147
+ in the spec for a single request.
148
+ :type _headers: dict, optional
149
+ :param _host_index: set to override the host_index for a single
150
+ request; this effectively ignores the host_index
151
+ in the spec for a single request.
152
+ :type _host_index: int, optional
153
+ :return: Returns the result object.
154
+ """ # noqa: E501
155
+
156
+ _param = self._delete_notification_serialize(
157
+ notification_id=notification_id,
158
+ _request_auth=_request_auth,
159
+ _content_type=_content_type,
160
+ _headers=_headers,
161
+ _host_index=_host_index
162
+ )
163
+
164
+ _response_types_map: Dict[str, Optional[str]] = {
165
+ '200': "object",
166
+ '422': "HTTPValidationError",
167
+ }
168
+ response_data = self.api_client.call_api(
169
+ *_param,
170
+ _request_timeout=_request_timeout
171
+ )
172
+ response_data.read()
173
+ return self.api_client.response_deserialize(
174
+ response_data=response_data,
175
+ response_types_map=_response_types_map,
176
+ )
177
+
178
+
179
+ @validate_call
180
+ def delete_notification_without_preload_content(
181
+ self,
182
+ notification_id: StrictInt,
183
+ _request_timeout: Union[
184
+ None,
185
+ Annotated[StrictFloat, Field(gt=0)],
186
+ Tuple[
187
+ Annotated[StrictFloat, Field(gt=0)],
188
+ Annotated[StrictFloat, Field(gt=0)]
189
+ ]
190
+ ] = None,
191
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
192
+ _content_type: Optional[StrictStr] = None,
193
+ _headers: Optional[Dict[StrictStr, Any]] = None,
194
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
195
+ ) -> RESTResponseType:
196
+ """Delete a notification
197
+
198
+
199
+ :param notification_id: (required)
200
+ :type notification_id: int
201
+ :param _request_timeout: timeout setting for this request. If one
202
+ number provided, it will be total request
203
+ timeout. It can also be a pair (tuple) of
204
+ (connection, read) timeouts.
205
+ :type _request_timeout: int, tuple(int, int), optional
206
+ :param _request_auth: set to override the auth_settings for an a single
207
+ request; this effectively ignores the
208
+ authentication in the spec for a single request.
209
+ :type _request_auth: dict, optional
210
+ :param _content_type: force content-type for the request.
211
+ :type _content_type: str, Optional
212
+ :param _headers: set to override the headers for a single
213
+ request; this effectively ignores the headers
214
+ in the spec for a single request.
215
+ :type _headers: dict, optional
216
+ :param _host_index: set to override the host_index for a single
217
+ request; this effectively ignores the host_index
218
+ in the spec for a single request.
219
+ :type _host_index: int, optional
220
+ :return: Returns the result object.
221
+ """ # noqa: E501
222
+
223
+ _param = self._delete_notification_serialize(
224
+ notification_id=notification_id,
225
+ _request_auth=_request_auth,
226
+ _content_type=_content_type,
227
+ _headers=_headers,
228
+ _host_index=_host_index
229
+ )
230
+
231
+ _response_types_map: Dict[str, Optional[str]] = {
232
+ '200': "object",
233
+ '422': "HTTPValidationError",
234
+ }
235
+ response_data = self.api_client.call_api(
236
+ *_param,
237
+ _request_timeout=_request_timeout
238
+ )
239
+ return response_data.response
240
+
241
+
242
+ def _delete_notification_serialize(
243
+ self,
244
+ notification_id,
245
+ _request_auth,
246
+ _content_type,
247
+ _headers,
248
+ _host_index,
249
+ ) -> RequestSerialized:
250
+
251
+ _host = None
252
+
253
+ _collection_formats: Dict[str, str] = {
254
+ }
255
+
256
+ _path_params: Dict[str, str] = {}
257
+ _query_params: List[Tuple[str, str]] = []
258
+ _header_params: Dict[str, Optional[str]] = _headers or {}
259
+ _form_params: List[Tuple[str, str]] = []
260
+ _files: Dict[
261
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
262
+ ] = {}
263
+ _body_params: Optional[bytes] = None
264
+
265
+ # process the path parameters
266
+ if notification_id is not None:
267
+ _path_params['notificationId'] = notification_id
268
+ # process the query parameters
269
+ # process the header parameters
270
+ # process the form parameters
271
+ # process the body parameter
272
+
273
+
274
+ # set the HTTP header `Accept`
275
+ if 'Accept' not in _header_params:
276
+ _header_params['Accept'] = self.api_client.select_header_accept(
277
+ [
278
+ 'application/json'
279
+ ]
280
+ )
281
+
282
+
283
+ # authentication setting
284
+ _auth_settings: List[str] = [
285
+ 'QAnswer-Api-Key',
286
+ 'Bearer token'
287
+ ]
288
+
289
+ return self.api_client.param_serialize(
290
+ method='POST',
291
+ resource_path='/backend/api/notifications/{notificationId}/delete',
292
+ path_params=_path_params,
293
+ query_params=_query_params,
294
+ header_params=_header_params,
295
+ body=_body_params,
296
+ post_params=_form_params,
297
+ files=_files,
298
+ auth_settings=_auth_settings,
299
+ collection_formats=_collection_formats,
300
+ _host=_host,
301
+ _request_auth=_request_auth
302
+ )
303
+
304
+
305
+
306
+
307
+ @validate_call
308
+ def download_notifications(
309
+ self,
310
+ user_id: Optional[StrictInt] = None,
311
+ sender_id: Optional[StrictInt] = None,
312
+ title: Optional[StrictStr] = None,
313
+ message: Optional[StrictStr] = None,
314
+ notification_type: Optional[StrictStr] = None,
315
+ is_read: Optional[StrictBool] = None,
316
+ from_date: Optional[date] = None,
317
+ to_date: Optional[date] = None,
318
+ page: Optional[StrictInt] = None,
319
+ page_size: Optional[StrictInt] = None,
320
+ _request_timeout: Union[
321
+ None,
322
+ Annotated[StrictFloat, Field(gt=0)],
323
+ Tuple[
324
+ Annotated[StrictFloat, Field(gt=0)],
325
+ Annotated[StrictFloat, Field(gt=0)]
326
+ ]
327
+ ] = None,
328
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
329
+ _content_type: Optional[StrictStr] = None,
330
+ _headers: Optional[Dict[StrictStr, Any]] = None,
331
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
332
+ ) -> object:
333
+ """Download notifications.
334
+
335
+
336
+ :param user_id:
337
+ :type user_id: int
338
+ :param sender_id:
339
+ :type sender_id: int
340
+ :param title:
341
+ :type title: str
342
+ :param message:
343
+ :type message: str
344
+ :param notification_type:
345
+ :type notification_type: str
346
+ :param is_read:
347
+ :type is_read: bool
348
+ :param from_date:
349
+ :type from_date: date
350
+ :param to_date:
351
+ :type to_date: date
352
+ :param page:
353
+ :type page: int
354
+ :param page_size:
355
+ :type page_size: int
356
+ :param _request_timeout: timeout setting for this request. If one
357
+ number provided, it will be total request
358
+ timeout. It can also be a pair (tuple) of
359
+ (connection, read) timeouts.
360
+ :type _request_timeout: int, tuple(int, int), optional
361
+ :param _request_auth: set to override the auth_settings for an a single
362
+ request; this effectively ignores the
363
+ authentication in the spec for a single request.
364
+ :type _request_auth: dict, optional
365
+ :param _content_type: force content-type for the request.
366
+ :type _content_type: str, Optional
367
+ :param _headers: set to override the headers for a single
368
+ request; this effectively ignores the headers
369
+ in the spec for a single request.
370
+ :type _headers: dict, optional
371
+ :param _host_index: set to override the host_index for a single
372
+ request; this effectively ignores the host_index
373
+ in the spec for a single request.
374
+ :type _host_index: int, optional
375
+ :return: Returns the result object.
376
+ """ # noqa: E501
377
+
378
+ _param = self._download_notifications_serialize(
379
+ user_id=user_id,
380
+ sender_id=sender_id,
381
+ title=title,
382
+ message=message,
383
+ notification_type=notification_type,
384
+ is_read=is_read,
385
+ from_date=from_date,
386
+ to_date=to_date,
387
+ page=page,
388
+ page_size=page_size,
389
+ _request_auth=_request_auth,
390
+ _content_type=_content_type,
391
+ _headers=_headers,
392
+ _host_index=_host_index
393
+ )
394
+
395
+ _response_types_map: Dict[str, Optional[str]] = {
396
+ '200': "object",
397
+ '422': "HTTPValidationError",
398
+ }
399
+ response_data = self.api_client.call_api(
400
+ *_param,
401
+ _request_timeout=_request_timeout
402
+ )
403
+ response_data.read()
404
+ return self.api_client.response_deserialize(
405
+ response_data=response_data,
406
+ response_types_map=_response_types_map,
407
+ ).data
408
+
409
+
410
+ @validate_call
411
+ def download_notifications_with_http_info(
412
+ self,
413
+ user_id: Optional[StrictInt] = None,
414
+ sender_id: Optional[StrictInt] = None,
415
+ title: Optional[StrictStr] = None,
416
+ message: Optional[StrictStr] = None,
417
+ notification_type: Optional[StrictStr] = None,
418
+ is_read: Optional[StrictBool] = None,
419
+ from_date: Optional[date] = None,
420
+ to_date: Optional[date] = None,
421
+ page: Optional[StrictInt] = None,
422
+ page_size: Optional[StrictInt] = None,
423
+ _request_timeout: Union[
424
+ None,
425
+ Annotated[StrictFloat, Field(gt=0)],
426
+ Tuple[
427
+ Annotated[StrictFloat, Field(gt=0)],
428
+ Annotated[StrictFloat, Field(gt=0)]
429
+ ]
430
+ ] = None,
431
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
432
+ _content_type: Optional[StrictStr] = None,
433
+ _headers: Optional[Dict[StrictStr, Any]] = None,
434
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
435
+ ) -> ApiResponse[object]:
436
+ """Download notifications.
437
+
438
+
439
+ :param user_id:
440
+ :type user_id: int
441
+ :param sender_id:
442
+ :type sender_id: int
443
+ :param title:
444
+ :type title: str
445
+ :param message:
446
+ :type message: str
447
+ :param notification_type:
448
+ :type notification_type: str
449
+ :param is_read:
450
+ :type is_read: bool
451
+ :param from_date:
452
+ :type from_date: date
453
+ :param to_date:
454
+ :type to_date: date
455
+ :param page:
456
+ :type page: int
457
+ :param page_size:
458
+ :type page_size: int
459
+ :param _request_timeout: timeout setting for this request. If one
460
+ number provided, it will be total request
461
+ timeout. It can also be a pair (tuple) of
462
+ (connection, read) timeouts.
463
+ :type _request_timeout: int, tuple(int, int), optional
464
+ :param _request_auth: set to override the auth_settings for an a single
465
+ request; this effectively ignores the
466
+ authentication in the spec for a single request.
467
+ :type _request_auth: dict, optional
468
+ :param _content_type: force content-type for the request.
469
+ :type _content_type: str, Optional
470
+ :param _headers: set to override the headers for a single
471
+ request; this effectively ignores the headers
472
+ in the spec for a single request.
473
+ :type _headers: dict, optional
474
+ :param _host_index: set to override the host_index for a single
475
+ request; this effectively ignores the host_index
476
+ in the spec for a single request.
477
+ :type _host_index: int, optional
478
+ :return: Returns the result object.
479
+ """ # noqa: E501
480
+
481
+ _param = self._download_notifications_serialize(
482
+ user_id=user_id,
483
+ sender_id=sender_id,
484
+ title=title,
485
+ message=message,
486
+ notification_type=notification_type,
487
+ is_read=is_read,
488
+ from_date=from_date,
489
+ to_date=to_date,
490
+ page=page,
491
+ page_size=page_size,
492
+ _request_auth=_request_auth,
493
+ _content_type=_content_type,
494
+ _headers=_headers,
495
+ _host_index=_host_index
496
+ )
497
+
498
+ _response_types_map: Dict[str, Optional[str]] = {
499
+ '200': "object",
500
+ '422': "HTTPValidationError",
501
+ }
502
+ response_data = self.api_client.call_api(
503
+ *_param,
504
+ _request_timeout=_request_timeout
505
+ )
506
+ response_data.read()
507
+ return self.api_client.response_deserialize(
508
+ response_data=response_data,
509
+ response_types_map=_response_types_map,
510
+ )
511
+
512
+
513
+ @validate_call
514
+ def download_notifications_without_preload_content(
515
+ self,
516
+ user_id: Optional[StrictInt] = None,
517
+ sender_id: Optional[StrictInt] = None,
518
+ title: Optional[StrictStr] = None,
519
+ message: Optional[StrictStr] = None,
520
+ notification_type: Optional[StrictStr] = None,
521
+ is_read: Optional[StrictBool] = None,
522
+ from_date: Optional[date] = None,
523
+ to_date: Optional[date] = None,
524
+ page: Optional[StrictInt] = None,
525
+ page_size: Optional[StrictInt] = None,
526
+ _request_timeout: Union[
527
+ None,
528
+ Annotated[StrictFloat, Field(gt=0)],
529
+ Tuple[
530
+ Annotated[StrictFloat, Field(gt=0)],
531
+ Annotated[StrictFloat, Field(gt=0)]
532
+ ]
533
+ ] = None,
534
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
535
+ _content_type: Optional[StrictStr] = None,
536
+ _headers: Optional[Dict[StrictStr, Any]] = None,
537
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
538
+ ) -> RESTResponseType:
539
+ """Download notifications.
540
+
541
+
542
+ :param user_id:
543
+ :type user_id: int
544
+ :param sender_id:
545
+ :type sender_id: int
546
+ :param title:
547
+ :type title: str
548
+ :param message:
549
+ :type message: str
550
+ :param notification_type:
551
+ :type notification_type: str
552
+ :param is_read:
553
+ :type is_read: bool
554
+ :param from_date:
555
+ :type from_date: date
556
+ :param to_date:
557
+ :type to_date: date
558
+ :param page:
559
+ :type page: int
560
+ :param page_size:
561
+ :type page_size: int
562
+ :param _request_timeout: timeout setting for this request. If one
563
+ number provided, it will be total request
564
+ timeout. It can also be a pair (tuple) of
565
+ (connection, read) timeouts.
566
+ :type _request_timeout: int, tuple(int, int), optional
567
+ :param _request_auth: set to override the auth_settings for an a single
568
+ request; this effectively ignores the
569
+ authentication in the spec for a single request.
570
+ :type _request_auth: dict, optional
571
+ :param _content_type: force content-type for the request.
572
+ :type _content_type: str, Optional
573
+ :param _headers: set to override the headers for a single
574
+ request; this effectively ignores the headers
575
+ in the spec for a single request.
576
+ :type _headers: dict, optional
577
+ :param _host_index: set to override the host_index for a single
578
+ request; this effectively ignores the host_index
579
+ in the spec for a single request.
580
+ :type _host_index: int, optional
581
+ :return: Returns the result object.
582
+ """ # noqa: E501
583
+
584
+ _param = self._download_notifications_serialize(
585
+ user_id=user_id,
586
+ sender_id=sender_id,
587
+ title=title,
588
+ message=message,
589
+ notification_type=notification_type,
590
+ is_read=is_read,
591
+ from_date=from_date,
592
+ to_date=to_date,
593
+ page=page,
594
+ page_size=page_size,
595
+ _request_auth=_request_auth,
596
+ _content_type=_content_type,
597
+ _headers=_headers,
598
+ _host_index=_host_index
599
+ )
600
+
601
+ _response_types_map: Dict[str, Optional[str]] = {
602
+ '200': "object",
603
+ '422': "HTTPValidationError",
604
+ }
605
+ response_data = self.api_client.call_api(
606
+ *_param,
607
+ _request_timeout=_request_timeout
608
+ )
609
+ return response_data.response
610
+
611
+
612
+ def _download_notifications_serialize(
613
+ self,
614
+ user_id,
615
+ sender_id,
616
+ title,
617
+ message,
618
+ notification_type,
619
+ is_read,
620
+ from_date,
621
+ to_date,
622
+ page,
623
+ page_size,
624
+ _request_auth,
625
+ _content_type,
626
+ _headers,
627
+ _host_index,
628
+ ) -> RequestSerialized:
629
+
630
+ _host = None
631
+
632
+ _collection_formats: Dict[str, str] = {
633
+ }
634
+
635
+ _path_params: Dict[str, str] = {}
636
+ _query_params: List[Tuple[str, str]] = []
637
+ _header_params: Dict[str, Optional[str]] = _headers or {}
638
+ _form_params: List[Tuple[str, str]] = []
639
+ _files: Dict[
640
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
641
+ ] = {}
642
+ _body_params: Optional[bytes] = None
643
+
644
+ # process the path parameters
645
+ # process the query parameters
646
+ if user_id is not None:
647
+
648
+ _query_params.append(('userId', user_id))
649
+
650
+ if sender_id is not None:
651
+
652
+ _query_params.append(('senderId', sender_id))
653
+
654
+ if title is not None:
655
+
656
+ _query_params.append(('title', title))
657
+
658
+ if message is not None:
659
+
660
+ _query_params.append(('message', message))
661
+
662
+ if notification_type is not None:
663
+
664
+ _query_params.append(('notificationType', notification_type))
665
+
666
+ if is_read is not None:
667
+
668
+ _query_params.append(('isRead', is_read))
669
+
670
+ if from_date is not None:
671
+ if isinstance(from_date, date):
672
+ _query_params.append(
673
+ (
674
+ 'fromDate',
675
+ from_date.strftime(
676
+ self.api_client.configuration.date_format
677
+ )
678
+ )
679
+ )
680
+ else:
681
+ _query_params.append(('fromDate', from_date))
682
+
683
+ if to_date is not None:
684
+ if isinstance(to_date, date):
685
+ _query_params.append(
686
+ (
687
+ 'toDate',
688
+ to_date.strftime(
689
+ self.api_client.configuration.date_format
690
+ )
691
+ )
692
+ )
693
+ else:
694
+ _query_params.append(('toDate', to_date))
695
+
696
+ if page is not None:
697
+
698
+ _query_params.append(('page', page))
699
+
700
+ if page_size is not None:
701
+
702
+ _query_params.append(('pageSize', page_size))
703
+
704
+ # process the header parameters
705
+ # process the form parameters
706
+ # process the body parameter
707
+
708
+
709
+ # set the HTTP header `Accept`
710
+ if 'Accept' not in _header_params:
711
+ _header_params['Accept'] = self.api_client.select_header_accept(
712
+ [
713
+ 'application/json'
714
+ ]
715
+ )
716
+
717
+
718
+ # authentication setting
719
+ _auth_settings: List[str] = [
720
+ 'QAnswer-Api-Key',
721
+ 'Bearer token'
722
+ ]
723
+
724
+ return self.api_client.param_serialize(
725
+ method='GET',
726
+ resource_path='/backend/api/notifications/download',
727
+ path_params=_path_params,
728
+ query_params=_query_params,
729
+ header_params=_header_params,
730
+ body=_body_params,
731
+ post_params=_form_params,
732
+ files=_files,
733
+ auth_settings=_auth_settings,
734
+ collection_formats=_collection_formats,
735
+ _host=_host,
736
+ _request_auth=_request_auth
737
+ )
738
+
739
+
740
+
741
+
742
+ @validate_call
743
+ def get_notification(
744
+ self,
745
+ notification_id: StrictInt,
746
+ _request_timeout: Union[
747
+ None,
748
+ Annotated[StrictFloat, Field(gt=0)],
749
+ Tuple[
750
+ Annotated[StrictFloat, Field(gt=0)],
751
+ Annotated[StrictFloat, Field(gt=0)]
752
+ ]
753
+ ] = None,
754
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
755
+ _content_type: Optional[StrictStr] = None,
756
+ _headers: Optional[Dict[StrictStr, Any]] = None,
757
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
758
+ ) -> NotificationDto:
759
+ """Get a notification by id
760
+
761
+
762
+ :param notification_id: (required)
763
+ :type notification_id: int
764
+ :param _request_timeout: timeout setting for this request. If one
765
+ number provided, it will be total request
766
+ timeout. It can also be a pair (tuple) of
767
+ (connection, read) timeouts.
768
+ :type _request_timeout: int, tuple(int, int), optional
769
+ :param _request_auth: set to override the auth_settings for an a single
770
+ request; this effectively ignores the
771
+ authentication in the spec for a single request.
772
+ :type _request_auth: dict, optional
773
+ :param _content_type: force content-type for the request.
774
+ :type _content_type: str, Optional
775
+ :param _headers: set to override the headers for a single
776
+ request; this effectively ignores the headers
777
+ in the spec for a single request.
778
+ :type _headers: dict, optional
779
+ :param _host_index: set to override the host_index for a single
780
+ request; this effectively ignores the host_index
781
+ in the spec for a single request.
782
+ :type _host_index: int, optional
783
+ :return: Returns the result object.
784
+ """ # noqa: E501
785
+
786
+ _param = self._get_notification_serialize(
787
+ notification_id=notification_id,
788
+ _request_auth=_request_auth,
789
+ _content_type=_content_type,
790
+ _headers=_headers,
791
+ _host_index=_host_index
792
+ )
793
+
794
+ _response_types_map: Dict[str, Optional[str]] = {
795
+ '200': "NotificationDto",
796
+ '422': "HTTPValidationError",
797
+ }
798
+ response_data = self.api_client.call_api(
799
+ *_param,
800
+ _request_timeout=_request_timeout
801
+ )
802
+ response_data.read()
803
+ return self.api_client.response_deserialize(
804
+ response_data=response_data,
805
+ response_types_map=_response_types_map,
806
+ ).data
807
+
808
+
809
+ @validate_call
810
+ def get_notification_with_http_info(
811
+ self,
812
+ notification_id: StrictInt,
813
+ _request_timeout: Union[
814
+ None,
815
+ Annotated[StrictFloat, Field(gt=0)],
816
+ Tuple[
817
+ Annotated[StrictFloat, Field(gt=0)],
818
+ Annotated[StrictFloat, Field(gt=0)]
819
+ ]
820
+ ] = None,
821
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
822
+ _content_type: Optional[StrictStr] = None,
823
+ _headers: Optional[Dict[StrictStr, Any]] = None,
824
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
825
+ ) -> ApiResponse[NotificationDto]:
826
+ """Get a notification by id
827
+
828
+
829
+ :param notification_id: (required)
830
+ :type notification_id: int
831
+ :param _request_timeout: timeout setting for this request. If one
832
+ number provided, it will be total request
833
+ timeout. It can also be a pair (tuple) of
834
+ (connection, read) timeouts.
835
+ :type _request_timeout: int, tuple(int, int), optional
836
+ :param _request_auth: set to override the auth_settings for an a single
837
+ request; this effectively ignores the
838
+ authentication in the spec for a single request.
839
+ :type _request_auth: dict, optional
840
+ :param _content_type: force content-type for the request.
841
+ :type _content_type: str, Optional
842
+ :param _headers: set to override the headers for a single
843
+ request; this effectively ignores the headers
844
+ in the spec for a single request.
845
+ :type _headers: dict, optional
846
+ :param _host_index: set to override the host_index for a single
847
+ request; this effectively ignores the host_index
848
+ in the spec for a single request.
849
+ :type _host_index: int, optional
850
+ :return: Returns the result object.
851
+ """ # noqa: E501
852
+
853
+ _param = self._get_notification_serialize(
854
+ notification_id=notification_id,
855
+ _request_auth=_request_auth,
856
+ _content_type=_content_type,
857
+ _headers=_headers,
858
+ _host_index=_host_index
859
+ )
860
+
861
+ _response_types_map: Dict[str, Optional[str]] = {
862
+ '200': "NotificationDto",
863
+ '422': "HTTPValidationError",
864
+ }
865
+ response_data = self.api_client.call_api(
866
+ *_param,
867
+ _request_timeout=_request_timeout
868
+ )
869
+ response_data.read()
870
+ return self.api_client.response_deserialize(
871
+ response_data=response_data,
872
+ response_types_map=_response_types_map,
873
+ )
874
+
875
+
876
+ @validate_call
877
+ def get_notification_without_preload_content(
878
+ self,
879
+ notification_id: StrictInt,
880
+ _request_timeout: Union[
881
+ None,
882
+ Annotated[StrictFloat, Field(gt=0)],
883
+ Tuple[
884
+ Annotated[StrictFloat, Field(gt=0)],
885
+ Annotated[StrictFloat, Field(gt=0)]
886
+ ]
887
+ ] = None,
888
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
889
+ _content_type: Optional[StrictStr] = None,
890
+ _headers: Optional[Dict[StrictStr, Any]] = None,
891
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
892
+ ) -> RESTResponseType:
893
+ """Get a notification by id
894
+
895
+
896
+ :param notification_id: (required)
897
+ :type notification_id: int
898
+ :param _request_timeout: timeout setting for this request. If one
899
+ number provided, it will be total request
900
+ timeout. It can also be a pair (tuple) of
901
+ (connection, read) timeouts.
902
+ :type _request_timeout: int, tuple(int, int), optional
903
+ :param _request_auth: set to override the auth_settings for an a single
904
+ request; this effectively ignores the
905
+ authentication in the spec for a single request.
906
+ :type _request_auth: dict, optional
907
+ :param _content_type: force content-type for the request.
908
+ :type _content_type: str, Optional
909
+ :param _headers: set to override the headers for a single
910
+ request; this effectively ignores the headers
911
+ in the spec for a single request.
912
+ :type _headers: dict, optional
913
+ :param _host_index: set to override the host_index for a single
914
+ request; this effectively ignores the host_index
915
+ in the spec for a single request.
916
+ :type _host_index: int, optional
917
+ :return: Returns the result object.
918
+ """ # noqa: E501
919
+
920
+ _param = self._get_notification_serialize(
921
+ notification_id=notification_id,
922
+ _request_auth=_request_auth,
923
+ _content_type=_content_type,
924
+ _headers=_headers,
925
+ _host_index=_host_index
926
+ )
927
+
928
+ _response_types_map: Dict[str, Optional[str]] = {
929
+ '200': "NotificationDto",
930
+ '422': "HTTPValidationError",
931
+ }
932
+ response_data = self.api_client.call_api(
933
+ *_param,
934
+ _request_timeout=_request_timeout
935
+ )
936
+ return response_data.response
937
+
938
+
939
+ def _get_notification_serialize(
940
+ self,
941
+ notification_id,
942
+ _request_auth,
943
+ _content_type,
944
+ _headers,
945
+ _host_index,
946
+ ) -> RequestSerialized:
947
+
948
+ _host = None
949
+
950
+ _collection_formats: Dict[str, str] = {
951
+ }
952
+
953
+ _path_params: Dict[str, str] = {}
954
+ _query_params: List[Tuple[str, str]] = []
955
+ _header_params: Dict[str, Optional[str]] = _headers or {}
956
+ _form_params: List[Tuple[str, str]] = []
957
+ _files: Dict[
958
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
959
+ ] = {}
960
+ _body_params: Optional[bytes] = None
961
+
962
+ # process the path parameters
963
+ if notification_id is not None:
964
+ _path_params['notificationId'] = notification_id
965
+ # process the query parameters
966
+ # process the header parameters
967
+ # process the form parameters
968
+ # process the body parameter
969
+
970
+
971
+ # set the HTTP header `Accept`
972
+ if 'Accept' not in _header_params:
973
+ _header_params['Accept'] = self.api_client.select_header_accept(
974
+ [
975
+ 'application/json'
976
+ ]
977
+ )
978
+
979
+
980
+ # authentication setting
981
+ _auth_settings: List[str] = [
982
+ 'QAnswer-Api-Key',
983
+ 'Bearer token'
984
+ ]
985
+
986
+ return self.api_client.param_serialize(
987
+ method='GET',
988
+ resource_path='/backend/api/notifications/{notificationId}',
989
+ path_params=_path_params,
990
+ query_params=_query_params,
991
+ header_params=_header_params,
992
+ body=_body_params,
993
+ post_params=_form_params,
994
+ files=_files,
995
+ auth_settings=_auth_settings,
996
+ collection_formats=_collection_formats,
997
+ _host=_host,
998
+ _request_auth=_request_auth
999
+ )
1000
+
1001
+
1002
+
1003
+
1004
+ @validate_call
1005
+ def mark_as_read(
1006
+ self,
1007
+ notification_id: StrictInt,
1008
+ body: StrictBool,
1009
+ _request_timeout: Union[
1010
+ None,
1011
+ Annotated[StrictFloat, Field(gt=0)],
1012
+ Tuple[
1013
+ Annotated[StrictFloat, Field(gt=0)],
1014
+ Annotated[StrictFloat, Field(gt=0)]
1015
+ ]
1016
+ ] = None,
1017
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1018
+ _content_type: Optional[StrictStr] = None,
1019
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1020
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1021
+ ) -> object:
1022
+ """Mark a notification as read or unread
1023
+
1024
+
1025
+ :param notification_id: (required)
1026
+ :type notification_id: int
1027
+ :param body: (required)
1028
+ :type body: bool
1029
+ :param _request_timeout: timeout setting for this request. If one
1030
+ number provided, it will be total request
1031
+ timeout. It can also be a pair (tuple) of
1032
+ (connection, read) timeouts.
1033
+ :type _request_timeout: int, tuple(int, int), optional
1034
+ :param _request_auth: set to override the auth_settings for an a single
1035
+ request; this effectively ignores the
1036
+ authentication in the spec for a single request.
1037
+ :type _request_auth: dict, optional
1038
+ :param _content_type: force content-type for the request.
1039
+ :type _content_type: str, Optional
1040
+ :param _headers: set to override the headers for a single
1041
+ request; this effectively ignores the headers
1042
+ in the spec for a single request.
1043
+ :type _headers: dict, optional
1044
+ :param _host_index: set to override the host_index for a single
1045
+ request; this effectively ignores the host_index
1046
+ in the spec for a single request.
1047
+ :type _host_index: int, optional
1048
+ :return: Returns the result object.
1049
+ """ # noqa: E501
1050
+
1051
+ _param = self._mark_as_read_serialize(
1052
+ notification_id=notification_id,
1053
+ body=body,
1054
+ _request_auth=_request_auth,
1055
+ _content_type=_content_type,
1056
+ _headers=_headers,
1057
+ _host_index=_host_index
1058
+ )
1059
+
1060
+ _response_types_map: Dict[str, Optional[str]] = {
1061
+ '200': "object",
1062
+ '422': "HTTPValidationError",
1063
+ }
1064
+ response_data = self.api_client.call_api(
1065
+ *_param,
1066
+ _request_timeout=_request_timeout
1067
+ )
1068
+ response_data.read()
1069
+ return self.api_client.response_deserialize(
1070
+ response_data=response_data,
1071
+ response_types_map=_response_types_map,
1072
+ ).data
1073
+
1074
+
1075
+ @validate_call
1076
+ def mark_as_read_with_http_info(
1077
+ self,
1078
+ notification_id: StrictInt,
1079
+ body: StrictBool,
1080
+ _request_timeout: Union[
1081
+ None,
1082
+ Annotated[StrictFloat, Field(gt=0)],
1083
+ Tuple[
1084
+ Annotated[StrictFloat, Field(gt=0)],
1085
+ Annotated[StrictFloat, Field(gt=0)]
1086
+ ]
1087
+ ] = None,
1088
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1089
+ _content_type: Optional[StrictStr] = None,
1090
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1091
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1092
+ ) -> ApiResponse[object]:
1093
+ """Mark a notification as read or unread
1094
+
1095
+
1096
+ :param notification_id: (required)
1097
+ :type notification_id: int
1098
+ :param body: (required)
1099
+ :type body: bool
1100
+ :param _request_timeout: timeout setting for this request. If one
1101
+ number provided, it will be total request
1102
+ timeout. It can also be a pair (tuple) of
1103
+ (connection, read) timeouts.
1104
+ :type _request_timeout: int, tuple(int, int), optional
1105
+ :param _request_auth: set to override the auth_settings for an a single
1106
+ request; this effectively ignores the
1107
+ authentication in the spec for a single request.
1108
+ :type _request_auth: dict, optional
1109
+ :param _content_type: force content-type for the request.
1110
+ :type _content_type: str, Optional
1111
+ :param _headers: set to override the headers for a single
1112
+ request; this effectively ignores the headers
1113
+ in the spec for a single request.
1114
+ :type _headers: dict, optional
1115
+ :param _host_index: set to override the host_index for a single
1116
+ request; this effectively ignores the host_index
1117
+ in the spec for a single request.
1118
+ :type _host_index: int, optional
1119
+ :return: Returns the result object.
1120
+ """ # noqa: E501
1121
+
1122
+ _param = self._mark_as_read_serialize(
1123
+ notification_id=notification_id,
1124
+ body=body,
1125
+ _request_auth=_request_auth,
1126
+ _content_type=_content_type,
1127
+ _headers=_headers,
1128
+ _host_index=_host_index
1129
+ )
1130
+
1131
+ _response_types_map: Dict[str, Optional[str]] = {
1132
+ '200': "object",
1133
+ '422': "HTTPValidationError",
1134
+ }
1135
+ response_data = self.api_client.call_api(
1136
+ *_param,
1137
+ _request_timeout=_request_timeout
1138
+ )
1139
+ response_data.read()
1140
+ return self.api_client.response_deserialize(
1141
+ response_data=response_data,
1142
+ response_types_map=_response_types_map,
1143
+ )
1144
+
1145
+
1146
+ @validate_call
1147
+ def mark_as_read_without_preload_content(
1148
+ self,
1149
+ notification_id: StrictInt,
1150
+ body: StrictBool,
1151
+ _request_timeout: Union[
1152
+ None,
1153
+ Annotated[StrictFloat, Field(gt=0)],
1154
+ Tuple[
1155
+ Annotated[StrictFloat, Field(gt=0)],
1156
+ Annotated[StrictFloat, Field(gt=0)]
1157
+ ]
1158
+ ] = None,
1159
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1160
+ _content_type: Optional[StrictStr] = None,
1161
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1162
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1163
+ ) -> RESTResponseType:
1164
+ """Mark a notification as read or unread
1165
+
1166
+
1167
+ :param notification_id: (required)
1168
+ :type notification_id: int
1169
+ :param body: (required)
1170
+ :type body: bool
1171
+ :param _request_timeout: timeout setting for this request. If one
1172
+ number provided, it will be total request
1173
+ timeout. It can also be a pair (tuple) of
1174
+ (connection, read) timeouts.
1175
+ :type _request_timeout: int, tuple(int, int), optional
1176
+ :param _request_auth: set to override the auth_settings for an a single
1177
+ request; this effectively ignores the
1178
+ authentication in the spec for a single request.
1179
+ :type _request_auth: dict, optional
1180
+ :param _content_type: force content-type for the request.
1181
+ :type _content_type: str, Optional
1182
+ :param _headers: set to override the headers for a single
1183
+ request; this effectively ignores the headers
1184
+ in the spec for a single request.
1185
+ :type _headers: dict, optional
1186
+ :param _host_index: set to override the host_index for a single
1187
+ request; this effectively ignores the host_index
1188
+ in the spec for a single request.
1189
+ :type _host_index: int, optional
1190
+ :return: Returns the result object.
1191
+ """ # noqa: E501
1192
+
1193
+ _param = self._mark_as_read_serialize(
1194
+ notification_id=notification_id,
1195
+ body=body,
1196
+ _request_auth=_request_auth,
1197
+ _content_type=_content_type,
1198
+ _headers=_headers,
1199
+ _host_index=_host_index
1200
+ )
1201
+
1202
+ _response_types_map: Dict[str, Optional[str]] = {
1203
+ '200': "object",
1204
+ '422': "HTTPValidationError",
1205
+ }
1206
+ response_data = self.api_client.call_api(
1207
+ *_param,
1208
+ _request_timeout=_request_timeout
1209
+ )
1210
+ return response_data.response
1211
+
1212
+
1213
+ def _mark_as_read_serialize(
1214
+ self,
1215
+ notification_id,
1216
+ body,
1217
+ _request_auth,
1218
+ _content_type,
1219
+ _headers,
1220
+ _host_index,
1221
+ ) -> RequestSerialized:
1222
+
1223
+ _host = None
1224
+
1225
+ _collection_formats: Dict[str, str] = {
1226
+ }
1227
+
1228
+ _path_params: Dict[str, str] = {}
1229
+ _query_params: List[Tuple[str, str]] = []
1230
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1231
+ _form_params: List[Tuple[str, str]] = []
1232
+ _files: Dict[
1233
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1234
+ ] = {}
1235
+ _body_params: Optional[bytes] = None
1236
+
1237
+ # process the path parameters
1238
+ if notification_id is not None:
1239
+ _path_params['notificationId'] = notification_id
1240
+ # process the query parameters
1241
+ # process the header parameters
1242
+ # process the form parameters
1243
+ # process the body parameter
1244
+ if body is not None:
1245
+ _body_params = body
1246
+
1247
+
1248
+ # set the HTTP header `Accept`
1249
+ if 'Accept' not in _header_params:
1250
+ _header_params['Accept'] = self.api_client.select_header_accept(
1251
+ [
1252
+ 'application/json'
1253
+ ]
1254
+ )
1255
+
1256
+ # set the HTTP header `Content-Type`
1257
+ if _content_type:
1258
+ _header_params['Content-Type'] = _content_type
1259
+ else:
1260
+ _default_content_type = (
1261
+ self.api_client.select_header_content_type(
1262
+ [
1263
+ 'application/json'
1264
+ ]
1265
+ )
1266
+ )
1267
+ if _default_content_type is not None:
1268
+ _header_params['Content-Type'] = _default_content_type
1269
+
1270
+ # authentication setting
1271
+ _auth_settings: List[str] = [
1272
+ 'QAnswer-Api-Key',
1273
+ 'Bearer token'
1274
+ ]
1275
+
1276
+ return self.api_client.param_serialize(
1277
+ method='PUT',
1278
+ resource_path='/backend/api/notifications/{notificationId}/read',
1279
+ path_params=_path_params,
1280
+ query_params=_query_params,
1281
+ header_params=_header_params,
1282
+ body=_body_params,
1283
+ post_params=_form_params,
1284
+ files=_files,
1285
+ auth_settings=_auth_settings,
1286
+ collection_formats=_collection_formats,
1287
+ _host=_host,
1288
+ _request_auth=_request_auth
1289
+ )
1290
+
1291
+
1292
+
1293
+
1294
+ @validate_call
1295
+ def mark_multiple_as_read(
1296
+ self,
1297
+ notification_read_dto: NotificationReadDto,
1298
+ _request_timeout: Union[
1299
+ None,
1300
+ Annotated[StrictFloat, Field(gt=0)],
1301
+ Tuple[
1302
+ Annotated[StrictFloat, Field(gt=0)],
1303
+ Annotated[StrictFloat, Field(gt=0)]
1304
+ ]
1305
+ ] = None,
1306
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1307
+ _content_type: Optional[StrictStr] = None,
1308
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1309
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1310
+ ) -> object:
1311
+ """Mark multiple notifications as read or unread
1312
+
1313
+
1314
+ :param notification_read_dto: (required)
1315
+ :type notification_read_dto: NotificationReadDto
1316
+ :param _request_timeout: timeout setting for this request. If one
1317
+ number provided, it will be total request
1318
+ timeout. It can also be a pair (tuple) of
1319
+ (connection, read) timeouts.
1320
+ :type _request_timeout: int, tuple(int, int), optional
1321
+ :param _request_auth: set to override the auth_settings for an a single
1322
+ request; this effectively ignores the
1323
+ authentication in the spec for a single request.
1324
+ :type _request_auth: dict, optional
1325
+ :param _content_type: force content-type for the request.
1326
+ :type _content_type: str, Optional
1327
+ :param _headers: set to override the headers for a single
1328
+ request; this effectively ignores the headers
1329
+ in the spec for a single request.
1330
+ :type _headers: dict, optional
1331
+ :param _host_index: set to override the host_index for a single
1332
+ request; this effectively ignores the host_index
1333
+ in the spec for a single request.
1334
+ :type _host_index: int, optional
1335
+ :return: Returns the result object.
1336
+ """ # noqa: E501
1337
+
1338
+ _param = self._mark_multiple_as_read_serialize(
1339
+ notification_read_dto=notification_read_dto,
1340
+ _request_auth=_request_auth,
1341
+ _content_type=_content_type,
1342
+ _headers=_headers,
1343
+ _host_index=_host_index
1344
+ )
1345
+
1346
+ _response_types_map: Dict[str, Optional[str]] = {
1347
+ '200': "object",
1348
+ '422': "HTTPValidationError",
1349
+ }
1350
+ response_data = self.api_client.call_api(
1351
+ *_param,
1352
+ _request_timeout=_request_timeout
1353
+ )
1354
+ response_data.read()
1355
+ return self.api_client.response_deserialize(
1356
+ response_data=response_data,
1357
+ response_types_map=_response_types_map,
1358
+ ).data
1359
+
1360
+
1361
+ @validate_call
1362
+ def mark_multiple_as_read_with_http_info(
1363
+ self,
1364
+ notification_read_dto: NotificationReadDto,
1365
+ _request_timeout: Union[
1366
+ None,
1367
+ Annotated[StrictFloat, Field(gt=0)],
1368
+ Tuple[
1369
+ Annotated[StrictFloat, Field(gt=0)],
1370
+ Annotated[StrictFloat, Field(gt=0)]
1371
+ ]
1372
+ ] = None,
1373
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1374
+ _content_type: Optional[StrictStr] = None,
1375
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1376
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1377
+ ) -> ApiResponse[object]:
1378
+ """Mark multiple notifications as read or unread
1379
+
1380
+
1381
+ :param notification_read_dto: (required)
1382
+ :type notification_read_dto: NotificationReadDto
1383
+ :param _request_timeout: timeout setting for this request. If one
1384
+ number provided, it will be total request
1385
+ timeout. It can also be a pair (tuple) of
1386
+ (connection, read) timeouts.
1387
+ :type _request_timeout: int, tuple(int, int), optional
1388
+ :param _request_auth: set to override the auth_settings for an a single
1389
+ request; this effectively ignores the
1390
+ authentication in the spec for a single request.
1391
+ :type _request_auth: dict, optional
1392
+ :param _content_type: force content-type for the request.
1393
+ :type _content_type: str, Optional
1394
+ :param _headers: set to override the headers for a single
1395
+ request; this effectively ignores the headers
1396
+ in the spec for a single request.
1397
+ :type _headers: dict, optional
1398
+ :param _host_index: set to override the host_index for a single
1399
+ request; this effectively ignores the host_index
1400
+ in the spec for a single request.
1401
+ :type _host_index: int, optional
1402
+ :return: Returns the result object.
1403
+ """ # noqa: E501
1404
+
1405
+ _param = self._mark_multiple_as_read_serialize(
1406
+ notification_read_dto=notification_read_dto,
1407
+ _request_auth=_request_auth,
1408
+ _content_type=_content_type,
1409
+ _headers=_headers,
1410
+ _host_index=_host_index
1411
+ )
1412
+
1413
+ _response_types_map: Dict[str, Optional[str]] = {
1414
+ '200': "object",
1415
+ '422': "HTTPValidationError",
1416
+ }
1417
+ response_data = self.api_client.call_api(
1418
+ *_param,
1419
+ _request_timeout=_request_timeout
1420
+ )
1421
+ response_data.read()
1422
+ return self.api_client.response_deserialize(
1423
+ response_data=response_data,
1424
+ response_types_map=_response_types_map,
1425
+ )
1426
+
1427
+
1428
+ @validate_call
1429
+ def mark_multiple_as_read_without_preload_content(
1430
+ self,
1431
+ notification_read_dto: NotificationReadDto,
1432
+ _request_timeout: Union[
1433
+ None,
1434
+ Annotated[StrictFloat, Field(gt=0)],
1435
+ Tuple[
1436
+ Annotated[StrictFloat, Field(gt=0)],
1437
+ Annotated[StrictFloat, Field(gt=0)]
1438
+ ]
1439
+ ] = None,
1440
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1441
+ _content_type: Optional[StrictStr] = None,
1442
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1443
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1444
+ ) -> RESTResponseType:
1445
+ """Mark multiple notifications as read or unread
1446
+
1447
+
1448
+ :param notification_read_dto: (required)
1449
+ :type notification_read_dto: NotificationReadDto
1450
+ :param _request_timeout: timeout setting for this request. If one
1451
+ number provided, it will be total request
1452
+ timeout. It can also be a pair (tuple) of
1453
+ (connection, read) timeouts.
1454
+ :type _request_timeout: int, tuple(int, int), optional
1455
+ :param _request_auth: set to override the auth_settings for an a single
1456
+ request; this effectively ignores the
1457
+ authentication in the spec for a single request.
1458
+ :type _request_auth: dict, optional
1459
+ :param _content_type: force content-type for the request.
1460
+ :type _content_type: str, Optional
1461
+ :param _headers: set to override the headers for a single
1462
+ request; this effectively ignores the headers
1463
+ in the spec for a single request.
1464
+ :type _headers: dict, optional
1465
+ :param _host_index: set to override the host_index for a single
1466
+ request; this effectively ignores the host_index
1467
+ in the spec for a single request.
1468
+ :type _host_index: int, optional
1469
+ :return: Returns the result object.
1470
+ """ # noqa: E501
1471
+
1472
+ _param = self._mark_multiple_as_read_serialize(
1473
+ notification_read_dto=notification_read_dto,
1474
+ _request_auth=_request_auth,
1475
+ _content_type=_content_type,
1476
+ _headers=_headers,
1477
+ _host_index=_host_index
1478
+ )
1479
+
1480
+ _response_types_map: Dict[str, Optional[str]] = {
1481
+ '200': "object",
1482
+ '422': "HTTPValidationError",
1483
+ }
1484
+ response_data = self.api_client.call_api(
1485
+ *_param,
1486
+ _request_timeout=_request_timeout
1487
+ )
1488
+ return response_data.response
1489
+
1490
+
1491
+ def _mark_multiple_as_read_serialize(
1492
+ self,
1493
+ notification_read_dto,
1494
+ _request_auth,
1495
+ _content_type,
1496
+ _headers,
1497
+ _host_index,
1498
+ ) -> RequestSerialized:
1499
+
1500
+ _host = None
1501
+
1502
+ _collection_formats: Dict[str, str] = {
1503
+ }
1504
+
1505
+ _path_params: Dict[str, str] = {}
1506
+ _query_params: List[Tuple[str, str]] = []
1507
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1508
+ _form_params: List[Tuple[str, str]] = []
1509
+ _files: Dict[
1510
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1511
+ ] = {}
1512
+ _body_params: Optional[bytes] = None
1513
+
1514
+ # process the path parameters
1515
+ # process the query parameters
1516
+ # process the header parameters
1517
+ # process the form parameters
1518
+ # process the body parameter
1519
+ if notification_read_dto is not None:
1520
+ _body_params = notification_read_dto
1521
+
1522
+
1523
+ # set the HTTP header `Accept`
1524
+ if 'Accept' not in _header_params:
1525
+ _header_params['Accept'] = self.api_client.select_header_accept(
1526
+ [
1527
+ 'application/json'
1528
+ ]
1529
+ )
1530
+
1531
+ # set the HTTP header `Content-Type`
1532
+ if _content_type:
1533
+ _header_params['Content-Type'] = _content_type
1534
+ else:
1535
+ _default_content_type = (
1536
+ self.api_client.select_header_content_type(
1537
+ [
1538
+ 'application/json'
1539
+ ]
1540
+ )
1541
+ )
1542
+ if _default_content_type is not None:
1543
+ _header_params['Content-Type'] = _default_content_type
1544
+
1545
+ # authentication setting
1546
+ _auth_settings: List[str] = [
1547
+ 'QAnswer-Api-Key',
1548
+ 'Bearer token'
1549
+ ]
1550
+
1551
+ return self.api_client.param_serialize(
1552
+ method='PUT',
1553
+ resource_path='/backend/api/notifications/read',
1554
+ path_params=_path_params,
1555
+ query_params=_query_params,
1556
+ header_params=_header_params,
1557
+ body=_body_params,
1558
+ post_params=_form_params,
1559
+ files=_files,
1560
+ auth_settings=_auth_settings,
1561
+ collection_formats=_collection_formats,
1562
+ _host=_host,
1563
+ _request_auth=_request_auth
1564
+ )
1565
+
1566
+
1567
+
1568
+
1569
+ @validate_call
1570
+ def search_notifications(
1571
+ self,
1572
+ notification_filter: NotificationFilter,
1573
+ _request_timeout: Union[
1574
+ None,
1575
+ Annotated[StrictFloat, Field(gt=0)],
1576
+ Tuple[
1577
+ Annotated[StrictFloat, Field(gt=0)],
1578
+ Annotated[StrictFloat, Field(gt=0)]
1579
+ ]
1580
+ ] = None,
1581
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1582
+ _content_type: Optional[StrictStr] = None,
1583
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1584
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1585
+ ) -> NotificationListDto:
1586
+ """Search notifications
1587
+
1588
+
1589
+ :param notification_filter: (required)
1590
+ :type notification_filter: NotificationFilter
1591
+ :param _request_timeout: timeout setting for this request. If one
1592
+ number provided, it will be total request
1593
+ timeout. It can also be a pair (tuple) of
1594
+ (connection, read) timeouts.
1595
+ :type _request_timeout: int, tuple(int, int), optional
1596
+ :param _request_auth: set to override the auth_settings for an a single
1597
+ request; this effectively ignores the
1598
+ authentication in the spec for a single request.
1599
+ :type _request_auth: dict, optional
1600
+ :param _content_type: force content-type for the request.
1601
+ :type _content_type: str, Optional
1602
+ :param _headers: set to override the headers for a single
1603
+ request; this effectively ignores the headers
1604
+ in the spec for a single request.
1605
+ :type _headers: dict, optional
1606
+ :param _host_index: set to override the host_index for a single
1607
+ request; this effectively ignores the host_index
1608
+ in the spec for a single request.
1609
+ :type _host_index: int, optional
1610
+ :return: Returns the result object.
1611
+ """ # noqa: E501
1612
+
1613
+ _param = self._search_notifications_serialize(
1614
+ notification_filter=notification_filter,
1615
+ _request_auth=_request_auth,
1616
+ _content_type=_content_type,
1617
+ _headers=_headers,
1618
+ _host_index=_host_index
1619
+ )
1620
+
1621
+ _response_types_map: Dict[str, Optional[str]] = {
1622
+ '200': "NotificationListDto",
1623
+ '422': "HTTPValidationError",
1624
+ }
1625
+ response_data = self.api_client.call_api(
1626
+ *_param,
1627
+ _request_timeout=_request_timeout
1628
+ )
1629
+ response_data.read()
1630
+ return self.api_client.response_deserialize(
1631
+ response_data=response_data,
1632
+ response_types_map=_response_types_map,
1633
+ ).data
1634
+
1635
+
1636
+ @validate_call
1637
+ def search_notifications_with_http_info(
1638
+ self,
1639
+ notification_filter: NotificationFilter,
1640
+ _request_timeout: Union[
1641
+ None,
1642
+ Annotated[StrictFloat, Field(gt=0)],
1643
+ Tuple[
1644
+ Annotated[StrictFloat, Field(gt=0)],
1645
+ Annotated[StrictFloat, Field(gt=0)]
1646
+ ]
1647
+ ] = None,
1648
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1649
+ _content_type: Optional[StrictStr] = None,
1650
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1651
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1652
+ ) -> ApiResponse[NotificationListDto]:
1653
+ """Search notifications
1654
+
1655
+
1656
+ :param notification_filter: (required)
1657
+ :type notification_filter: NotificationFilter
1658
+ :param _request_timeout: timeout setting for this request. If one
1659
+ number provided, it will be total request
1660
+ timeout. It can also be a pair (tuple) of
1661
+ (connection, read) timeouts.
1662
+ :type _request_timeout: int, tuple(int, int), optional
1663
+ :param _request_auth: set to override the auth_settings for an a single
1664
+ request; this effectively ignores the
1665
+ authentication in the spec for a single request.
1666
+ :type _request_auth: dict, optional
1667
+ :param _content_type: force content-type for the request.
1668
+ :type _content_type: str, Optional
1669
+ :param _headers: set to override the headers for a single
1670
+ request; this effectively ignores the headers
1671
+ in the spec for a single request.
1672
+ :type _headers: dict, optional
1673
+ :param _host_index: set to override the host_index for a single
1674
+ request; this effectively ignores the host_index
1675
+ in the spec for a single request.
1676
+ :type _host_index: int, optional
1677
+ :return: Returns the result object.
1678
+ """ # noqa: E501
1679
+
1680
+ _param = self._search_notifications_serialize(
1681
+ notification_filter=notification_filter,
1682
+ _request_auth=_request_auth,
1683
+ _content_type=_content_type,
1684
+ _headers=_headers,
1685
+ _host_index=_host_index
1686
+ )
1687
+
1688
+ _response_types_map: Dict[str, Optional[str]] = {
1689
+ '200': "NotificationListDto",
1690
+ '422': "HTTPValidationError",
1691
+ }
1692
+ response_data = self.api_client.call_api(
1693
+ *_param,
1694
+ _request_timeout=_request_timeout
1695
+ )
1696
+ response_data.read()
1697
+ return self.api_client.response_deserialize(
1698
+ response_data=response_data,
1699
+ response_types_map=_response_types_map,
1700
+ )
1701
+
1702
+
1703
+ @validate_call
1704
+ def search_notifications_without_preload_content(
1705
+ self,
1706
+ notification_filter: NotificationFilter,
1707
+ _request_timeout: Union[
1708
+ None,
1709
+ Annotated[StrictFloat, Field(gt=0)],
1710
+ Tuple[
1711
+ Annotated[StrictFloat, Field(gt=0)],
1712
+ Annotated[StrictFloat, Field(gt=0)]
1713
+ ]
1714
+ ] = None,
1715
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1716
+ _content_type: Optional[StrictStr] = None,
1717
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1718
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1719
+ ) -> RESTResponseType:
1720
+ """Search notifications
1721
+
1722
+
1723
+ :param notification_filter: (required)
1724
+ :type notification_filter: NotificationFilter
1725
+ :param _request_timeout: timeout setting for this request. If one
1726
+ number provided, it will be total request
1727
+ timeout. It can also be a pair (tuple) of
1728
+ (connection, read) timeouts.
1729
+ :type _request_timeout: int, tuple(int, int), optional
1730
+ :param _request_auth: set to override the auth_settings for an a single
1731
+ request; this effectively ignores the
1732
+ authentication in the spec for a single request.
1733
+ :type _request_auth: dict, optional
1734
+ :param _content_type: force content-type for the request.
1735
+ :type _content_type: str, Optional
1736
+ :param _headers: set to override the headers for a single
1737
+ request; this effectively ignores the headers
1738
+ in the spec for a single request.
1739
+ :type _headers: dict, optional
1740
+ :param _host_index: set to override the host_index for a single
1741
+ request; this effectively ignores the host_index
1742
+ in the spec for a single request.
1743
+ :type _host_index: int, optional
1744
+ :return: Returns the result object.
1745
+ """ # noqa: E501
1746
+
1747
+ _param = self._search_notifications_serialize(
1748
+ notification_filter=notification_filter,
1749
+ _request_auth=_request_auth,
1750
+ _content_type=_content_type,
1751
+ _headers=_headers,
1752
+ _host_index=_host_index
1753
+ )
1754
+
1755
+ _response_types_map: Dict[str, Optional[str]] = {
1756
+ '200': "NotificationListDto",
1757
+ '422': "HTTPValidationError",
1758
+ }
1759
+ response_data = self.api_client.call_api(
1760
+ *_param,
1761
+ _request_timeout=_request_timeout
1762
+ )
1763
+ return response_data.response
1764
+
1765
+
1766
+ def _search_notifications_serialize(
1767
+ self,
1768
+ notification_filter,
1769
+ _request_auth,
1770
+ _content_type,
1771
+ _headers,
1772
+ _host_index,
1773
+ ) -> RequestSerialized:
1774
+
1775
+ _host = None
1776
+
1777
+ _collection_formats: Dict[str, str] = {
1778
+ }
1779
+
1780
+ _path_params: Dict[str, str] = {}
1781
+ _query_params: List[Tuple[str, str]] = []
1782
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1783
+ _form_params: List[Tuple[str, str]] = []
1784
+ _files: Dict[
1785
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1786
+ ] = {}
1787
+ _body_params: Optional[bytes] = None
1788
+
1789
+ # process the path parameters
1790
+ # process the query parameters
1791
+ # process the header parameters
1792
+ # process the form parameters
1793
+ # process the body parameter
1794
+ if notification_filter is not None:
1795
+ _body_params = notification_filter
1796
+
1797
+
1798
+ # set the HTTP header `Accept`
1799
+ if 'Accept' not in _header_params:
1800
+ _header_params['Accept'] = self.api_client.select_header_accept(
1801
+ [
1802
+ 'application/json'
1803
+ ]
1804
+ )
1805
+
1806
+ # set the HTTP header `Content-Type`
1807
+ if _content_type:
1808
+ _header_params['Content-Type'] = _content_type
1809
+ else:
1810
+ _default_content_type = (
1811
+ self.api_client.select_header_content_type(
1812
+ [
1813
+ 'application/json'
1814
+ ]
1815
+ )
1816
+ )
1817
+ if _default_content_type is not None:
1818
+ _header_params['Content-Type'] = _default_content_type
1819
+
1820
+ # authentication setting
1821
+ _auth_settings: List[str] = [
1822
+ 'QAnswer-Api-Key',
1823
+ 'Bearer token'
1824
+ ]
1825
+
1826
+ return self.api_client.param_serialize(
1827
+ method='POST',
1828
+ resource_path='/backend/api/notifications/search',
1829
+ path_params=_path_params,
1830
+ query_params=_query_params,
1831
+ header_params=_header_params,
1832
+ body=_body_params,
1833
+ post_params=_form_params,
1834
+ files=_files,
1835
+ auth_settings=_auth_settings,
1836
+ collection_formats=_collection_formats,
1837
+ _host=_host,
1838
+ _request_auth=_request_auth
1839
+ )
1840
+
1841
+