databay-cli 0.1.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.
- databay/__init__.py +5 -0
- databay/__main__.py +7 -0
- databay/agent_skill.py +184 -0
- databay/api.py +626 -0
- databay/cli/__init__.py +0 -0
- databay/cli/auth.py +377 -0
- databay/cli/build.py +89 -0
- databay/cli/commands/__init__.py +0 -0
- databay/cli/commands/alerting_webhook.py +19 -0
- databay/cli/commands/alerting_webhook_tag.py +14 -0
- databay/cli/commands/alerting_webhook_type.py +14 -0
- databay/cli/commands/alerting_webhook_undelivered.py +15 -0
- databay/cli/commands/announcement.py +17 -0
- databay/cli/commands/api_key.py +18 -0
- databay/cli/commands/api_key_project.py +16 -0
- databay/cli/commands/backfill_reason_code.py +14 -0
- databay/cli/commands/backfill_run.py +17 -0
- databay/cli/commands/canvas.py +16 -0
- databay/cli/commands/canvas_graph.py +15 -0
- databay/cli/commands/canvas_table_check.py +15 -0
- databay/cli/commands/dashboards.py +21 -0
- databay/cli/commands/dashboards_card.py +20 -0
- databay/cli/commands/dashboards_dataset.py +14 -0
- databay/cli/commands/dashboards_folder.py +16 -0
- databay/cli/commands/dashboards_home.py +17 -0
- databay/cli/commands/dashboards_placement.py +16 -0
- databay/cli/commands/db.py +19 -0
- databay/cli/commands/db_column.py +14 -0
- databay/cli/commands/docs_article.py +16 -0
- databay/cli/commands/dq_result.py +14 -0
- databay/cli/commands/dq_rule.py +16 -0
- databay/cli/commands/feature.py +14 -0
- databay/cli/commands/google_ads_source.py +14 -0
- databay/cli/commands/google_analytics_source.py +14 -0
- databay/cli/commands/instagram_account.py +14 -0
- databay/cli/commands/instagram_source.py +14 -0
- databay/cli/commands/linkedin_account.py +14 -0
- databay/cli/commands/linkedin_source.py +14 -0
- databay/cli/commands/me.py +14 -0
- databay/cli/commands/meta_ads_source.py +14 -0
- databay/cli/commands/metric_models.py +26 -0
- databay/cli/commands/metrics.py +14 -0
- databay/cli/commands/models.py +16 -0
- databay/cli/commands/nlq.py +15 -0
- databay/cli/commands/notebook_credential.py +16 -0
- databay/cli/commands/org.py +14 -0
- databay/cli/commands/org_member.py +17 -0
- databay/cli/commands/org_offboarding.py +14 -0
- databay/cli/commands/pipe.py +26 -0
- databay/cli/commands/pipe_backfill_run.py +14 -0
- databay/cli/commands/pipe_config_option.py +14 -0
- databay/cli/commands/pipe_destination.py +16 -0
- databay/cli/commands/pipe_leftover.py +16 -0
- databay/cli/commands/pipe_sink_type.py +14 -0
- databay/cli/commands/pipe_source_type.py +14 -0
- databay/cli/commands/pipe_status_bucket.py +14 -0
- databay/cli/commands/pipe_stuck_delete.py +14 -0
- databay/cli/commands/plan.py +14 -0
- databay/cli/commands/project.py +21 -0
- databay/cli/commands/project_budget.py +15 -0
- databay/cli/commands/project_member.py +18 -0
- databay/cli/commands/project_privilege.py +16 -0
- databay/cli/commands/project_share.py +16 -0
- databay/cli/commands/provision.py +14 -0
- databay/cli/commands/provisioning.py +14 -0
- databay/cli/commands/registry.py +14 -0
- databay/cli/commands/resource_home.py +14 -0
- databay/cli/commands/schema_change.py +18 -0
- databay/cli/commands/schema_history.py +17 -0
- databay/cli/commands/schema_version.py +16 -0
- databay/cli/commands/shopify_store.py +14 -0
- databay/cli/commands/sink_data_type.py +14 -0
- databay/cli/commands/source.py +24 -0
- databay/cli/commands/source_catalog.py +15 -0
- databay/cli/commands/source_check_run.py +17 -0
- databay/cli/commands/source_hidden_type.py +14 -0
- databay/cli/commands/source_name.py +14 -0
- databay/cli/commands/source_pipe.py +14 -0
- databay/cli/commands/source_publication.py +16 -0
- databay/cli/commands/source_readiness_override.py +15 -0
- databay/cli/commands/source_setup_choice.py +16 -0
- databay/cli/commands/source_stream.py +15 -0
- databay/cli/commands/source_table.py +14 -0
- databay/cli/commands/ssbi_job.py +18 -0
- databay/cli/commands/transform_type.py +14 -0
- databay/cli/commands/usage.py +14 -0
- databay/cli/commands/warehouse.py +21 -0
- databay/cli/commands/warehouse_access_assignment.py +16 -0
- databay/cli/commands/warehouse_access_role.py +22 -0
- databay/cli/commands/warehouse_access_settings.py +17 -0
- databay/cli/commands/warehouse_login.py +20 -0
- databay/cli/commands/warehouse_principal.py +17 -0
- databay/cli/commands/warehouse_service_account.py +17 -0
- databay/cli/commands/warehouse_service_account_credential.py +18 -0
- databay/cli/common.py +93 -0
- databay/cli/console.py +121 -0
- databay/cli/flags.py +183 -0
- databay/cli/handwritten.py +22 -0
- databay/cli/main.py +198 -0
- databay/cli/metrics.py +171 -0
- databay/cli/org.py +193 -0
- databay/cli/output.py +134 -0
- databay/cli/pipe_wait.py +357 -0
- databay/cli/profile.py +230 -0
- databay/cli/runner.py +432 -0
- databay/cli/skill.py +64 -0
- databay/cli/sql.py +84 -0
- databay/compat.py +161 -0
- databay/credentials.py +217 -0
- databay/error_catalog.py +226 -0
- databay/error_codes.py +3265 -0
- databay/errors.py +222 -0
- databay/feature_header.py +40 -0
- databay/invoke.py +225 -0
- databay/locks.py +41 -0
- databay/login_flow.py +245 -0
- databay/model_base.py +40 -0
- databay/models/__init__.py +0 -0
- databay/models/alerting_webhook.py +46 -0
- databay/models/alerting_webhook_tag.py +11 -0
- databay/models/alerting_webhook_type.py +11 -0
- databay/models/alerting_webhook_undelivered.py +23 -0
- databay/models/announcement.py +37 -0
- databay/models/api_key.py +81 -0
- databay/models/api_key_project.py +29 -0
- databay/models/backfill_reason_code.py +11 -0
- databay/models/backfill_run.py +41 -0
- databay/models/canvas.py +68 -0
- databay/models/canvas_graph.py +86 -0
- databay/models/canvas_table_check.py +181 -0
- databay/models/dashboards.py +79 -0
- databay/models/dashboards_card.py +37 -0
- databay/models/dashboards_dataset.py +27 -0
- databay/models/dashboards_folder.py +18 -0
- databay/models/dashboards_home.py +28 -0
- databay/models/db.py +34 -0
- databay/models/db_column.py +11 -0
- databay/models/docs_article.py +59 -0
- databay/models/dq_result.py +27 -0
- databay/models/dq_rule.py +43 -0
- databay/models/feature.py +15 -0
- databay/models/google_ads_source.py +11 -0
- databay/models/google_analytics_source.py +11 -0
- databay/models/instagram_source.py +11 -0
- databay/models/linkedin_source.py +11 -0
- databay/models/me.py +71 -0
- databay/models/meta_ads_source.py +11 -0
- databay/models/metric_models.py +274 -0
- databay/models/metrics.py +158 -0
- databay/models/models.py +73 -0
- databay/models/nlq.py +92 -0
- databay/models/notebook_credential.py +51 -0
- databay/models/org.py +44 -0
- databay/models/org_member.py +123 -0
- databay/models/org_offboarding.py +36 -0
- databay/models/pipe.py +340 -0
- databay/models/pipe_config_option.py +25 -0
- databay/models/pipe_destination.py +128 -0
- databay/models/pipe_leftover.py +51 -0
- databay/models/pipe_sink_type.py +11 -0
- databay/models/pipe_source_type.py +11 -0
- databay/models/pipe_status_bucket.py +13 -0
- databay/models/pipe_stuck_delete.py +25 -0
- databay/models/plan.py +37 -0
- databay/models/project.py +154 -0
- databay/models/project_budget.py +22 -0
- databay/models/project_member.py +67 -0
- databay/models/project_privilege.py +21 -0
- databay/models/project_share.py +76 -0
- databay/models/provision.py +12 -0
- databay/models/provisioning.py +20 -0
- databay/models/registry.py +18 -0
- databay/models/resource_home.py +35 -0
- databay/models/schema_change.py +96 -0
- databay/models/schema_history.py +32 -0
- databay/models/schema_version.py +23 -0
- databay/models/shared.py +875 -0
- databay/models/shopify_store.py +19 -0
- databay/models/sink_data_type.py +11 -0
- databay/models/source.py +263 -0
- databay/models/source_catalog.py +82 -0
- databay/models/source_check_run.py +63 -0
- databay/models/source_hidden_type.py +13 -0
- databay/models/source_name.py +18 -0
- databay/models/source_pipe.py +16 -0
- databay/models/source_publication.py +30 -0
- databay/models/source_readiness_override.py +13 -0
- databay/models/source_setup_choice.py +33 -0
- databay/models/source_stream.py +65 -0
- databay/models/source_table.py +27 -0
- databay/models/sql.py +31 -0
- databay/models/ssbi_job.py +97 -0
- databay/models/transform_type.py +40 -0
- databay/models/usage.py +112 -0
- databay/models/warehouse.py +38 -0
- databay/models/warehouse_access_assignment.py +70 -0
- databay/models/warehouse_access_role.py +148 -0
- databay/models/warehouse_access_settings.py +35 -0
- databay/models/warehouse_login.py +20 -0
- databay/models/warehouse_principal.py +49 -0
- databay/models/warehouse_service_account.py +35 -0
- databay/models/warehouse_service_account_credential.py +11 -0
- databay/oidc.py +205 -0
- databay/operation.py +191 -0
- databay/operations/__init__.py +0 -0
- databay/operations/alerting_webhook.py +317 -0
- databay/operations/alerting_webhook_tag.py +35 -0
- databay/operations/alerting_webhook_type.py +35 -0
- databay/operations/alerting_webhook_undelivered.py +74 -0
- databay/operations/announcement.py +135 -0
- databay/operations/api_key.py +198 -0
- databay/operations/api_key_project.py +130 -0
- databay/operations/backfill_reason_code.py +35 -0
- databay/operations/backfill_run.py +245 -0
- databay/operations/canvas.py +136 -0
- databay/operations/canvas_graph.py +102 -0
- databay/operations/canvas_table_check.py +101 -0
- databay/operations/dashboards.py +441 -0
- databay/operations/dashboards_card.py +406 -0
- databay/operations/dashboards_dataset.py +50 -0
- databay/operations/dashboards_folder.py +146 -0
- databay/operations/dashboards_home.py +176 -0
- databay/operations/dashboards_placement.py +152 -0
- databay/operations/db.py +337 -0
- databay/operations/db_column.py +57 -0
- databay/operations/docs_article.py +101 -0
- databay/operations/dq_result.py +43 -0
- databay/operations/dq_rule.py +155 -0
- databay/operations/feature.py +35 -0
- databay/operations/google_ads_source.py +40 -0
- databay/operations/google_analytics_source.py +40 -0
- databay/operations/instagram_account.py +47 -0
- databay/operations/instagram_source.py +40 -0
- databay/operations/linkedin_account.py +47 -0
- databay/operations/linkedin_source.py +40 -0
- databay/operations/me.py +57 -0
- databay/operations/meta_ads_source.py +40 -0
- databay/operations/metric_models.py +612 -0
- databay/operations/metrics.py +218 -0
- databay/operations/models.py +123 -0
- databay/operations/nlq.py +100 -0
- databay/operations/notebook_credential.py +95 -0
- databay/operations/org.py +79 -0
- databay/operations/org_member.py +192 -0
- databay/operations/org_offboarding.py +43 -0
- databay/operations/pipe.py +882 -0
- databay/operations/pipe_backfill_run.py +72 -0
- databay/operations/pipe_config_option.py +50 -0
- databay/operations/pipe_destination.py +178 -0
- databay/operations/pipe_leftover.py +110 -0
- databay/operations/pipe_sink_type.py +35 -0
- databay/operations/pipe_source_type.py +35 -0
- databay/operations/pipe_status_bucket.py +35 -0
- databay/operations/pipe_stuck_delete.py +52 -0
- databay/operations/plan.py +35 -0
- databay/operations/project.py +346 -0
- databay/operations/project_budget.py +135 -0
- databay/operations/project_member.py +226 -0
- databay/operations/project_privilege.py +143 -0
- databay/operations/project_share.py +160 -0
- databay/operations/provision.py +35 -0
- databay/operations/provisioning.py +35 -0
- databay/operations/registry.py +35 -0
- databay/operations/resource_home.py +80 -0
- databay/operations/schema_change.py +222 -0
- databay/operations/schema_history.py +136 -0
- databay/operations/schema_version.py +115 -0
- databay/operations/shopify_store.py +40 -0
- databay/operations/sink_data_type.py +43 -0
- databay/operations/source.py +1207 -0
- databay/operations/source_catalog.py +135 -0
- databay/operations/source_check_run.py +242 -0
- databay/operations/source_hidden_type.py +59 -0
- databay/operations/source_name.py +69 -0
- databay/operations/source_pipe.py +57 -0
- databay/operations/source_publication.py +139 -0
- databay/operations/source_readiness_override.py +96 -0
- databay/operations/source_setup_choice.py +161 -0
- databay/operations/source_stream.py +99 -0
- databay/operations/source_table.py +59 -0
- databay/operations/sql.py +54 -0
- databay/operations/ssbi_job.py +242 -0
- databay/operations/transform_type.py +35 -0
- databay/operations/usage.py +35 -0
- databay/operations/warehouse.py +343 -0
- databay/operations/warehouse_access_assignment.py +179 -0
- databay/operations/warehouse_access_role.py +473 -0
- databay/operations/warehouse_access_settings.py +172 -0
- databay/operations/warehouse_login.py +308 -0
- databay/operations/warehouse_principal.py +174 -0
- databay/operations/warehouse_service_account.py +206 -0
- databay/operations/warehouse_service_account_credential.py +285 -0
- databay/paths.py +32 -0
- databay/platform_check.py +20 -0
- databay/profiles.py +181 -0
- databay/redact.py +22 -0
- databay/reference.py +218 -0
- databay/resource.py +167 -0
- databay/resources/__init__.py +0 -0
- databay/resources/alerting_webhook.py +84 -0
- databay/resources/alerting_webhook_tag.py +21 -0
- databay/resources/alerting_webhook_type.py +21 -0
- databay/resources/alerting_webhook_undelivered.py +35 -0
- databay/resources/announcement.py +45 -0
- databay/resources/api_key.py +56 -0
- databay/resources/api_key_project.py +47 -0
- databay/resources/backfill_reason_code.py +21 -0
- databay/resources/backfill_run.py +78 -0
- databay/resources/canvas.py +43 -0
- databay/resources/canvas_graph.py +38 -0
- databay/resources/canvas_table_check.py +38 -0
- databay/resources/dashboards.py +105 -0
- databay/resources/dashboards_card.py +97 -0
- databay/resources/dashboards_dataset.py +27 -0
- databay/resources/dashboards_folder.py +47 -0
- databay/resources/dashboards_home.py +59 -0
- databay/resources/dashboards_placement.py +47 -0
- databay/resources/db.py +87 -0
- databay/resources/db_column.py +28 -0
- databay/resources/docs_article.py +37 -0
- databay/resources/dq_result.py +25 -0
- databay/resources/dq_rule.py +48 -0
- databay/resources/feature.py +21 -0
- databay/resources/google_ads_source.py +25 -0
- databay/resources/google_analytics_source.py +25 -0
- databay/resources/instagram_account.py +27 -0
- databay/resources/instagram_source.py +25 -0
- databay/resources/linkedin_account.py +27 -0
- databay/resources/linkedin_source.py +25 -0
- databay/resources/me.py +27 -0
- databay/resources/meta_ads_source.py +25 -0
- databay/resources/metric_models.py +154 -0
- databay/resources/metrics.py +57 -0
- databay/resources/models.py +42 -0
- databay/resources/nlq.py +34 -0
- databay/resources/notebook_credential.py +41 -0
- databay/resources/org.py +29 -0
- databay/resources/org_member.py +53 -0
- databay/resources/org_offboarding.py +25 -0
- databay/resources/pipe.py +208 -0
- databay/resources/pipe_backfill_run.py +28 -0
- databay/resources/pipe_config_option.py +26 -0
- databay/resources/pipe_destination.py +49 -0
- databay/resources/pipe_leftover.py +42 -0
- databay/resources/pipe_sink_type.py +21 -0
- databay/resources/pipe_source_type.py +21 -0
- databay/resources/pipe_status_bucket.py +21 -0
- databay/resources/pipe_stuck_delete.py +27 -0
- databay/resources/plan.py +21 -0
- databay/resources/project.py +92 -0
- databay/resources/project_budget.py +38 -0
- databay/resources/project_member.py +68 -0
- databay/resources/project_privilege.py +48 -0
- databay/resources/project_share.py +47 -0
- databay/resources/provision.py +21 -0
- databay/resources/provisioning.py +21 -0
- databay/resources/registry.py +21 -0
- databay/resources/resource_home.py +29 -0
- databay/resources/schema_change.py +62 -0
- databay/resources/schema_history.py +52 -0
- databay/resources/schema_version.py +43 -0
- databay/resources/shopify_store.py +25 -0
- databay/resources/sink_data_type.py +25 -0
- databay/resources/source.py +132 -0
- databay/resources/source_catalog.py +34 -0
- databay/resources/source_check_run.py +67 -0
- databay/resources/source_hidden_type.py +25 -0
- databay/resources/source_name.py +27 -0
- databay/resources/source_pipe.py +28 -0
- databay/resources/source_publication.py +47 -0
- databay/resources/source_readiness_override.py +37 -0
- databay/resources/source_setup_choice.py +50 -0
- databay/resources/source_stream.py +38 -0
- databay/resources/source_table.py +27 -0
- databay/resources/sql.py +27 -0
- databay/resources/ssbi_job.py +69 -0
- databay/resources/transform_type.py +21 -0
- databay/resources/usage.py +21 -0
- databay/resources/warehouse.py +136 -0
- databay/resources/warehouse_access_assignment.py +51 -0
- databay/resources/warehouse_access_role.py +118 -0
- databay/resources/warehouse_access_settings.py +56 -0
- databay/resources/warehouse_login.py +81 -0
- databay/resources/warehouse_principal.py +51 -0
- databay/resources/warehouse_service_account.py +61 -0
- databay/resources/warehouse_service_account_credential.py +78 -0
- databay/sdk.py +77 -0
- databay/settings.py +90 -0
- databay/skill/SKILL.md +357 -0
- databay/skill/references/commands.md +7025 -0
- databay/skill/references/errors.md +727 -0
- databay/spec.py +362 -0
- databay/stored_token.py +134 -0
- databay/tokens.py +108 -0
- databay/transport.py +357 -0
- databay/update_check.py +151 -0
- databay/version.py +6 -0
- databay/waits.py +330 -0
- databay_cli-0.1.0.dist-info/METADATA +42 -0
- databay_cli-0.1.0.dist-info/RECORD +403 -0
- databay_cli-0.1.0.dist-info/WHEEL +4 -0
- databay_cli-0.1.0.dist-info/entry_points.txt +2 -0
- databay_cli-0.1.0.dist-info/licenses/LICENSE +202 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Models of the ``shopify_store`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import ResponseModel
|
|
9
|
+
from databay.models.shared import SourceStatus
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ShopifyStoreResponse(ResponseModel):
|
|
13
|
+
scopes: str = ''
|
|
14
|
+
shop_domain: str
|
|
15
|
+
status: SourceStatus
|
|
16
|
+
uuid: str
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
ShopifyStoreListResponse = list[ShopifyStoreResponse]
|
databay/models/source.py
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"""Models of the ``source`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from datetime import datetime
|
|
9
|
+
from typing import Annotated, Any, Literal
|
|
10
|
+
|
|
11
|
+
from pydantic import Field
|
|
12
|
+
|
|
13
|
+
from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
|
|
14
|
+
from databay.models.shared import AuthKind, ConnectedSourceResponse, DependentPipeView, PipeEligibility, PrecheckFixView, PublicationMode, SourceStatus, SourceType
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class InstagramConnectedConfigLogin(OpenStrEnum):
|
|
18
|
+
FACEBOOK = 'facebook'
|
|
19
|
+
INSTAGRAM = 'instagram'
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PrecheckCheckViewOwner(OpenStrEnum):
|
|
23
|
+
CUSTOMER = 'customer'
|
|
24
|
+
DBA = 'dba'
|
|
25
|
+
DATABAY = 'databay'
|
|
26
|
+
PROVIDER = 'provider'
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class PrecheckCheckViewStatus(OpenStrEnum):
|
|
30
|
+
PASS = 'pass'
|
|
31
|
+
FAIL = 'fail'
|
|
32
|
+
WARN = 'warn'
|
|
33
|
+
UNKNOWN = 'unknown'
|
|
34
|
+
NOT_RUN = 'not_run'
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class ReadinessOverrideViewActor(OpenStrEnum):
|
|
38
|
+
SUPPORT = 'support'
|
|
39
|
+
CUSTOMER = 'customer'
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class PrecheckReportViewProvider(OpenStrEnum):
|
|
43
|
+
RDS = 'rds'
|
|
44
|
+
CLOUDSQL = 'cloudsql'
|
|
45
|
+
AZURE = 'azure'
|
|
46
|
+
ATLAS = 'atlas'
|
|
47
|
+
SELF_MANAGED = 'self_managed'
|
|
48
|
+
UNKNOWN = 'unknown'
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class FileParseSettings(RequestModel):
|
|
52
|
+
delimiter: str | None = None
|
|
53
|
+
encoding: str = 'utf-8'
|
|
54
|
+
header_rows: dict[str, int] | None = None
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class FileUploadConnectedConfig(RequestModel):
|
|
58
|
+
settings: FileParseSettings | None = None
|
|
59
|
+
source_type: Literal['file_upload'] = 'file_upload'
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class Ga4ConnectedConfig(RequestModel):
|
|
63
|
+
extra_account_ids: list[str] | None = None
|
|
64
|
+
multi_property: bool = False
|
|
65
|
+
property_id: str
|
|
66
|
+
refresh_token: str = ''
|
|
67
|
+
service_account_json: str = ''
|
|
68
|
+
source_type: Literal['ga4'] = 'ga4'
|
|
69
|
+
start_date: str = '2023-01-01'
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class GoogleAdsConnectedConfig(RequestModel):
|
|
73
|
+
client_id: str = ''
|
|
74
|
+
client_secret: str = ''
|
|
75
|
+
customer_id: str
|
|
76
|
+
developer_token: str = ''
|
|
77
|
+
login_customer_id: str | None = None
|
|
78
|
+
refresh_token: str
|
|
79
|
+
source_type: Literal['google_ads'] = 'google_ads'
|
|
80
|
+
start_date: str = '2023-01-01'
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class InstagramConnectedConfig(RequestModel):
|
|
84
|
+
access_token: str
|
|
85
|
+
account_id: str = ''
|
|
86
|
+
login: InstagramConnectedConfigLogin = 'facebook'
|
|
87
|
+
source_type: Literal['instagram'] = 'instagram'
|
|
88
|
+
start_date: str = '2023-01-01'
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class LinkedInPagesConnectedConfig(RequestModel):
|
|
92
|
+
access_token: str
|
|
93
|
+
organization_id: str = ''
|
|
94
|
+
source_type: Literal['linkedin_pages'] = 'linkedin_pages'
|
|
95
|
+
start_date: str = '2023-01-01'
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class MSSQLConnectedConfig(RequestModel):
|
|
99
|
+
db_name: str
|
|
100
|
+
host: str
|
|
101
|
+
password: str = ''
|
|
102
|
+
port: int
|
|
103
|
+
source_type: Literal['mssql'] = 'mssql'
|
|
104
|
+
ssl_mode: str = 'disable'
|
|
105
|
+
username: str
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class MetaAdsConnectedConfig(RequestModel):
|
|
109
|
+
access_token: str
|
|
110
|
+
account_id: str
|
|
111
|
+
app_id: str = ''
|
|
112
|
+
app_secret: str = ''
|
|
113
|
+
extra_account_ids: list[str] | None = None
|
|
114
|
+
source_type: Literal['meta_ads'] = 'meta_ads'
|
|
115
|
+
start_date: str = '2023-01-01'
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class MongoDBConnectedConfig(RequestModel):
|
|
119
|
+
db_name: str
|
|
120
|
+
host: str
|
|
121
|
+
password: str = ''
|
|
122
|
+
port: int
|
|
123
|
+
source_type: Literal['mongodb'] = 'mongodb'
|
|
124
|
+
ssl_mode: str = 'disable'
|
|
125
|
+
username: str
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class MySQLConnectedConfig(RequestModel):
|
|
129
|
+
db_name: str
|
|
130
|
+
host: str
|
|
131
|
+
password: str = ''
|
|
132
|
+
port: int
|
|
133
|
+
source_type: Literal['mysql'] = 'mysql'
|
|
134
|
+
ssl_mode: str = 'disable'
|
|
135
|
+
username: str
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class PostgresConnectedConfig(RequestModel):
|
|
139
|
+
db_name: str
|
|
140
|
+
host: str
|
|
141
|
+
password: str = ''
|
|
142
|
+
port: int
|
|
143
|
+
source_type: Literal['postgres'] = 'postgres'
|
|
144
|
+
ssl_mode: str = 'disable'
|
|
145
|
+
username: str
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
class ShopifyConnectedConfig(RequestModel):
|
|
149
|
+
access_token: str
|
|
150
|
+
bulk_window_in_days: int = 30
|
|
151
|
+
source_type: Literal['shopify'] = 'shopify'
|
|
152
|
+
start_date: str = '2020-01-01'
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class ConnectedSourceCreate(RequestModel):
|
|
156
|
+
acknowledge_org_visible: bool = False
|
|
157
|
+
allow_incomplete: bool = False
|
|
158
|
+
config: Annotated[PostgresConnectedConfig | MySQLConnectedConfig | MSSQLConnectedConfig | MongoDBConnectedConfig | ShopifyConnectedConfig | MetaAdsConnectedConfig | GoogleAdsConnectedConfig | Ga4ConnectedConfig | InstagramConnectedConfig | LinkedInPagesConnectedConfig | FileUploadConnectedConfig, Field(discriminator='source_type')]
|
|
159
|
+
name: str
|
|
160
|
+
publication_mode: PublicationMode | None = None
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
class PrecheckCheckView(ResponseModel):
|
|
164
|
+
blocking: bool
|
|
165
|
+
cause: str | None = None
|
|
166
|
+
code: str | None = None
|
|
167
|
+
detail: str
|
|
168
|
+
detail_code: str | None = None
|
|
169
|
+
docs_href: str | None = None
|
|
170
|
+
fixes: list[PrecheckFixView] | None = None
|
|
171
|
+
overridden: bool = False
|
|
172
|
+
owner: PrecheckCheckViewOwner
|
|
173
|
+
requirement_id: str
|
|
174
|
+
retriable: bool = False
|
|
175
|
+
status: PrecheckCheckViewStatus
|
|
176
|
+
support_ref: str | None = None
|
|
177
|
+
title: str
|
|
178
|
+
values: dict[str, str | int] | None = None
|
|
179
|
+
why: str
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class ReadinessOverrideView(ResponseModel):
|
|
183
|
+
actor: ReadinessOverrideViewActor
|
|
184
|
+
at: datetime
|
|
185
|
+
by: str
|
|
186
|
+
reason: str
|
|
187
|
+
requirement_ids: list[str]
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
class PrecheckReportView(ResponseModel):
|
|
191
|
+
checked_at: datetime
|
|
192
|
+
checked_by: str | None = None
|
|
193
|
+
checks: list[PrecheckCheckView]
|
|
194
|
+
override: ReadinessOverrideView | None = None
|
|
195
|
+
provider: PrecheckReportViewProvider
|
|
196
|
+
reachable: bool
|
|
197
|
+
ready: bool
|
|
198
|
+
report_version: int
|
|
199
|
+
run_id: str | None = None
|
|
200
|
+
snapshot_strategy: str | None = None
|
|
201
|
+
source_status: SourceStatus | None = None
|
|
202
|
+
source_type: SourceType
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class ConnectedSourceDetailResponse(ResponseModel):
|
|
206
|
+
auth_kind: AuthKind
|
|
207
|
+
binding_status: str | None = None
|
|
208
|
+
blocking_requirements: list[str] | None = None
|
|
209
|
+
config: dict[str, Any] | None = None
|
|
210
|
+
created_at: datetime | None = None
|
|
211
|
+
external_ref: str | None = None
|
|
212
|
+
home_project_id: str | None = None
|
|
213
|
+
in_use: bool | None = None
|
|
214
|
+
name: str
|
|
215
|
+
pending_home_project_id: str | None = None
|
|
216
|
+
pipe_count: int | None = None
|
|
217
|
+
pipe_eligibility: PipeEligibility
|
|
218
|
+
pipes: list[DependentPipeView] | None = None
|
|
219
|
+
pipes_truncated: bool = False
|
|
220
|
+
pipes_unavailable: bool = False
|
|
221
|
+
publication_mode: PublicationMode | None = None
|
|
222
|
+
readiness: PrecheckReportView | None = None
|
|
223
|
+
readiness_checked_at: datetime | None = None
|
|
224
|
+
relation: str | None = None
|
|
225
|
+
scopes: str | None = None
|
|
226
|
+
secrets_set: dict[str, bool] | None = None
|
|
227
|
+
snapshot_strategy: str | None = None
|
|
228
|
+
source_type: SourceType
|
|
229
|
+
ssl_modes: list[str] | None = None
|
|
230
|
+
status: SourceStatus
|
|
231
|
+
updated_at: datetime | None = None
|
|
232
|
+
uuid: str
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
class ConnectedSourceUpdate(RequestModel):
|
|
236
|
+
allow_incomplete: bool = False
|
|
237
|
+
db_name: str | None = None
|
|
238
|
+
host: str | None = None
|
|
239
|
+
name: str | None = None
|
|
240
|
+
password: str | None = None
|
|
241
|
+
port: int | None = None
|
|
242
|
+
source_type: SourceType | None = None
|
|
243
|
+
ssl_mode: str | None = None
|
|
244
|
+
username: str | None = None
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
class SourceCascadeDeleteResponse(ResponseModel):
|
|
248
|
+
pipes: int
|
|
249
|
+
status: Literal['deleting']
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
class SourceCredentialsRenew(RequestModel):
|
|
253
|
+
credentials: dict[str, str]
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
class SourceForceDeleteResponse(ResponseModel):
|
|
257
|
+
pipes_at_deletion: int | None
|
|
258
|
+
source_id: str
|
|
259
|
+
status: Literal['force_deleted']
|
|
260
|
+
warning: str
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
SourceListResponse = list[ConnectedSourceResponse]
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"""Models of the ``source_catalog`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from typing import Any
|
|
9
|
+
|
|
10
|
+
from pydantic import Field
|
|
11
|
+
|
|
12
|
+
from databay.model_base import OpenStrEnum, ResponseModel
|
|
13
|
+
from databay.models.shared import AuthKind, SourceType
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class RequirementViewOwner(OpenStrEnum):
|
|
17
|
+
CUSTOMER = 'customer'
|
|
18
|
+
DBA = 'dba'
|
|
19
|
+
DATABAY = 'databay'
|
|
20
|
+
PROVIDER = 'provider'
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class SourceFieldDescriptorType(OpenStrEnum):
|
|
24
|
+
STRING = 'string'
|
|
25
|
+
INTEGER = 'integer'
|
|
26
|
+
ENUM = 'enum'
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class SourceCatalogEntryOauthApps(OpenStrEnum):
|
|
30
|
+
DATABAY = 'databay'
|
|
31
|
+
OWN = 'own'
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class RequirementView(ResponseModel):
|
|
35
|
+
blocking: bool
|
|
36
|
+
docs_href: str | None = None
|
|
37
|
+
id: str
|
|
38
|
+
owner: RequirementViewOwner
|
|
39
|
+
title: str
|
|
40
|
+
why: str
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class SetupStepView(ResponseModel):
|
|
44
|
+
body_md: str
|
|
45
|
+
docs_href: str | None = None
|
|
46
|
+
id: str
|
|
47
|
+
sql_template: str | None = None
|
|
48
|
+
title: str
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class SourceFieldDescriptor(ResponseModel):
|
|
52
|
+
default: Any | None = None
|
|
53
|
+
help: str | None = None
|
|
54
|
+
label: str
|
|
55
|
+
name: str
|
|
56
|
+
options: list[str] | None = None
|
|
57
|
+
required: bool = False
|
|
58
|
+
secret: bool = False
|
|
59
|
+
type: SourceFieldDescriptorType = 'string'
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class SourceCatalogEntry(ResponseModel):
|
|
63
|
+
already_connected: bool = False
|
|
64
|
+
auth_kind: AuthKind
|
|
65
|
+
available: bool = True
|
|
66
|
+
display_name: str
|
|
67
|
+
egress_addresses: list[str] | None = None
|
|
68
|
+
fields_: list[SourceFieldDescriptor] = Field(alias='fields')
|
|
69
|
+
journey: bool = False
|
|
70
|
+
journey_recipe: dict[str, Any] | None = None
|
|
71
|
+
manual_fields: list[SourceFieldDescriptor] | None = None
|
|
72
|
+
oauth_apps: list[SourceCatalogEntryOauthApps] | None = None
|
|
73
|
+
oauth_coming_soon: bool = False
|
|
74
|
+
oauth_methods: list[str] | None = None
|
|
75
|
+
requirements: list[RequirementView] | None = None
|
|
76
|
+
setup_steps: list[SetupStepView] | None = None
|
|
77
|
+
supports_oauth: bool = True
|
|
78
|
+
table_checks: bool = False
|
|
79
|
+
type: SourceType
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
SourceCatalogListResponse = list[SourceCatalogEntry]
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""Models of the ``source_check_run`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from datetime import datetime
|
|
9
|
+
|
|
10
|
+
from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
|
|
11
|
+
from databay.models.shared import CheckRunResponse, SourceType
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class TablesReadStatus(OpenStrEnum):
|
|
15
|
+
PENDING = 'pending'
|
|
16
|
+
OK = 'ok'
|
|
17
|
+
FAILED = 'failed'
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class CheckRunConnection(RequestModel):
|
|
21
|
+
db_name: str
|
|
22
|
+
host: str
|
|
23
|
+
port: int
|
|
24
|
+
ssl_mode: str = 'disable'
|
|
25
|
+
username: str
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class CheckRunStartRequest(RequestModel):
|
|
29
|
+
active_probes: bool = False
|
|
30
|
+
config: CheckRunConnection | None = None
|
|
31
|
+
name: str | None = None
|
|
32
|
+
password: str | None = None
|
|
33
|
+
source_id: str | None = None
|
|
34
|
+
source_type: SourceType | None = None
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class CheckRunTableRow(ResponseModel):
|
|
38
|
+
detail_code: str
|
|
39
|
+
fix_sql: str | None
|
|
40
|
+
in_publication: bool
|
|
41
|
+
name: str
|
|
42
|
+
owned: bool
|
|
43
|
+
schema_name: str
|
|
44
|
+
state: str
|
|
45
|
+
table_name: str
|
|
46
|
+
text: str
|
|
47
|
+
values: dict[str, str | int] | None = None
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class CheckRunTablesResponse(ResponseModel):
|
|
51
|
+
as_of: datetime | None
|
|
52
|
+
cap: int
|
|
53
|
+
capped: bool
|
|
54
|
+
matched: int
|
|
55
|
+
read_status: TablesReadStatus
|
|
56
|
+
rows: list[CheckRunTableRow]
|
|
57
|
+
total_in: int
|
|
58
|
+
total_in_publication: int
|
|
59
|
+
total_not_in_publication: int
|
|
60
|
+
total_out: int
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
SourceCheckRunLatestResponse = CheckRunResponse | None
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Models of the ``source_hidden_type`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import ResponseModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class HiddenSourceTypesResponse(ResponseModel):
|
|
12
|
+
enforced: bool
|
|
13
|
+
hidden_types: list[str] | None = None
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Models of the ``source_name`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import RequestModel, ResponseModel
|
|
9
|
+
from databay.models.shared import SourceType
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class NameCheckRequest(RequestModel):
|
|
13
|
+
name: str
|
|
14
|
+
source_type: SourceType | None = None
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class NameCheckResponse(ResponseModel):
|
|
18
|
+
available: bool
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"""Models of the ``source_pipe`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import ResponseModel
|
|
9
|
+
from databay.models.shared import DependentPipeView
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DependentPipePage(ResponseModel):
|
|
13
|
+
data: list[DependentPipeView]
|
|
14
|
+
page: int
|
|
15
|
+
page_size: int
|
|
16
|
+
total: int
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Models of the ``source_publication`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import RequestModel, ResponseModel
|
|
9
|
+
from databay.models.shared import PublicationMode
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PublicationModeRequest(RequestModel):
|
|
13
|
+
publication_mode: PublicationMode
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class PublicationOption(ResponseModel):
|
|
17
|
+
available: bool
|
|
18
|
+
detail_code: str | None
|
|
19
|
+
mode: PublicationMode
|
|
20
|
+
text: str | None
|
|
21
|
+
values: dict[str, str | int] | None = None
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SourcePublicationResponse(ResponseModel):
|
|
25
|
+
locked: bool
|
|
26
|
+
options: list[PublicationOption]
|
|
27
|
+
pipe_count: int
|
|
28
|
+
publication_mode: PublicationMode | None
|
|
29
|
+
publication_name: str
|
|
30
|
+
source_id: str
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Models of the ``source_readiness_override`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import RequestModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ReadinessOverrideRequest(RequestModel):
|
|
12
|
+
reason: str
|
|
13
|
+
requirement_ids: list[str] | None = None
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""Models of the ``source_setup_choice`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SetupChoiceId(OpenStrEnum):
|
|
12
|
+
PUBLICATION = 'publication'
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class SetupChoiceOption(ResponseModel):
|
|
16
|
+
available: bool
|
|
17
|
+
detail_code: str | None
|
|
18
|
+
text: str | None
|
|
19
|
+
value: str
|
|
20
|
+
values: dict[str, str | int] | None = None
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class SetupChoiceRequest(RequestModel):
|
|
24
|
+
value: str
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class SetupChoiceResponse(ResponseModel):
|
|
28
|
+
choice_id: SetupChoiceId
|
|
29
|
+
locked: bool
|
|
30
|
+
options: list[SetupChoiceOption]
|
|
31
|
+
pipe_count: int
|
|
32
|
+
source_id: str
|
|
33
|
+
value: str | None
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""Models of the ``source_stream`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import OpenStrEnum, ResponseModel
|
|
9
|
+
from databay.models.shared import ColumnInfo
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class KeyCandidateViewKind(OpenStrEnum):
|
|
13
|
+
PRIMARY_KEY = 'primary_key'
|
|
14
|
+
UNIQUE_CONSTRAINT = 'unique_constraint'
|
|
15
|
+
UNIQUE_INDEX = 'unique_index'
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class StreamViewKind(OpenStrEnum):
|
|
19
|
+
TABLE = 'table'
|
|
20
|
+
COLLECTION = 'collection'
|
|
21
|
+
REPORT = 'report'
|
|
22
|
+
RESOURCE = 'resource'
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class StreamViewSyncModes(OpenStrEnum):
|
|
26
|
+
CDC = 'cdc'
|
|
27
|
+
INCREMENTAL = 'incremental'
|
|
28
|
+
FULL_REFRESH = 'full_refresh'
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class NamespaceViewKind(OpenStrEnum):
|
|
32
|
+
SCHEMA = 'schema'
|
|
33
|
+
DATABASE = 'database'
|
|
34
|
+
SOURCE = 'source'
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class KeyCandidateView(ResponseModel):
|
|
38
|
+
all_non_nullable: bool
|
|
39
|
+
columns: list[str]
|
|
40
|
+
kind: KeyCandidateViewKind
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class StreamView(ResponseModel):
|
|
44
|
+
in_publication: bool | None = None
|
|
45
|
+
kind: StreamViewKind
|
|
46
|
+
name: str
|
|
47
|
+
sync_modes: list[StreamViewSyncModes]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class NamespaceView(ResponseModel):
|
|
51
|
+
kind: NamespaceViewKind
|
|
52
|
+
name: str
|
|
53
|
+
streams: list[StreamView] | None = None
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class StreamCatalogResponse(ResponseModel):
|
|
57
|
+
namespaces: list[NamespaceView]
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class StreamShapeResponse(ResponseModel):
|
|
61
|
+
columns: list[ColumnInfo]
|
|
62
|
+
key_candidates: list[KeyCandidateView]
|
|
63
|
+
primary_key: list[str]
|
|
64
|
+
replica_identity: str | None = None
|
|
65
|
+
schemaless: bool
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Models of the ``source_table`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from databay.model_base import ResponseModel
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TableIssueView(ResponseModel):
|
|
12
|
+
blocking: bool
|
|
13
|
+
code: str
|
|
14
|
+
fix_sql: str | None = None
|
|
15
|
+
note: str | None = None
|
|
16
|
+
title: str
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class TableReadinessView(ResponseModel):
|
|
20
|
+
issues: list[TableIssueView] | None = None
|
|
21
|
+
ready: bool
|
|
22
|
+
table: str
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class TableReadinessReport(ResponseModel):
|
|
26
|
+
ready: bool
|
|
27
|
+
tables: list[TableReadinessView]
|
databay/models/sql.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Models of the ``sql`` noun.
|
|
2
|
+
|
|
3
|
+
Generated by python/tools/gen_client.py from contract/core.json; do not edit.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
from typing import Any
|
|
9
|
+
|
|
10
|
+
from databay.model_base import RequestModel, ResponseModel
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SqlExecuteRequest(RequestModel):
|
|
14
|
+
db_uuid: str | None = None
|
|
15
|
+
query: str
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class SqlWarning(ResponseModel):
|
|
19
|
+
code: str
|
|
20
|
+
message: str
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class SqlExecuteResponse(ResponseModel):
|
|
24
|
+
columns: list[str]
|
|
25
|
+
elapsed_ms: int
|
|
26
|
+
project_id: str | None = None
|
|
27
|
+
row_count: int
|
|
28
|
+
rows: list[list[Any]]
|
|
29
|
+
truncated: bool
|
|
30
|
+
warehouse_uuid: str | None = None
|
|
31
|
+
warnings: list[SqlWarning] | None = None
|