egain-api-python 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- egain_api_python/__init__.py +17 -0
- egain_api_python/_hooks/__init__.py +5 -0
- egain_api_python/_hooks/registration.py +13 -0
- egain_api_python/_hooks/sdkhooks.py +76 -0
- egain_api_python/_hooks/types.py +112 -0
- egain_api_python/_version.py +15 -0
- egain_api_python/aiservices.py +23 -0
- egain_api_python/answers.py +281 -0
- egain_api_python/articlelists.py +469 -0
- egain_api_python/basesdk.py +368 -0
- egain_api_python/connectorssearchevents.py +537 -0
- egain_api_python/content.py +23 -0
- egain_api_python/errors/__init__.py +78 -0
- egain_api_python/errors/egaindefaulterror.py +40 -0
- egain_api_python/errors/egainerror.py +30 -0
- egain_api_python/errors/gethealthop.py +74 -0
- egain_api_python/errors/no_response_error.py +17 -0
- egain_api_python/errors/responsevalidationerror.py +27 -0
- egain_api_python/errors/schemas_wserrorcommon.py +51 -0
- egain_api_python/errors/wserrorcommon.py +49 -0
- egain_api_python/escalation.py +955 -0
- egain_api_python/export.py +487 -0
- egain_api_python/federatedsearchevent.py +287 -0
- egain_api_python/general.py +925 -0
- egain_api_python/guidedhelp.py +3373 -0
- egain_api_python/health.py +253 -0
- egain_api_python/httpclient.py +125 -0
- egain_api_python/import_.py +1161 -0
- egain_api_python/models/__init__.py +2136 -0
- egain_api_python/models/acceptghsolutionop.py +52 -0
- egain_api_python/models/acceptlanguage.py +23 -0
- egain_api_python/models/accessibleportal.py +37 -0
- egain_api_python/models/action.py +56 -0
- egain_api_python/models/actionsearch.py +92 -0
- egain_api_python/models/addasreferenceop.py +52 -0
- egain_api_python/models/addbookmarkop.py +43 -0
- egain_api_python/models/additionalsnippets.py +57 -0
- egain_api_python/models/addtoreplyop.py +52 -0
- egain_api_python/models/aisearchop.py +131 -0
- egain_api_python/models/aisearchresponse.py +67 -0
- egain_api_python/models/allaccessibleportals.py +28 -0
- egain_api_python/models/answer.py +21 -0
- egain_api_python/models/answeredquestion.py +125 -0
- egain_api_python/models/answerrange.py +41 -0
- egain_api_python/models/answersrequest.py +78 -0
- egain_api_python/models/answersresponse.py +93 -0
- egain_api_python/models/article.py +241 -0
- egain_api_python/models/articleactivitylink.py +62 -0
- egain_api_python/models/articleadditionalattributes.py +23 -0
- egain_api_python/models/articleaisearchresult.py +254 -0
- egain_api_python/models/articleattachment.py +44 -0
- egain_api_python/models/articlelist.py +48 -0
- egain_api_python/models/articlelistresult.py +38 -0
- egain_api_python/models/articlelistsresult.py +22 -0
- egain_api_python/models/articlepermissions.py +25 -0
- egain_api_python/models/articlepermissionsresult.py +27 -0
- egain_api_python/models/articlerating.py +51 -0
- egain_api_python/models/articleratingsresponse.py +28 -0
- egain_api_python/models/articleresult.py +159 -0
- egain_api_python/models/articleresultadditionalattributes.py +22 -0
- egain_api_python/models/articleresults.py +32 -0
- egain_api_python/models/articlesearchresult.py +243 -0
- egain_api_python/models/articlesearchresults.py +32 -0
- egain_api_python/models/articlesort.py +11 -0
- egain_api_python/models/articlesortorder.py +11 -0
- egain_api_python/models/articletype.py +56 -0
- egain_api_python/models/articlewitheditions.py +227 -0
- egain_api_python/models/attachment.py +31 -0
- egain_api_python/models/attachmentadditionalattributes.py +10 -0
- egain_api_python/models/attachmentcontent.py +57 -0
- egain_api_python/models/attachmentcontentresult.py +22 -0
- egain_api_python/models/attachmentforcreatesuggestion.py +25 -0
- egain_api_python/models/attachments.py +35 -0
- egain_api_python/models/attachmentsummary.py +37 -0
- egain_api_python/models/attachmentupload.py +20 -0
- egain_api_python/models/avertcustomerescalationop.py +44 -0
- egain_api_python/models/bookmark.py +57 -0
- egain_api_python/models/bookmarkresult.py +26 -0
- egain_api_python/models/bookmarkstatus.py +34 -0
- egain_api_python/models/case.py +158 -0
- egain_api_python/models/caseadditionalattributes.py +11 -0
- egain_api_python/models/caseanswer.py +21 -0
- egain_api_python/models/casebase.py +67 -0
- egain_api_python/models/casebaseresult.py +28 -0
- egain_api_python/models/casebasesearchsettings.py +26 -0
- egain_api_python/models/caselistresult.py +74 -0
- egain_api_python/models/caselistresults.py +28 -0
- egain_api_python/models/casequestion.py +16 -0
- egain_api_python/models/casequestiondetail.py +29 -0
- egain_api_python/models/casesearch.py +80 -0
- egain_api_python/models/clusterid.py +16 -0
- egain_api_python/models/clusterresult.py +37 -0
- egain_api_python/models/clusterresults.py +28 -0
- egain_api_python/models/comment.py +33 -0
- egain_api_python/models/comments.py +26 -0
- egain_api_python/models/completecustomerescalationop.py +44 -0
- egain_api_python/models/compliancearticleresult.py +166 -0
- egain_api_python/models/compliancearticleresultadditionalattributes.py +22 -0
- egain_api_python/models/compliancearticleresults.py +35 -0
- egain_api_python/models/complianceforarticle.py +59 -0
- egain_api_python/models/complyarticleop.py +40 -0
- egain_api_python/models/components_schemas_tag.py +25 -0
- egain_api_python/models/components_schemas_tagcategory.py +39 -0
- egain_api_python/models/components_schemas_taggroup.py +25 -0
- egain_api_python/models/configurableattribute.py +25 -0
- egain_api_python/models/configurableattributes.py +15 -0
- egain_api_python/models/contactperson.py +43 -0
- egain_api_python/models/contacts.py +21 -0
- egain_api_python/models/createbookmark.py +64 -0
- egain_api_python/models/createdby.py +37 -0
- egain_api_python/models/createfederatedsearchevent.py +85 -0
- egain_api_python/models/createfederatedsearchresulteventop.py +46 -0
- egain_api_python/models/createimportop.py +20 -0
- egain_api_python/models/createimportvalidationop.py +20 -0
- egain_api_python/models/createquickpick.py +34 -0
- egain_api_python/models/createquickpickop.py +55 -0
- egain_api_python/models/createsearchresulteventforconnectors.py +71 -0
- egain_api_python/models/createsearchresulteventforconnectorsop.py +48 -0
- egain_api_python/models/createsignedurlop.py +29 -0
- egain_api_python/models/createsuggestion.py +126 -0
- egain_api_python/models/createviewedsearchresulteventforconnectors.py +76 -0
- egain_api_python/models/createviewedsearchresultseventforconnectorsop.py +48 -0
- egain_api_python/models/customattribute.py +35 -0
- egain_api_python/models/deletebookmarkop.py +40 -0
- egain_api_python/models/deletesuggestionop.py +40 -0
- egain_api_python/models/department.py +21 -0
- egain_api_python/models/detailfield.py +32 -0
- egain_api_python/models/displayfield.py +27 -0
- egain_api_python/models/dynamiccluster.py +21 -0
- egain_api_python/models/dynamicsearch.py +40 -0
- egain_api_python/models/edition.py +79 -0
- egain_api_python/models/editionwithcontent.py +68 -0
- egain_api_python/models/email.py +21 -0
- egain_api_python/models/exportcontentop.py +14 -0
- egain_api_python/models/exportstatus.py +106 -0
- egain_api_python/models/exportstatusop.py +31 -0
- egain_api_python/models/feedbackarticleforsuggestion.py +34 -0
- egain_api_python/models/folderbreadcrumb.py +24 -0
- egain_api_python/models/foldersummary.py +29 -0
- egain_api_python/models/getacknowledgedcompliancearticlesop.py +119 -0
- egain_api_python/models/getallarticlelistsop.py +47 -0
- egain_api_python/models/getallcasebasesreleasesop.py +65 -0
- egain_api_python/models/getallcasesop.py +83 -0
- egain_api_python/models/getallportalsop.py +60 -0
- egain_api_python/models/getallprofilesinportalop.py +64 -0
- egain_api_python/models/getallquickpicksop.py +83 -0
- egain_api_python/models/getalltopicsop.py +132 -0
- egain_api_python/models/getalluserprofilesop.py +47 -0
- egain_api_python/models/getancestortopicsop.py +133 -0
- egain_api_python/models/getannouncementarticlesop.py +134 -0
- egain_api_python/models/getarticleattachmentbyidop.py +31 -0
- egain_api_python/models/getarticlebyidop.py +257 -0
- egain_api_python/models/getarticlebyidwitheditionsop.py +46 -0
- egain_api_python/models/getarticleeditiondetailsop.py +55 -0
- egain_api_python/models/getarticlelistdetailsop.py +115 -0
- egain_api_python/models/getarticlepermissionsbyidop.py +40 -0
- egain_api_python/models/getarticlepersonalizationop.py +73 -0
- egain_api_python/models/getarticleratingsop.py +74 -0
- egain_api_python/models/getarticlesintopicop.py +172 -0
- egain_api_python/models/getattachmentbyidinportalop.py +56 -0
- egain_api_python/models/getbookmarkop.py +31 -0
- egain_api_python/models/getcasebasereleasebyidop.py +64 -0
- egain_api_python/models/getcasebyidop.py +75 -0
- egain_api_python/models/getchildtopicsop.py +150 -0
- egain_api_python/models/getclusterbycasebasereleaseidop.py +74 -0
- egain_api_python/models/gethealthop.py +130 -0
- egain_api_python/models/getimportcontentop.py +46 -0
- egain_api_python/models/getmyportalsop.py +97 -0
- egain_api_python/models/getmysubscriptionop.py +115 -0
- egain_api_python/models/getpendingcompliancearticlesop.py +119 -0
- egain_api_python/models/getpopulararticlesop.py +133 -0
- egain_api_python/models/getportaldetailsbyidop.py +47 -0
- egain_api_python/models/getrelatedarticlesforsuggestionop.py +96 -0
- egain_api_python/models/getrelatedarticlesop.py +143 -0
- egain_api_python/models/getsuggestionattachmentbyidop.py +76 -0
- egain_api_python/models/getsuggestionattachmentsop.py +40 -0
- egain_api_python/models/getsuggestioncommentsop.py +40 -0
- egain_api_python/models/getsuggestionop.py +107 -0
- egain_api_python/models/gettagcategoriesforinterestforportalop.py +46 -0
- egain_api_python/models/gettopicbreadcrumbforarticleop.py +55 -0
- egain_api_python/models/getuserdetailsop.py +22 -0
- egain_api_python/models/getusermilestonesop.py +22 -0
- egain_api_python/models/ghsearchrequest.py +67 -0
- egain_api_python/models/ghsearchresult.py +75 -0
- egain_api_python/models/ghstepsearchrequest.py +64 -0
- egain_api_python/models/image.py +17 -0
- egain_api_python/models/importcontent.py +79 -0
- egain_api_python/models/importstatus.py +29 -0
- egain_api_python/models/kblanguage.py +63 -0
- egain_api_python/models/kblanguagecode.py +48 -0
- egain_api_python/models/kblanguages.py +22 -0
- egain_api_python/models/knowledgeexport.py +237 -0
- egain_api_python/models/l10nstring.py +22 -0
- egain_api_python/models/languagecode.py +39 -0
- egain_api_python/models/languagecode_parameter.py +39 -0
- egain_api_python/models/languagequeryparameter.py +39 -0
- egain_api_python/models/link.py +25 -0
- egain_api_python/models/makesuggestionop.py +44 -0
- egain_api_python/models/mandatorylanguagequeryparameter.py +38 -0
- egain_api_python/models/metadata.py +29 -0
- egain_api_python/models/milestone.py +21 -0
- egain_api_python/models/milestonename.py +26 -0
- egain_api_python/models/milestones.py +21 -0
- egain_api_python/models/modifiedby.py +37 -0
- egain_api_python/models/modifysuggestion.py +78 -0
- egain_api_python/models/modifysuggestionsop.py +44 -0
- egain_api_python/models/optionalarticleattributes.py +20 -0
- egain_api_python/models/order.py +10 -0
- egain_api_python/models/ownedby.py +37 -0
- egain_api_python/models/paginationinfo.py +32 -0
- egain_api_python/models/patchimportcontentvalidationop.py +46 -0
- egain_api_python/models/personalization.py +67 -0
- egain_api_python/models/phone.py +21 -0
- egain_api_python/models/portal.py +102 -0
- egain_api_python/models/portalresult.py +28 -0
- egain_api_python/models/portalsettings.py +398 -0
- egain_api_python/models/post_portalid_answersop.py +88 -0
- egain_api_python/models/post_portalid_retrieveop.py +88 -0
- egain_api_python/models/profile.py +26 -0
- egain_api_python/models/profileresult.py +24 -0
- egain_api_python/models/publishprofile.py +30 -0
- egain_api_python/models/publishview.py +38 -0
- egain_api_python/models/question.py +101 -0
- egain_api_python/models/questionandanswer.py +26 -0
- egain_api_python/models/quickpickrating.py +32 -0
- egain_api_python/models/quickpickresult.py +38 -0
- egain_api_python/models/quickpickresults.py +28 -0
- egain_api_python/models/ratearticleop.py +71 -0
- egain_api_python/models/referenceresponse.py +80 -0
- egain_api_python/models/rejectghsolutionop.py +52 -0
- egain_api_python/models/relatedquestions.py +28 -0
- egain_api_python/models/resourcetype_parameter.py +10 -0
- egain_api_python/models/restorequickpickop.py +63 -0
- egain_api_python/models/retrieverequest.py +47 -0
- egain_api_python/models/retrieveresponse.py +96 -0
- egain_api_python/models/role.py +26 -0
- egain_api_python/models/roletemplate.py +25 -0
- egain_api_python/models/schemas_answer.py +94 -0
- egain_api_python/models/schemas_customattribute.py +35 -0
- egain_api_python/models/schemas_link.py +27 -0
- egain_api_python/models/schemas_tag.py +21 -0
- egain_api_python/models/schemas_tagcategory.py +75 -0
- egain_api_python/models/schemas_taggroup.py +31 -0
- egain_api_python/models/schemas_tags.py +19 -0
- egain_api_python/models/schemas_wserrorcommon.py +17 -0
- egain_api_python/models/searchfilterattribute.py +61 -0
- egain_api_python/models/searchpriortoescalationop.py +108 -0
- egain_api_python/models/searchresult.py +101 -0
- egain_api_python/models/searchsuggestionop.py +93 -0
- egain_api_python/models/security.py +25 -0
- egain_api_python/models/selectuserprofileop.py +44 -0
- egain_api_python/models/sessioncontextvariable.py +17 -0
- egain_api_python/models/shorturl.py +32 -0
- egain_api_python/models/sortidname.py +10 -0
- egain_api_python/models/sortidnamedepartment.py +11 -0
- egain_api_python/models/stage.py +26 -0
- egain_api_python/models/startcustomerescalationop.py +66 -0
- egain_api_python/models/startescalationrequest.py +94 -0
- egain_api_python/models/startghsearchop.py +74 -0
- egain_api_python/models/startquestionandanswer.py +26 -0
- egain_api_python/models/stepghsearchop.py +62 -0
- egain_api_python/models/stringattributevalue.py +30 -0
- egain_api_python/models/structuredauthoringfields.py +33 -0
- egain_api_python/models/subscribearticleop.py +40 -0
- egain_api_python/models/suggestion.py +190 -0
- egain_api_python/models/suggestionadditionalattributes.py +11 -0
- egain_api_python/models/suggestionattachment.py +46 -0
- egain_api_python/models/suggestions.py +28 -0
- egain_api_python/models/tag.py +17 -0
- egain_api_python/models/tagcategoriesforinterest.py +22 -0
- egain_api_python/models/tagcategory.py +34 -0
- egain_api_python/models/taggroup.py +17 -0
- egain_api_python/models/taggroups.py +20 -0
- egain_api_python/models/tags.py +17 -0
- egain_api_python/models/topic.py +113 -0
- egain_api_python/models/topicadditionalattributes.py +20 -0
- egain_api_python/models/topicaisearchresult.py +67 -0
- egain_api_python/models/topicbreadcrumb.py +24 -0
- egain_api_python/models/topicresult.py +26 -0
- egain_api_python/models/topicsummary.py +31 -0
- egain_api_python/models/topictreenode.py +27 -0
- egain_api_python/models/topictreeresult.py +28 -0
- egain_api_python/models/unsubscribearticleop.py +55 -0
- egain_api_python/models/uploadattachmentop.py +36 -0
- egain_api_python/models/userdetails.py +44 -0
- egain_api_python/models/userprofile.py +33 -0
- egain_api_python/models/userprofiles.py +21 -0
- egain_api_python/models/userview.py +33 -0
- egain_api_python/models/validateimportcontent.py +58 -0
- egain_api_python/models/virtualcase.py +52 -0
- egain_api_python/models/workflow.py +21 -0
- egain_api_python/models/workflowmilestone.py +11 -0
- egain_api_python/models/wserrorcommon.py +17 -0
- egain_api_python/populararticles.py +287 -0
- egain_api_python/portal_article.py +4935 -0
- egain_api_python/portal_attachment.py +494 -0
- egain_api_python/portal_bookmark.py +707 -0
- egain_api_python/portal_sdk.py +88 -0
- egain_api_python/portal_suggestion.py +2283 -0
- egain_api_python/portal_topic.py +975 -0
- egain_api_python/portal_userdetails.py +211 -0
- egain_api_python/portal_userprofile.py +431 -0
- egain_api_python/py.typed +1 -0
- egain_api_python/retrieve.py +265 -0
- egain_api_python/sdk.py +216 -0
- egain_api_python/sdkconfiguration.py +50 -0
- egain_api_python/search.py +251 -0
- egain_api_python/types/__init__.py +21 -0
- egain_api_python/types/basemodel.py +39 -0
- egain_api_python/usermilestones.py +219 -0
- egain_api_python/utils/__init__.py +200 -0
- egain_api_python/utils/annotations.py +79 -0
- egain_api_python/utils/datetimes.py +23 -0
- egain_api_python/utils/enums.py +74 -0
- egain_api_python/utils/eventstreaming.py +248 -0
- egain_api_python/utils/forms.py +223 -0
- egain_api_python/utils/headers.py +136 -0
- egain_api_python/utils/logger.py +27 -0
- egain_api_python/utils/metadata.py +118 -0
- egain_api_python/utils/queryparams.py +205 -0
- egain_api_python/utils/requestbodies.py +66 -0
- egain_api_python/utils/retries.py +217 -0
- egain_api_python/utils/security.py +192 -0
- egain_api_python/utils/serializers.py +249 -0
- egain_api_python/utils/unmarshal_json_response.py +24 -0
- egain_api_python/utils/url.py +155 -0
- egain_api_python/utils/values.py +137 -0
- egain_api_python-0.1.1.dist-info/METADATA +827 -0
- egain_api_python-0.1.1.dist-info/RECORD +332 -0
- egain_api_python-0.1.1.dist-info/WHEEL +5 -0
- egain_api_python-0.1.1.dist-info/licenses/LICENSE +21 -0
- egain_api_python-0.1.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,113 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .createdby import CreatedBy, CreatedByTypedDict
|
5
|
+
from .customattribute import CustomAttribute, CustomAttributeTypedDict
|
6
|
+
from .link import Link, LinkTypedDict
|
7
|
+
from .modifiedby import ModifiedBy, ModifiedByTypedDict
|
8
|
+
from egain_api_python.types import BaseModel
|
9
|
+
import pydantic
|
10
|
+
from typing import Any, List, Optional
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
12
|
+
|
13
|
+
|
14
|
+
class TopicTypedDict(TypedDict):
|
15
|
+
r"""This schema contains general information about the topic."""
|
16
|
+
|
17
|
+
id: str
|
18
|
+
r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits."""
|
19
|
+
name: Any
|
20
|
+
r"""The name of the topic."""
|
21
|
+
description: NotRequired[str]
|
22
|
+
r"""A description of the topic."""
|
23
|
+
article_count_in_topic: NotRequired[int]
|
24
|
+
r"""Number of articles in this topic."""
|
25
|
+
article_count_in_topic_tree: NotRequired[int]
|
26
|
+
r"""Number of articles in this topic and all sub-topics."""
|
27
|
+
created_by: NotRequired[CreatedByTypedDict]
|
28
|
+
created_date: NotRequired[str]
|
29
|
+
department_id: NotRequired[str]
|
30
|
+
r"""ID of the topic's department."""
|
31
|
+
image_url: NotRequired[str]
|
32
|
+
r"""The URL of an image to be associated with the topic."""
|
33
|
+
modified_by: NotRequired[ModifiedByTypedDict]
|
34
|
+
modified_date: NotRequired[str]
|
35
|
+
r"""The date on which the topic was last modified."""
|
36
|
+
child_count: NotRequired[int]
|
37
|
+
r"""Number of sub-topics below this topic."""
|
38
|
+
sub_topic_ids: NotRequired[List[str]]
|
39
|
+
r"""Array with the list of sub-topics. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
40
|
+
parent_topic_id: NotRequired[str]
|
41
|
+
r"""ID of the parent topic. -1 if it is the root topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
42
|
+
custom_attributes: NotRequired[List[CustomAttributeTypedDict]]
|
43
|
+
r"""Custom attributes for the Topic."""
|
44
|
+
topic_home_article_id: NotRequired[str]
|
45
|
+
r"""The ID of the article used as the home page of this topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
46
|
+
link: NotRequired[LinkTypedDict]
|
47
|
+
r"""Defines the relationship between this resource and another object."""
|
48
|
+
|
49
|
+
|
50
|
+
class Topic(BaseModel):
|
51
|
+
r"""This schema contains general information about the topic."""
|
52
|
+
|
53
|
+
id: str
|
54
|
+
r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 4-letter prefix, followed by a dash and 4-15 digits."""
|
55
|
+
|
56
|
+
name: Any
|
57
|
+
r"""The name of the topic."""
|
58
|
+
|
59
|
+
description: Optional[str] = None
|
60
|
+
r"""A description of the topic."""
|
61
|
+
|
62
|
+
article_count_in_topic: Annotated[
|
63
|
+
Optional[int], pydantic.Field(alias="articleCountInTopic")
|
64
|
+
] = None
|
65
|
+
r"""Number of articles in this topic."""
|
66
|
+
|
67
|
+
article_count_in_topic_tree: Annotated[
|
68
|
+
Optional[int], pydantic.Field(alias="articleCountInTopicTree")
|
69
|
+
] = None
|
70
|
+
r"""Number of articles in this topic and all sub-topics."""
|
71
|
+
|
72
|
+
created_by: Annotated[Optional[CreatedBy], pydantic.Field(alias="createdBy")] = None
|
73
|
+
|
74
|
+
created_date: Annotated[Optional[str], pydantic.Field(alias="createdDate")] = None
|
75
|
+
|
76
|
+
department_id: Annotated[Optional[str], pydantic.Field(alias="departmentId")] = None
|
77
|
+
r"""ID of the topic's department."""
|
78
|
+
|
79
|
+
image_url: Annotated[Optional[str], pydantic.Field(alias="imageUrl")] = None
|
80
|
+
r"""The URL of an image to be associated with the topic."""
|
81
|
+
|
82
|
+
modified_by: Annotated[Optional[ModifiedBy], pydantic.Field(alias="modifiedBy")] = (
|
83
|
+
None
|
84
|
+
)
|
85
|
+
|
86
|
+
modified_date: Annotated[Optional[str], pydantic.Field(alias="modifiedDate")] = None
|
87
|
+
r"""The date on which the topic was last modified."""
|
88
|
+
|
89
|
+
child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None
|
90
|
+
r"""Number of sub-topics below this topic."""
|
91
|
+
|
92
|
+
sub_topic_ids: Annotated[
|
93
|
+
Optional[List[str]], pydantic.Field(alias="subTopicIds")
|
94
|
+
] = None
|
95
|
+
r"""Array with the list of sub-topics. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
96
|
+
|
97
|
+
parent_topic_id: Annotated[Optional[str], pydantic.Field(alias="parentTopicId")] = (
|
98
|
+
None
|
99
|
+
)
|
100
|
+
r"""ID of the parent topic. -1 if it is the root topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
101
|
+
|
102
|
+
custom_attributes: Annotated[
|
103
|
+
Optional[List[CustomAttribute]], pydantic.Field(alias="customAttributes")
|
104
|
+
] = None
|
105
|
+
r"""Custom attributes for the Topic."""
|
106
|
+
|
107
|
+
topic_home_article_id: Annotated[
|
108
|
+
Optional[str], pydantic.Field(alias="topicHomeArticleId")
|
109
|
+
] = None
|
110
|
+
r"""The ID of the article used as the home page of this topic. <br><br>Valid IDs are composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
111
|
+
|
112
|
+
link: Optional[Link] = None
|
113
|
+
r"""Defines the relationship between this resource and another object."""
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from typing import Literal
|
5
|
+
|
6
|
+
|
7
|
+
TopicAdditionalAttributes = Literal[
|
8
|
+
"description",
|
9
|
+
"createdBy.userName",
|
10
|
+
"createdBy.firstName",
|
11
|
+
"createdBy.lastName",
|
12
|
+
"createdBy.middleName",
|
13
|
+
"modifiedBy.userName",
|
14
|
+
"modifiedBy.firstName",
|
15
|
+
"modifiedBy.lastName",
|
16
|
+
"modifiedBy.middleName",
|
17
|
+
"imageUrl",
|
18
|
+
"textMetaData",
|
19
|
+
"all",
|
20
|
+
]
|
@@ -0,0 +1,67 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from datetime import datetime
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
import pydantic
|
7
|
+
from typing import Optional
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class TopicAISearchResultTypedDict(TypedDict):
|
12
|
+
r"""This schema contains general information about the topic."""
|
13
|
+
|
14
|
+
name: str
|
15
|
+
r"""Name of Topic."""
|
16
|
+
id: str
|
17
|
+
article_count_in_topic: NotRequired[int]
|
18
|
+
r"""Number of articles within the topic."""
|
19
|
+
article_count_in_topic_tree: NotRequired[int]
|
20
|
+
r"""Number of articles in this topic and all sub-topics."""
|
21
|
+
created_by: NotRequired[int]
|
22
|
+
r"""The ID of the user that created this resource."""
|
23
|
+
created_date: NotRequired[datetime]
|
24
|
+
department_id: NotRequired[str]
|
25
|
+
last_modified_by: NotRequired[int]
|
26
|
+
r"""The ID of the user that modified this resource."""
|
27
|
+
last_modified_date: NotRequired[datetime]
|
28
|
+
child_count: NotRequired[int]
|
29
|
+
|
30
|
+
|
31
|
+
class TopicAISearchResult(BaseModel):
|
32
|
+
r"""This schema contains general information about the topic."""
|
33
|
+
|
34
|
+
name: str
|
35
|
+
r"""Name of Topic."""
|
36
|
+
|
37
|
+
id: str
|
38
|
+
|
39
|
+
article_count_in_topic: Annotated[
|
40
|
+
Optional[int], pydantic.Field(alias="articleCountInTopic")
|
41
|
+
] = None
|
42
|
+
r"""Number of articles within the topic."""
|
43
|
+
|
44
|
+
article_count_in_topic_tree: Annotated[
|
45
|
+
Optional[int], pydantic.Field(alias="articleCountInTopicTree")
|
46
|
+
] = None
|
47
|
+
r"""Number of articles in this topic and all sub-topics."""
|
48
|
+
|
49
|
+
created_by: Annotated[Optional[int], pydantic.Field(alias="createdBy")] = None
|
50
|
+
r"""The ID of the user that created this resource."""
|
51
|
+
|
52
|
+
created_date: Annotated[Optional[datetime], pydantic.Field(alias="createdDate")] = (
|
53
|
+
None
|
54
|
+
)
|
55
|
+
|
56
|
+
department_id: Annotated[Optional[str], pydantic.Field(alias="departmentId")] = None
|
57
|
+
|
58
|
+
last_modified_by: Annotated[
|
59
|
+
Optional[int], pydantic.Field(alias="lastModifiedBy")
|
60
|
+
] = None
|
61
|
+
r"""The ID of the user that modified this resource."""
|
62
|
+
|
63
|
+
last_modified_date: Annotated[
|
64
|
+
Optional[datetime], pydantic.Field(alias="lastModifiedDate")
|
65
|
+
] = None
|
66
|
+
|
67
|
+
child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .topicsummary import TopicSummary, TopicSummaryTypedDict
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
import pydantic
|
7
|
+
from typing import List, Optional
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class TopicBreadcrumbTypedDict(TypedDict):
|
12
|
+
r"""This schema contains one or more TopicSummary instances."""
|
13
|
+
|
14
|
+
topic_summary: NotRequired[List[TopicSummaryTypedDict]]
|
15
|
+
r"""An instance of TopicSummary."""
|
16
|
+
|
17
|
+
|
18
|
+
class TopicBreadcrumb(BaseModel):
|
19
|
+
r"""This schema contains one or more TopicSummary instances."""
|
20
|
+
|
21
|
+
topic_summary: Annotated[
|
22
|
+
Optional[List[TopicSummary]], pydantic.Field(alias="topicSummary")
|
23
|
+
] = None
|
24
|
+
r"""An instance of TopicSummary."""
|
@@ -0,0 +1,26 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .paginationinfo import PaginationInfo, PaginationInfoTypedDict
|
5
|
+
from .topic import Topic, TopicTypedDict
|
6
|
+
from egain_api_python.types import BaseModel
|
7
|
+
import pydantic
|
8
|
+
from typing import List, Optional
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
10
|
+
|
11
|
+
|
12
|
+
class TopicResultTypedDict(TypedDict):
|
13
|
+
r"""A TopicResult defines a response from any of the Topic APIs."""
|
14
|
+
|
15
|
+
topic: NotRequired[List[TopicTypedDict]]
|
16
|
+
pagination_info: NotRequired[PaginationInfoTypedDict]
|
17
|
+
|
18
|
+
|
19
|
+
class TopicResult(BaseModel):
|
20
|
+
r"""A TopicResult defines a response from any of the Topic APIs."""
|
21
|
+
|
22
|
+
topic: Optional[List[Topic]] = None
|
23
|
+
|
24
|
+
pagination_info: Annotated[
|
25
|
+
Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
|
26
|
+
] = None
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .link import Link, LinkTypedDict
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
from typing import Optional
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class TopicSummaryTypedDict(TypedDict):
|
11
|
+
r"""This schema contains the topic ID and name of the topics. This is used by TopicBreadcrumb."""
|
12
|
+
|
13
|
+
id: NotRequired[str]
|
14
|
+
r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
15
|
+
name: NotRequired[str]
|
16
|
+
r"""The name of the topic."""
|
17
|
+
link: NotRequired[LinkTypedDict]
|
18
|
+
r"""Defines the relationship between this resource and another object."""
|
19
|
+
|
20
|
+
|
21
|
+
class TopicSummary(BaseModel):
|
22
|
+
r"""This schema contains the topic ID and name of the topics. This is used by TopicBreadcrumb."""
|
23
|
+
|
24
|
+
id: Optional[str] = None
|
25
|
+
r"""The alphanumeric ID of the topic.<br><br>A topic ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
26
|
+
|
27
|
+
name: Optional[str] = None
|
28
|
+
r"""The name of the topic."""
|
29
|
+
|
30
|
+
link: Optional[Link] = None
|
31
|
+
r"""Defines the relationship between this resource and another object."""
|
@@ -0,0 +1,27 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .topic import Topic, TopicTypedDict
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
import pydantic
|
7
|
+
from typing import List, Optional
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class TopicTreeNodeTypedDict(TypedDict):
|
12
|
+
r"""This schema contains general information about the TopicTree."""
|
13
|
+
|
14
|
+
topic: NotRequired[TopicTypedDict]
|
15
|
+
r"""This schema contains general information about the topic."""
|
16
|
+
topic_tree: NotRequired[List[TopicTreeNodeTypedDict]]
|
17
|
+
|
18
|
+
|
19
|
+
class TopicTreeNode(BaseModel):
|
20
|
+
r"""This schema contains general information about the TopicTree."""
|
21
|
+
|
22
|
+
topic: Optional[Topic] = None
|
23
|
+
r"""This schema contains general information about the topic."""
|
24
|
+
|
25
|
+
topic_tree: Annotated[
|
26
|
+
Optional[List[TopicTreeNode]], pydantic.Field(alias="topicTree")
|
27
|
+
] = None
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .paginationinfo import PaginationInfo, PaginationInfoTypedDict
|
5
|
+
from .topictreenode import TopicTreeNode, TopicTreeNodeTypedDict
|
6
|
+
from egain_api_python.types import BaseModel
|
7
|
+
import pydantic
|
8
|
+
from typing import List, Optional
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
10
|
+
|
11
|
+
|
12
|
+
class TopicTreeResultTypedDict(TypedDict):
|
13
|
+
r"""This schema contains the result of topic tree"""
|
14
|
+
|
15
|
+
topic_tree: NotRequired[List[TopicTreeNodeTypedDict]]
|
16
|
+
pagination_info: NotRequired[PaginationInfoTypedDict]
|
17
|
+
|
18
|
+
|
19
|
+
class TopicTreeResult(BaseModel):
|
20
|
+
r"""This schema contains the result of topic tree"""
|
21
|
+
|
22
|
+
topic_tree: Annotated[
|
23
|
+
Optional[List[TopicTreeNode]], pydantic.Field(alias="topicTree")
|
24
|
+
] = None
|
25
|
+
|
26
|
+
pagination_info: Annotated[
|
27
|
+
Optional[PaginationInfo], pydantic.Field(alias="paginationInfo")
|
28
|
+
] = None
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .acceptlanguage import AcceptLanguage
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
from egain_api_python.utils import (
|
7
|
+
FieldMetadata,
|
8
|
+
HeaderMetadata,
|
9
|
+
PathParamMetadata,
|
10
|
+
QueryParamMetadata,
|
11
|
+
)
|
12
|
+
import pydantic
|
13
|
+
from typing import Optional
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
15
|
+
|
16
|
+
|
17
|
+
class UnsubscribeArticleRequestTypedDict(TypedDict):
|
18
|
+
accept_language: AcceptLanguage
|
19
|
+
r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
|
20
|
+
portal_id: str
|
21
|
+
r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
22
|
+
article_id: str
|
23
|
+
r"""The ID of the Article.<br><br>An Article ID is composed of a 2-4 letter prefix followed by a dash and 4-15 digits."""
|
24
|
+
unsubscription_token: NotRequired[str]
|
25
|
+
r"""An encrypted token that contains information about \"object/userId/userType/userProfileId\". This is used to unsubscribe the user from Article change notifications sent via email, without necessitating that the user be logged into the eGain application."""
|
26
|
+
|
27
|
+
|
28
|
+
class UnsubscribeArticleRequest(BaseModel):
|
29
|
+
accept_language: Annotated[
|
30
|
+
AcceptLanguage,
|
31
|
+
pydantic.Field(alias="Accept-Language"),
|
32
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
33
|
+
]
|
34
|
+
r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
|
35
|
+
|
36
|
+
portal_id: Annotated[
|
37
|
+
str,
|
38
|
+
pydantic.Field(alias="portalID"),
|
39
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
40
|
+
]
|
41
|
+
r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
|
42
|
+
|
43
|
+
article_id: Annotated[
|
44
|
+
str,
|
45
|
+
pydantic.Field(alias="articleID"),
|
46
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
47
|
+
]
|
48
|
+
r"""The ID of the Article.<br><br>An Article ID is composed of a 2-4 letter prefix followed by a dash and 4-15 digits."""
|
49
|
+
|
50
|
+
unsubscription_token: Annotated[
|
51
|
+
Optional[str],
|
52
|
+
pydantic.Field(alias="unsubscriptionToken"),
|
53
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
54
|
+
] = None
|
55
|
+
r"""An encrypted token that contains information about \"object/userId/userType/userProfileId\". This is used to unsubscribe the user from Article change notifications sent via email, without necessitating that the user be logged into the eGain application."""
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .acceptlanguage import AcceptLanguage
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
from egain_api_python.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
|
7
|
+
import io
|
8
|
+
import pydantic
|
9
|
+
from typing import IO, Union
|
10
|
+
from typing_extensions import Annotated, TypedDict
|
11
|
+
|
12
|
+
|
13
|
+
class UploadAttachmentRequestTypedDict(TypedDict):
|
14
|
+
accept_language: AcceptLanguage
|
15
|
+
r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
|
16
|
+
signature: str
|
17
|
+
r"""Signature data to upload attachment."""
|
18
|
+
request_body: Union[bytes, IO[bytes], io.BufferedReader]
|
19
|
+
|
20
|
+
|
21
|
+
class UploadAttachmentRequest(BaseModel):
|
22
|
+
accept_language: Annotated[
|
23
|
+
AcceptLanguage,
|
24
|
+
pydantic.Field(alias="Accept-Language"),
|
25
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
26
|
+
]
|
27
|
+
r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
|
28
|
+
|
29
|
+
signature: Annotated[
|
30
|
+
str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
|
31
|
+
]
|
32
|
+
r"""Signature data to upload attachment."""
|
33
|
+
|
34
|
+
request_body: Annotated[
|
35
|
+
Union[bytes, IO[bytes], io.BufferedReader], FieldMetadata(request=True)
|
36
|
+
]
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .role import Role, RoleTypedDict
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
import pydantic
|
7
|
+
from typing import List, Optional
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class UserDetailsTypedDict(TypedDict):
|
12
|
+
r"""Success"""
|
13
|
+
|
14
|
+
id: NotRequired[str]
|
15
|
+
r"""The numerical ID of the User"""
|
16
|
+
roles: NotRequired[List[RoleTypedDict]]
|
17
|
+
r"""Roles of the User"""
|
18
|
+
first_name: NotRequired[str]
|
19
|
+
r"""First Name of the User"""
|
20
|
+
last_name: NotRequired[str]
|
21
|
+
r"""Last Name of the User"""
|
22
|
+
has_email_configured: NotRequired[bool]
|
23
|
+
r"""Indicates if user has email"""
|
24
|
+
|
25
|
+
|
26
|
+
class UserDetails(BaseModel):
|
27
|
+
r"""Success"""
|
28
|
+
|
29
|
+
id: Optional[str] = None
|
30
|
+
r"""The numerical ID of the User"""
|
31
|
+
|
32
|
+
roles: Optional[List[Role]] = None
|
33
|
+
r"""Roles of the User"""
|
34
|
+
|
35
|
+
first_name: Annotated[Optional[str], pydantic.Field(alias="firstName")] = None
|
36
|
+
r"""First Name of the User"""
|
37
|
+
|
38
|
+
last_name: Annotated[Optional[str], pydantic.Field(alias="lastName")] = None
|
39
|
+
r"""Last Name of the User"""
|
40
|
+
|
41
|
+
has_email_configured: Annotated[
|
42
|
+
Optional[bool], pydantic.Field(alias="hasEmailConfigured")
|
43
|
+
] = None
|
44
|
+
r"""Indicates if user has email"""
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from egain_api_python.types import BaseModel
|
5
|
+
import pydantic
|
6
|
+
from typing import Optional
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class UserProfileTypedDict(TypedDict):
|
11
|
+
id: NotRequired[str]
|
12
|
+
r"""The Readable ID of the user profile.<br>
|
13
|
+
|
14
|
+
"""
|
15
|
+
name: NotRequired[str]
|
16
|
+
r"""Name given to the user profile"""
|
17
|
+
is_last_used_in_portal: NotRequired[bool]
|
18
|
+
r"""Indicates if the profile was the last one used by the current user in the portal."""
|
19
|
+
|
20
|
+
|
21
|
+
class UserProfile(BaseModel):
|
22
|
+
id: Optional[str] = None
|
23
|
+
r"""The Readable ID of the user profile.<br>
|
24
|
+
|
25
|
+
"""
|
26
|
+
|
27
|
+
name: Optional[str] = None
|
28
|
+
r"""Name given to the user profile"""
|
29
|
+
|
30
|
+
is_last_used_in_portal: Annotated[
|
31
|
+
Optional[bool], pydantic.Field(alias="isLastUsedInPortal")
|
32
|
+
] = None
|
33
|
+
r"""Indicates if the profile was the last one used by the current user in the portal."""
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .userprofile import UserProfile, UserProfileTypedDict
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
from typing import List, Optional
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
class UserProfilesTypedDict(TypedDict):
|
11
|
+
r"""Success"""
|
12
|
+
|
13
|
+
profile: NotRequired[List[UserProfileTypedDict]]
|
14
|
+
r"""User profiles assigend to user."""
|
15
|
+
|
16
|
+
|
17
|
+
class UserProfiles(BaseModel):
|
18
|
+
r"""Success"""
|
19
|
+
|
20
|
+
profile: Optional[List[UserProfile]] = None
|
21
|
+
r"""User profiles assigend to user."""
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from .link import Link, LinkTypedDict
|
5
|
+
from egain_api_python.types import BaseModel
|
6
|
+
import pydantic
|
7
|
+
from typing import List, Optional
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
9
|
+
|
10
|
+
|
11
|
+
class UserViewTypedDict(TypedDict):
|
12
|
+
link: NotRequired[List[LinkTypedDict]]
|
13
|
+
r"""The link to the user."""
|
14
|
+
first_name: NotRequired[str]
|
15
|
+
r"""The first name of the user."""
|
16
|
+
last_name: NotRequired[str]
|
17
|
+
r"""The last name of the user."""
|
18
|
+
id: NotRequired[str]
|
19
|
+
r"""The ID of the user."""
|
20
|
+
|
21
|
+
|
22
|
+
class UserView(BaseModel):
|
23
|
+
link: Optional[List[Link]] = None
|
24
|
+
r"""The link to the user."""
|
25
|
+
|
26
|
+
first_name: Annotated[Optional[str], pydantic.Field(alias="firstName")] = None
|
27
|
+
r"""The first name of the user."""
|
28
|
+
|
29
|
+
last_name: Annotated[Optional[str], pydantic.Field(alias="lastName")] = None
|
30
|
+
r"""The last name of the user."""
|
31
|
+
|
32
|
+
id: Optional[str] = None
|
33
|
+
r"""The ID of the user."""
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from egain_api_python.types import BaseModel
|
5
|
+
import pydantic
|
6
|
+
from typing import Literal, Optional
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
8
|
+
|
9
|
+
|
10
|
+
ValidateImportContentType = Literal[
|
11
|
+
"AWS S3 bucket",
|
12
|
+
"Shared file path",
|
13
|
+
]
|
14
|
+
r"""Type of data source"""
|
15
|
+
|
16
|
+
|
17
|
+
class ValidateImportContentCredentialsTypedDict(TypedDict):
|
18
|
+
access_key: NotRequired[str]
|
19
|
+
secret_key: NotRequired[str]
|
20
|
+
|
21
|
+
|
22
|
+
class ValidateImportContentCredentials(BaseModel):
|
23
|
+
access_key: Annotated[Optional[str], pydantic.Field(alias="accessKey")] = None
|
24
|
+
|
25
|
+
secret_key: Annotated[Optional[str], pydantic.Field(alias="secretKey")] = None
|
26
|
+
|
27
|
+
|
28
|
+
class ValidateImportContentDataSourceTypedDict(TypedDict):
|
29
|
+
type: ValidateImportContentType
|
30
|
+
r"""Type of data source"""
|
31
|
+
path: str
|
32
|
+
r"""Path of the data source"""
|
33
|
+
region: NotRequired[str]
|
34
|
+
r"""Region of the data source"""
|
35
|
+
credentials: NotRequired[ValidateImportContentCredentialsTypedDict]
|
36
|
+
|
37
|
+
|
38
|
+
class ValidateImportContentDataSource(BaseModel):
|
39
|
+
type: ValidateImportContentType
|
40
|
+
r"""Type of data source"""
|
41
|
+
|
42
|
+
path: str
|
43
|
+
r"""Path of the data source"""
|
44
|
+
|
45
|
+
region: Optional[str] = None
|
46
|
+
r"""Region of the data source"""
|
47
|
+
|
48
|
+
credentials: Optional[ValidateImportContentCredentials] = None
|
49
|
+
|
50
|
+
|
51
|
+
class ValidateImportContentTypedDict(TypedDict):
|
52
|
+
data_source: ValidateImportContentDataSourceTypedDict
|
53
|
+
|
54
|
+
|
55
|
+
class ValidateImportContent(BaseModel):
|
56
|
+
data_source: Annotated[
|
57
|
+
ValidateImportContentDataSource, pydantic.Field(alias="dataSource")
|
58
|
+
]
|