mergepythonclient 2.3.2__py3-none-any.whl → 2.4.0__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.
- merge/__init__.py +3 -1
- merge/client.py +49 -30
- merge/core/client_wrapper.py +2 -2
- merge/resources/__init__.py +3 -2
- merge/resources/knowledgebase/__init__.py +472 -0
- merge/resources/knowledgebase/client.py +480 -0
- merge/resources/knowledgebase/raw_client.py +13 -0
- merge/resources/knowledgebase/resources/__init__.py +128 -0
- merge/resources/knowledgebase/resources/account_details/__init__.py +4 -0
- merge/resources/knowledgebase/resources/account_details/client.py +102 -0
- merge/resources/knowledgebase/resources/account_details/raw_client.py +91 -0
- merge/resources/knowledgebase/resources/account_token/__init__.py +4 -0
- merge/resources/knowledgebase/resources/account_token/client.py +112 -0
- merge/resources/knowledgebase/resources/account_token/raw_client.py +98 -0
- merge/resources/knowledgebase/resources/articles/__init__.py +35 -0
- merge/resources/knowledgebase/resources/articles/client.py +378 -0
- merge/resources/knowledgebase/resources/articles/raw_client.py +363 -0
- merge/resources/knowledgebase/resources/articles/types/__init__.py +36 -0
- merge/resources/knowledgebase/resources/articles/types/articles_list_request_expand.py +625 -0
- merge/resources/knowledgebase/resources/articles/types/articles_retrieve_request_expand.py +631 -0
- merge/resources/knowledgebase/resources/async_passthrough/__init__.py +32 -0
- merge/resources/knowledgebase/resources/async_passthrough/client.py +201 -0
- merge/resources/knowledgebase/resources/async_passthrough/raw_client.py +189 -0
- merge/resources/knowledgebase/resources/async_passthrough/types/__init__.py +32 -0
- merge/resources/knowledgebase/resources/async_passthrough/types/async_passthrough_retrieve_response.py +7 -0
- merge/resources/knowledgebase/resources/attachments/__init__.py +4 -0
- merge/resources/knowledgebase/resources/attachments/client.py +326 -0
- merge/resources/knowledgebase/resources/attachments/raw_client.py +311 -0
- merge/resources/knowledgebase/resources/audit_trail/__init__.py +4 -0
- merge/resources/knowledgebase/resources/audit_trail/client.py +178 -0
- merge/resources/knowledgebase/resources/audit_trail/raw_client.py +161 -0
- merge/resources/knowledgebase/resources/available_actions/__init__.py +4 -0
- merge/resources/knowledgebase/resources/available_actions/client.py +102 -0
- merge/resources/knowledgebase/resources/available_actions/raw_client.py +91 -0
- merge/resources/knowledgebase/resources/containers/__init__.py +35 -0
- merge/resources/knowledgebase/resources/containers/client.py +378 -0
- merge/resources/knowledgebase/resources/containers/raw_client.py +363 -0
- merge/resources/knowledgebase/resources/containers/types/__init__.py +36 -0
- merge/resources/knowledgebase/resources/containers/types/containers_list_request_expand.py +41 -0
- merge/resources/knowledgebase/resources/containers/types/containers_retrieve_request_expand.py +41 -0
- merge/resources/knowledgebase/resources/delete_account/__init__.py +4 -0
- merge/resources/knowledgebase/resources/delete_account/client.py +99 -0
- merge/resources/knowledgebase/resources/delete_account/raw_client.py +71 -0
- merge/resources/knowledgebase/resources/field_mapping/__init__.py +4 -0
- merge/resources/knowledgebase/resources/field_mapping/client.py +652 -0
- merge/resources/knowledgebase/resources/field_mapping/raw_client.py +672 -0
- merge/resources/knowledgebase/resources/force_resync/__init__.py +4 -0
- merge/resources/knowledgebase/resources/force_resync/client.py +106 -0
- merge/resources/knowledgebase/resources/force_resync/raw_client.py +93 -0
- merge/resources/knowledgebase/resources/generate_key/__init__.py +4 -0
- merge/resources/knowledgebase/resources/generate_key/client.py +115 -0
- merge/resources/knowledgebase/resources/generate_key/raw_client.py +114 -0
- merge/resources/knowledgebase/resources/groups/__init__.py +32 -0
- merge/resources/knowledgebase/resources/groups/client.py +348 -0
- merge/resources/knowledgebase/resources/groups/raw_client.py +333 -0
- merge/resources/knowledgebase/resources/groups/types/__init__.py +36 -0
- merge/resources/knowledgebase/resources/groups/types/groups_list_request_expand.py +25 -0
- merge/resources/knowledgebase/resources/groups/types/groups_retrieve_request_expand.py +25 -0
- merge/resources/knowledgebase/resources/issues/__init__.py +32 -0
- merge/resources/knowledgebase/resources/issues/client.py +331 -0
- merge/resources/knowledgebase/resources/issues/raw_client.py +336 -0
- merge/resources/knowledgebase/resources/issues/types/__init__.py +32 -0
- merge/resources/knowledgebase/resources/issues/types/issues_list_request_status.py +17 -0
- merge/resources/knowledgebase/resources/link_token/__init__.py +32 -0
- merge/resources/knowledgebase/resources/link_token/client.py +273 -0
- merge/resources/knowledgebase/resources/link_token/raw_client.py +256 -0
- merge/resources/knowledgebase/resources/link_token/types/__init__.py +32 -0
- merge/resources/knowledgebase/resources/link_token/types/end_user_details_request_language.py +7 -0
- merge/resources/knowledgebase/resources/linked_accounts/__init__.py +32 -0
- merge/resources/knowledgebase/resources/linked_accounts/client.py +265 -0
- merge/resources/knowledgebase/resources/linked_accounts/raw_client.py +248 -0
- merge/resources/knowledgebase/resources/linked_accounts/types/__init__.py +34 -0
- merge/resources/knowledgebase/resources/linked_accounts/types/linked_accounts_list_request_category.py +45 -0
- merge/resources/knowledgebase/resources/passthrough/__init__.py +4 -0
- merge/resources/knowledgebase/resources/passthrough/client.py +126 -0
- merge/resources/knowledgebase/resources/passthrough/raw_client.py +111 -0
- merge/resources/knowledgebase/resources/regenerate_key/__init__.py +4 -0
- merge/resources/knowledgebase/resources/regenerate_key/client.py +115 -0
- merge/resources/knowledgebase/resources/regenerate_key/raw_client.py +114 -0
- merge/resources/knowledgebase/resources/scopes/__init__.py +4 -0
- merge/resources/knowledgebase/resources/scopes/client.py +320 -0
- merge/resources/knowledgebase/resources/scopes/raw_client.py +267 -0
- merge/resources/knowledgebase/resources/sync_status/__init__.py +4 -0
- merge/resources/knowledgebase/resources/sync_status/client.py +130 -0
- merge/resources/knowledgebase/resources/sync_status/raw_client.py +121 -0
- merge/resources/knowledgebase/resources/users/__init__.py +4 -0
- merge/resources/knowledgebase/resources/users/client.py +326 -0
- merge/resources/knowledgebase/resources/users/raw_client.py +311 -0
- merge/resources/knowledgebase/resources/webhook_receivers/__init__.py +4 -0
- merge/resources/knowledgebase/resources/webhook_receivers/client.py +201 -0
- merge/resources/knowledgebase/resources/webhook_receivers/raw_client.py +208 -0
- merge/resources/knowledgebase/types/__init__.py +374 -0
- merge/resources/knowledgebase/types/account_details.py +40 -0
- merge/resources/knowledgebase/types/account_details_and_actions.py +54 -0
- merge/resources/knowledgebase/types/account_details_and_actions_category.py +7 -0
- merge/resources/knowledgebase/types/account_details_and_actions_integration.py +29 -0
- merge/resources/knowledgebase/types/account_details_and_actions_status.py +7 -0
- merge/resources/knowledgebase/types/account_details_and_actions_status_enum.py +36 -0
- merge/resources/knowledgebase/types/account_details_category.py +7 -0
- merge/resources/knowledgebase/types/account_integration.py +67 -0
- merge/resources/knowledgebase/types/account_token.py +23 -0
- merge/resources/knowledgebase/types/advanced_metadata.py +25 -0
- merge/resources/knowledgebase/types/article.py +159 -0
- merge/resources/knowledgebase/types/article_attachments_item.py +7 -0
- merge/resources/knowledgebase/types/article_author.py +7 -0
- merge/resources/knowledgebase/types/article_last_edited_by.py +7 -0
- merge/resources/knowledgebase/types/article_parent_article.py +9 -0
- merge/resources/knowledgebase/types/article_parent_container.py +7 -0
- merge/resources/knowledgebase/types/article_permissions_item.py +7 -0
- merge/resources/knowledgebase/types/article_root_container.py +7 -0
- merge/resources/knowledgebase/types/article_status.py +7 -0
- merge/resources/knowledgebase/types/article_type.py +7 -0
- merge/resources/knowledgebase/types/article_type_enum.py +31 -0
- merge/resources/knowledgebase/types/article_visibility.py +7 -0
- merge/resources/knowledgebase/types/async_passthrough_reciept.py +20 -0
- merge/resources/knowledgebase/types/attachment.py +67 -0
- merge/resources/knowledgebase/types/audit_log_event.py +97 -0
- merge/resources/knowledgebase/types/audit_log_event_event_type.py +7 -0
- merge/resources/knowledgebase/types/audit_log_event_role.py +7 -0
- merge/resources/knowledgebase/types/available_actions.py +33 -0
- merge/resources/knowledgebase/types/categories_enum.py +56 -0
- merge/resources/knowledgebase/types/category_enum.py +56 -0
- merge/resources/knowledgebase/types/common_model_scope_api.py +24 -0
- merge/resources/knowledgebase/types/common_model_scopes_body_request.py +23 -0
- merge/resources/knowledgebase/types/completed_account_initial_screen_enum.py +5 -0
- merge/resources/knowledgebase/types/container.py +130 -0
- merge/resources/knowledgebase/types/container_permissions_item.py +7 -0
- merge/resources/knowledgebase/types/container_status.py +7 -0
- merge/resources/knowledgebase/types/container_type.py +7 -0
- merge/resources/knowledgebase/types/container_type_enum.py +46 -0
- merge/resources/knowledgebase/types/container_visibility.py +7 -0
- merge/resources/knowledgebase/types/data_passthrough_request.py +62 -0
- merge/resources/knowledgebase/types/data_passthrough_request_method.py +7 -0
- merge/resources/knowledgebase/types/data_passthrough_request_request_format.py +7 -0
- merge/resources/knowledgebase/types/debug_mode_log.py +23 -0
- merge/resources/knowledgebase/types/debug_model_log_summary.py +22 -0
- merge/resources/knowledgebase/types/enabled_actions_enum.py +22 -0
- merge/resources/knowledgebase/types/encoding_enum.py +31 -0
- merge/resources/knowledgebase/types/error_validation_problem.py +24 -0
- merge/resources/knowledgebase/types/event_type_enum.py +231 -0
- merge/resources/knowledgebase/types/external_target_field_api.py +22 -0
- merge/resources/knowledgebase/types/external_target_field_api_response.py +25 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance.py +26 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field.py +27 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field_remote_endpoint_info.py +22 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_response.py +25 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_target_field.py +22 -0
- merge/resources/knowledgebase/types/field_mapping_instance_response.py +27 -0
- merge/resources/knowledgebase/types/field_permission_deserializer.py +21 -0
- merge/resources/knowledgebase/types/field_permission_deserializer_request.py +21 -0
- merge/resources/knowledgebase/types/group.py +71 -0
- merge/resources/knowledgebase/types/group_parent_group.py +9 -0
- merge/resources/knowledgebase/types/group_users_item.py +7 -0
- merge/resources/knowledgebase/types/individual_common_model_scope_deserializer.py +24 -0
- merge/resources/knowledgebase/types/individual_common_model_scope_deserializer_request.py +24 -0
- merge/resources/knowledgebase/types/issue.py +36 -0
- merge/resources/knowledgebase/types/issue_status.py +7 -0
- merge/resources/knowledgebase/types/issue_status_enum.py +22 -0
- merge/resources/knowledgebase/types/language_enum.py +22 -0
- merge/resources/knowledgebase/types/last_sync_result_enum.py +46 -0
- merge/resources/knowledgebase/types/link_token.py +22 -0
- merge/resources/knowledgebase/types/method_enum.py +51 -0
- merge/resources/knowledgebase/types/model_operation.py +32 -0
- merge/resources/knowledgebase/types/model_permission_deserializer.py +20 -0
- merge/resources/knowledgebase/types/model_permission_deserializer_request.py +20 -0
- merge/resources/knowledgebase/types/multipart_form_field_request.py +57 -0
- merge/resources/knowledgebase/types/multipart_form_field_request_encoding.py +7 -0
- merge/resources/knowledgebase/types/paginated_account_details_and_actions_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_article_list.py +30 -0
- merge/resources/knowledgebase/types/paginated_attachment_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_audit_log_event_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_container_list.py +30 -0
- merge/resources/knowledgebase/types/paginated_group_list.py +29 -0
- merge/resources/knowledgebase/types/paginated_issue_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_sync_status_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_user_list.py +23 -0
- merge/resources/knowledgebase/types/permission.py +77 -0
- merge/resources/knowledgebase/types/permission_group.py +7 -0
- merge/resources/knowledgebase/types/permission_type.py +7 -0
- merge/resources/knowledgebase/types/permission_type_enum.py +36 -0
- merge/resources/knowledgebase/types/permission_user.py +7 -0
- merge/resources/knowledgebase/types/remote_data.py +34 -0
- merge/resources/knowledgebase/types/remote_endpoint_info.py +22 -0
- merge/resources/knowledgebase/types/remote_field_api.py +28 -0
- merge/resources/knowledgebase/types/remote_field_api_advanced_metadata.py +7 -0
- merge/resources/knowledgebase/types/remote_field_api_coverage.py +5 -0
- merge/resources/knowledgebase/types/remote_field_api_response.py +25 -0
- merge/resources/knowledgebase/types/remote_key.py +30 -0
- merge/resources/knowledgebase/types/remote_response.py +36 -0
- merge/resources/knowledgebase/types/remote_response_response_type.py +7 -0
- merge/resources/knowledgebase/types/request_format_enum.py +31 -0
- merge/resources/knowledgebase/types/response_type_enum.py +22 -0
- merge/resources/knowledgebase/types/role_enum.py +46 -0
- merge/resources/knowledgebase/types/roles_enum.py +31 -0
- merge/resources/knowledgebase/types/selective_sync_configurations_usage_enum.py +24 -0
- merge/resources/knowledgebase/types/status_3_c_6_enum.py +36 -0
- merge/resources/knowledgebase/types/status_fd_5_enum.py +46 -0
- merge/resources/knowledgebase/types/sync_status.py +41 -0
- merge/resources/knowledgebase/types/sync_status_last_sync_result.py +7 -0
- merge/resources/knowledgebase/types/sync_status_status.py +7 -0
- merge/resources/knowledgebase/types/user.py +60 -0
- merge/resources/knowledgebase/types/validation_problem_source.py +20 -0
- merge/resources/knowledgebase/types/visibility_enum.py +31 -0
- merge/resources/knowledgebase/types/warning_validation_problem.py +24 -0
- merge/resources/knowledgebase/types/webhook_receiver.py +22 -0
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/METADATA +2 -1
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/RECORD +209 -8
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class AdvancedMetadata(UncheckedBaseModel):
|
|
11
|
+
id: str
|
|
12
|
+
display_name: typing.Optional[str] = None
|
|
13
|
+
description: typing.Optional[str] = None
|
|
14
|
+
is_required: typing.Optional[bool] = None
|
|
15
|
+
is_custom: typing.Optional[bool] = None
|
|
16
|
+
field_choices: typing.Optional[typing.List[typing.Optional[typing.Any]]] = None
|
|
17
|
+
|
|
18
|
+
if IS_PYDANTIC_V2:
|
|
19
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
20
|
+
else:
|
|
21
|
+
|
|
22
|
+
class Config:
|
|
23
|
+
frozen = True
|
|
24
|
+
smart_union = True
|
|
25
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import datetime as dt
|
|
6
|
+
import typing
|
|
7
|
+
|
|
8
|
+
import pydantic
|
|
9
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2, update_forward_refs
|
|
10
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
11
|
+
from .article_attachments_item import ArticleAttachmentsItem
|
|
12
|
+
from .article_author import ArticleAuthor
|
|
13
|
+
from .article_last_edited_by import ArticleLastEditedBy
|
|
14
|
+
from .article_parent_container import ArticleParentContainer
|
|
15
|
+
from .article_permissions_item import ArticlePermissionsItem
|
|
16
|
+
from .article_root_container import ArticleRootContainer
|
|
17
|
+
from .article_status import ArticleStatus
|
|
18
|
+
from .article_type import ArticleType
|
|
19
|
+
from .article_visibility import ArticleVisibility
|
|
20
|
+
from .remote_data import RemoteData
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Article(UncheckedBaseModel):
|
|
24
|
+
"""
|
|
25
|
+
# The Article Object
|
|
26
|
+
### Description
|
|
27
|
+
The `Article` object is used to represent a form of content in the knowledge base, such as an article or page.
|
|
28
|
+
### Usage Example
|
|
29
|
+
Fetch from the `GET /api/knowledgebase/v1/articles` endpoint and view their articles.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
id: typing.Optional[str] = None
|
|
33
|
+
remote_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
34
|
+
"""
|
|
35
|
+
The third-party API ID of the matching object.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
The datetime that this object was created by Merge.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
modified_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
44
|
+
"""
|
|
45
|
+
The datetime that this object was modified by Merge.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
title: typing.Optional[str] = pydantic.Field(default=None)
|
|
49
|
+
"""
|
|
50
|
+
The title of the article.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
54
|
+
"""
|
|
55
|
+
Description of the article.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
author: typing.Optional[ArticleAuthor] = pydantic.Field(default=None)
|
|
59
|
+
"""
|
|
60
|
+
The user who created the article.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
last_edited_by: typing.Optional[ArticleLastEditedBy] = pydantic.Field(default=None)
|
|
64
|
+
"""
|
|
65
|
+
The user to last update the article.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
visibility: typing.Optional[ArticleVisibility] = pydantic.Field(default=None)
|
|
69
|
+
"""
|
|
70
|
+
The visibility of the article.
|
|
71
|
+
|
|
72
|
+
* `PUBLIC` - PUBLIC
|
|
73
|
+
* `INTERNAL` - INTERNAL
|
|
74
|
+
* `RESTRICTED` - RESTRICTED
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
article_content_download_url: typing.Optional[str] = pydantic.Field(default=None)
|
|
78
|
+
"""
|
|
79
|
+
The presigned S3 URL to fetch article content.
|
|
80
|
+
"""
|
|
81
|
+
|
|
82
|
+
checksum: typing.Optional[str] = pydantic.Field(default=None)
|
|
83
|
+
"""
|
|
84
|
+
The SHA256 checksum of the article content.
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
article_url: typing.Optional[str] = pydantic.Field(default=None)
|
|
88
|
+
"""
|
|
89
|
+
The URL to the webpage of the article.
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
status: typing.Optional[ArticleStatus] = pydantic.Field(default=None)
|
|
93
|
+
"""
|
|
94
|
+
The status of the article.
|
|
95
|
+
|
|
96
|
+
* `DRAFT` - DRAFT
|
|
97
|
+
* `PUBLISHED` - PUBLISHED
|
|
98
|
+
* `ARCHIVED` - ARCHIVED
|
|
99
|
+
* `TRASH` - TRASH
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
type: typing.Optional[ArticleType] = pydantic.Field(default=None)
|
|
103
|
+
"""
|
|
104
|
+
The type of the article.
|
|
105
|
+
|
|
106
|
+
* `PAGE` - PAGE
|
|
107
|
+
* `BLOG_POST` - BLOG_POST
|
|
108
|
+
* `SMART_LINK` - SMART_LINK
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
remote_created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
112
|
+
"""
|
|
113
|
+
When the third party's article was created.
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
remote_updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
117
|
+
"""
|
|
118
|
+
When the third party's article was updated.
|
|
119
|
+
"""
|
|
120
|
+
|
|
121
|
+
parent_article: typing.Optional["ArticleParentArticle"] = pydantic.Field(default=None)
|
|
122
|
+
"""
|
|
123
|
+
The parent article an article is nested within.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
parent_container: typing.Optional[ArticleParentContainer] = pydantic.Field(default=None)
|
|
127
|
+
"""
|
|
128
|
+
The parent container an article is nested within.
|
|
129
|
+
"""
|
|
130
|
+
|
|
131
|
+
root_container: typing.Optional[ArticleRootContainer] = pydantic.Field(default=None)
|
|
132
|
+
"""
|
|
133
|
+
The top-level container in the hierarchy that holds this article. This will reference a container object that will typically be a SPACE or WORKSPACE type.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
permissions: typing.Optional[typing.List[ArticlePermissionsItem]] = None
|
|
137
|
+
attachments: typing.Optional[typing.List[typing.Optional[ArticleAttachmentsItem]]] = None
|
|
138
|
+
remote_was_deleted: typing.Optional[bool] = pydantic.Field(default=None)
|
|
139
|
+
"""
|
|
140
|
+
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
141
|
+
"""
|
|
142
|
+
|
|
143
|
+
field_mappings: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
144
|
+
remote_data: typing.Optional[typing.List[RemoteData]] = None
|
|
145
|
+
|
|
146
|
+
if IS_PYDANTIC_V2:
|
|
147
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
148
|
+
else:
|
|
149
|
+
|
|
150
|
+
class Config:
|
|
151
|
+
frozen = True
|
|
152
|
+
smart_union = True
|
|
153
|
+
extra = pydantic.Extra.allow
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
from .group import Group # noqa: E402, F401, I001
|
|
157
|
+
from .article_parent_article import ArticleParentArticle # noqa: E402, F401, I001
|
|
158
|
+
|
|
159
|
+
update_forward_refs(Article)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import enum
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
T_Result = typing.TypeVar("T_Result")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ArticleTypeEnum(str, enum.Enum):
|
|
10
|
+
"""
|
|
11
|
+
* `PAGE` - PAGE
|
|
12
|
+
* `BLOG_POST` - BLOG_POST
|
|
13
|
+
* `SMART_LINK` - SMART_LINK
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
PAGE = "PAGE"
|
|
17
|
+
BLOG_POST = "BLOG_POST"
|
|
18
|
+
SMART_LINK = "SMART_LINK"
|
|
19
|
+
|
|
20
|
+
def visit(
|
|
21
|
+
self,
|
|
22
|
+
page: typing.Callable[[], T_Result],
|
|
23
|
+
blog_post: typing.Callable[[], T_Result],
|
|
24
|
+
smart_link: typing.Callable[[], T_Result],
|
|
25
|
+
) -> T_Result:
|
|
26
|
+
if self is ArticleTypeEnum.PAGE:
|
|
27
|
+
return page()
|
|
28
|
+
if self is ArticleTypeEnum.BLOG_POST:
|
|
29
|
+
return blog_post()
|
|
30
|
+
if self is ArticleTypeEnum.SMART_LINK:
|
|
31
|
+
return smart_link()
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class AsyncPassthroughReciept(UncheckedBaseModel):
|
|
11
|
+
async_passthrough_receipt_id: str
|
|
12
|
+
|
|
13
|
+
if IS_PYDANTIC_V2:
|
|
14
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
15
|
+
else:
|
|
16
|
+
|
|
17
|
+
class Config:
|
|
18
|
+
frozen = True
|
|
19
|
+
smart_union = True
|
|
20
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
9
|
+
from .remote_data import RemoteData
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Attachment(UncheckedBaseModel):
|
|
13
|
+
"""
|
|
14
|
+
# The Attachment Object
|
|
15
|
+
### Description
|
|
16
|
+
The `Attachment` object is used to represent an attachment to an article or container.
|
|
17
|
+
### Usage Example
|
|
18
|
+
Fetch from the `GET /api/knowledgebase/v1/attachments` endpoint and view their attachments.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
id: typing.Optional[str] = None
|
|
22
|
+
remote_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
23
|
+
"""
|
|
24
|
+
The third-party API ID of the matching object.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
The datetime that this object was created by Merge.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
modified_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
The datetime that this object was modified by Merge.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
The attachment's name.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
43
|
+
"""
|
|
44
|
+
The attachment's description.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
attachment_url: typing.Optional[str] = pydantic.Field(default=None)
|
|
48
|
+
"""
|
|
49
|
+
The attachment's url.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
remote_was_deleted: typing.Optional[bool] = pydantic.Field(default=None)
|
|
53
|
+
"""
|
|
54
|
+
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
field_mappings: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
|
58
|
+
remote_data: typing.Optional[typing.List[RemoteData]] = None
|
|
59
|
+
|
|
60
|
+
if IS_PYDANTIC_V2:
|
|
61
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
62
|
+
else:
|
|
63
|
+
|
|
64
|
+
class Config:
|
|
65
|
+
frozen = True
|
|
66
|
+
smart_union = True
|
|
67
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
9
|
+
from .audit_log_event_event_type import AuditLogEventEventType
|
|
10
|
+
from .audit_log_event_role import AuditLogEventRole
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AuditLogEvent(UncheckedBaseModel):
|
|
14
|
+
id: typing.Optional[str] = None
|
|
15
|
+
user_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
The User's full name at the time of this Event occurring.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
user_email: typing.Optional[str] = pydantic.Field(default=None)
|
|
21
|
+
"""
|
|
22
|
+
The User's email at the time of this Event occurring.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
role: AuditLogEventRole = pydantic.Field()
|
|
26
|
+
"""
|
|
27
|
+
Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event occurring.
|
|
28
|
+
|
|
29
|
+
* `ADMIN` - ADMIN
|
|
30
|
+
* `DEVELOPER` - DEVELOPER
|
|
31
|
+
* `MEMBER` - MEMBER
|
|
32
|
+
* `API` - API
|
|
33
|
+
* `SYSTEM` - SYSTEM
|
|
34
|
+
* `MERGE_TEAM` - MERGE_TEAM
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
ip_address: str
|
|
38
|
+
event_type: AuditLogEventEventType = pydantic.Field()
|
|
39
|
+
"""
|
|
40
|
+
Designates the type of event that occurred.
|
|
41
|
+
|
|
42
|
+
* `CREATED_REMOTE_PRODUCTION_API_KEY` - CREATED_REMOTE_PRODUCTION_API_KEY
|
|
43
|
+
* `DELETED_REMOTE_PRODUCTION_API_KEY` - DELETED_REMOTE_PRODUCTION_API_KEY
|
|
44
|
+
* `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY
|
|
45
|
+
* `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY
|
|
46
|
+
* `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY
|
|
47
|
+
* `REGENERATED_WEBHOOK_SIGNATURE` - REGENERATED_WEBHOOK_SIGNATURE
|
|
48
|
+
* `INVITED_USER` - INVITED_USER
|
|
49
|
+
* `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED
|
|
50
|
+
* `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED
|
|
51
|
+
* `DELETED_LINKED_ACCOUNT` - DELETED_LINKED_ACCOUNT
|
|
52
|
+
* `DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT` - DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT
|
|
53
|
+
* `CREATED_DESTINATION` - CREATED_DESTINATION
|
|
54
|
+
* `DELETED_DESTINATION` - DELETED_DESTINATION
|
|
55
|
+
* `CHANGED_DESTINATION` - CHANGED_DESTINATION
|
|
56
|
+
* `CHANGED_SCOPES` - CHANGED_SCOPES
|
|
57
|
+
* `CHANGED_PERSONAL_INFORMATION` - CHANGED_PERSONAL_INFORMATION
|
|
58
|
+
* `CHANGED_ORGANIZATION_SETTINGS` - CHANGED_ORGANIZATION_SETTINGS
|
|
59
|
+
* `ENABLED_INTEGRATION` - ENABLED_INTEGRATION
|
|
60
|
+
* `DISABLED_INTEGRATION` - DISABLED_INTEGRATION
|
|
61
|
+
* `ENABLED_CATEGORY` - ENABLED_CATEGORY
|
|
62
|
+
* `DISABLED_CATEGORY` - DISABLED_CATEGORY
|
|
63
|
+
* `CHANGED_PASSWORD` - CHANGED_PASSWORD
|
|
64
|
+
* `RESET_PASSWORD` - RESET_PASSWORD
|
|
65
|
+
* `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION
|
|
66
|
+
* `ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT
|
|
67
|
+
* `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION` - DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION
|
|
68
|
+
* `DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT` - DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT
|
|
69
|
+
* `CREATED_INTEGRATION_WIDE_FIELD_MAPPING` - CREATED_INTEGRATION_WIDE_FIELD_MAPPING
|
|
70
|
+
* `CREATED_LINKED_ACCOUNT_FIELD_MAPPING` - CREATED_LINKED_ACCOUNT_FIELD_MAPPING
|
|
71
|
+
* `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING` - CHANGED_INTEGRATION_WIDE_FIELD_MAPPING
|
|
72
|
+
* `CHANGED_LINKED_ACCOUNT_FIELD_MAPPING` - CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
|
|
73
|
+
* `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` - DELETED_INTEGRATION_WIDE_FIELD_MAPPING
|
|
74
|
+
* `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
|
|
75
|
+
* `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
|
|
76
|
+
* `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
|
|
77
|
+
* `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` - DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
|
|
78
|
+
* `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
|
|
79
|
+
* `MUTED_ISSUE` - MUTED_ISSUE
|
|
80
|
+
* `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
|
|
81
|
+
* `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
|
|
82
|
+
* `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
|
|
83
|
+
* `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
|
|
84
|
+
* `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
event_description: str
|
|
88
|
+
created_at: typing.Optional[dt.datetime] = None
|
|
89
|
+
|
|
90
|
+
if IS_PYDANTIC_V2:
|
|
91
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
92
|
+
else:
|
|
93
|
+
|
|
94
|
+
class Config:
|
|
95
|
+
frozen = True
|
|
96
|
+
smart_union = True
|
|
97
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
from .account_integration import AccountIntegration
|
|
9
|
+
from .model_operation import ModelOperation
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class AvailableActions(UncheckedBaseModel):
|
|
13
|
+
"""
|
|
14
|
+
# The AvailableActions Object
|
|
15
|
+
### Description
|
|
16
|
+
The `Activity` object is used to see all available model/operation combinations for an integration.
|
|
17
|
+
|
|
18
|
+
### Usage Example
|
|
19
|
+
Fetch all the actions available for the `Zenefits` integration.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
integration: AccountIntegration
|
|
23
|
+
passthrough_available: bool
|
|
24
|
+
available_model_operations: typing.Optional[typing.List[ModelOperation]] = None
|
|
25
|
+
|
|
26
|
+
if IS_PYDANTIC_V2:
|
|
27
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
28
|
+
else:
|
|
29
|
+
|
|
30
|
+
class Config:
|
|
31
|
+
frozen = True
|
|
32
|
+
smart_union = True
|
|
33
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import enum
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
T_Result = typing.TypeVar("T_Result")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class CategoriesEnum(str, enum.Enum):
|
|
10
|
+
"""
|
|
11
|
+
* `hris` - hris
|
|
12
|
+
* `ats` - ats
|
|
13
|
+
* `accounting` - accounting
|
|
14
|
+
* `ticketing` - ticketing
|
|
15
|
+
* `crm` - crm
|
|
16
|
+
* `mktg` - mktg
|
|
17
|
+
* `filestorage` - filestorage
|
|
18
|
+
* `knowledgebase` - knowledgebase
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
HRIS = "hris"
|
|
22
|
+
ATS = "ats"
|
|
23
|
+
ACCOUNTING = "accounting"
|
|
24
|
+
TICKETING = "ticketing"
|
|
25
|
+
CRM = "crm"
|
|
26
|
+
MKTG = "mktg"
|
|
27
|
+
FILESTORAGE = "filestorage"
|
|
28
|
+
KNOWLEDGEBASE = "knowledgebase"
|
|
29
|
+
|
|
30
|
+
def visit(
|
|
31
|
+
self,
|
|
32
|
+
hris: typing.Callable[[], T_Result],
|
|
33
|
+
ats: typing.Callable[[], T_Result],
|
|
34
|
+
accounting: typing.Callable[[], T_Result],
|
|
35
|
+
ticketing: typing.Callable[[], T_Result],
|
|
36
|
+
crm: typing.Callable[[], T_Result],
|
|
37
|
+
mktg: typing.Callable[[], T_Result],
|
|
38
|
+
filestorage: typing.Callable[[], T_Result],
|
|
39
|
+
knowledgebase: typing.Callable[[], T_Result],
|
|
40
|
+
) -> T_Result:
|
|
41
|
+
if self is CategoriesEnum.HRIS:
|
|
42
|
+
return hris()
|
|
43
|
+
if self is CategoriesEnum.ATS:
|
|
44
|
+
return ats()
|
|
45
|
+
if self is CategoriesEnum.ACCOUNTING:
|
|
46
|
+
return accounting()
|
|
47
|
+
if self is CategoriesEnum.TICKETING:
|
|
48
|
+
return ticketing()
|
|
49
|
+
if self is CategoriesEnum.CRM:
|
|
50
|
+
return crm()
|
|
51
|
+
if self is CategoriesEnum.MKTG:
|
|
52
|
+
return mktg()
|
|
53
|
+
if self is CategoriesEnum.FILESTORAGE:
|
|
54
|
+
return filestorage()
|
|
55
|
+
if self is CategoriesEnum.KNOWLEDGEBASE:
|
|
56
|
+
return knowledgebase()
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import enum
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
T_Result = typing.TypeVar("T_Result")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class CategoryEnum(str, enum.Enum):
|
|
10
|
+
"""
|
|
11
|
+
* `hris` - hris
|
|
12
|
+
* `ats` - ats
|
|
13
|
+
* `accounting` - accounting
|
|
14
|
+
* `ticketing` - ticketing
|
|
15
|
+
* `crm` - crm
|
|
16
|
+
* `mktg` - mktg
|
|
17
|
+
* `filestorage` - filestorage
|
|
18
|
+
* `knowledgebase` - knowledgebase
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
HRIS = "hris"
|
|
22
|
+
ATS = "ats"
|
|
23
|
+
ACCOUNTING = "accounting"
|
|
24
|
+
TICKETING = "ticketing"
|
|
25
|
+
CRM = "crm"
|
|
26
|
+
MKTG = "mktg"
|
|
27
|
+
FILESTORAGE = "filestorage"
|
|
28
|
+
KNOWLEDGEBASE = "knowledgebase"
|
|
29
|
+
|
|
30
|
+
def visit(
|
|
31
|
+
self,
|
|
32
|
+
hris: typing.Callable[[], T_Result],
|
|
33
|
+
ats: typing.Callable[[], T_Result],
|
|
34
|
+
accounting: typing.Callable[[], T_Result],
|
|
35
|
+
ticketing: typing.Callable[[], T_Result],
|
|
36
|
+
crm: typing.Callable[[], T_Result],
|
|
37
|
+
mktg: typing.Callable[[], T_Result],
|
|
38
|
+
filestorage: typing.Callable[[], T_Result],
|
|
39
|
+
knowledgebase: typing.Callable[[], T_Result],
|
|
40
|
+
) -> T_Result:
|
|
41
|
+
if self is CategoryEnum.HRIS:
|
|
42
|
+
return hris()
|
|
43
|
+
if self is CategoryEnum.ATS:
|
|
44
|
+
return ats()
|
|
45
|
+
if self is CategoryEnum.ACCOUNTING:
|
|
46
|
+
return accounting()
|
|
47
|
+
if self is CategoryEnum.TICKETING:
|
|
48
|
+
return ticketing()
|
|
49
|
+
if self is CategoryEnum.CRM:
|
|
50
|
+
return crm()
|
|
51
|
+
if self is CategoryEnum.MKTG:
|
|
52
|
+
return mktg()
|
|
53
|
+
if self is CategoryEnum.FILESTORAGE:
|
|
54
|
+
return filestorage()
|
|
55
|
+
if self is CategoryEnum.KNOWLEDGEBASE:
|
|
56
|
+
return knowledgebase()
|