airbyte-agent-shopify 0.1.28__tar.gz → 0.1.30__tar.gz
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.
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/CHANGELOG.md +10 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/PKG-INFO +3 -3
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/README.md +2 -2
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/__init__.py +2 -2
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/cloud_utils/client.py +1 -1
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/connector_model_loader.py +0 -5
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/executor/local_executor.py +1 -10
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/__init__.py +0 -2
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/security.py +11 -56
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/pyproject.toml +1 -1
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/.gitignore +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/AUTH.md +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/REFERENCE.md +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/auth_strategies.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/auth_template.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/cloud_utils/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/constants.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/exceptions.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/executor/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/executor/hosted_executor.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/executor/models.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/extensions.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/adapters/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/adapters/httpx_adapter.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/config.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/exceptions.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/protocols.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http/response.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/http_client.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/introspection.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/logging/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/logging/logger.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/logging/types.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/observability/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/observability/config.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/observability/models.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/observability/redactor.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/observability/session.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/performance/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/performance/instrumentation.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/performance/metrics.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/base.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/components.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/connector.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/extensions.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/schema/operations.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/secrets.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/__init__.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/config.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/events.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/telemetry/tracker.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/types.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/utils.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/validation.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/_vendored/connector_sdk/validation_replication.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/connector.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/connector_model.py +0 -0
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/models.py +16 -16
- {airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/types.py +0 -0
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Shopify changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.30] - 2026-02-03
|
|
4
|
+
- Updated connector definition (YAML version 0.1.5)
|
|
5
|
+
- Source commit: 5ef2158e
|
|
6
|
+
- SDK version: 0.1.0
|
|
7
|
+
|
|
8
|
+
## [0.1.29] - 2026-02-03
|
|
9
|
+
- Updated connector definition (YAML version 0.1.5)
|
|
10
|
+
- Source commit: 5c6dbf88
|
|
11
|
+
- SDK version: 0.1.0
|
|
12
|
+
|
|
3
13
|
## [0.1.28] - 2026-02-03
|
|
4
14
|
- Updated connector definition (YAML version 0.1.5)
|
|
5
15
|
- Source commit: 1fc2ac28
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: airbyte-agent-shopify
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.30
|
|
4
4
|
Summary: Airbyte Shopify Connector for AI platforms
|
|
5
5
|
Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
|
|
6
6
|
Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
|
|
@@ -170,7 +170,7 @@ See the official [Shopify API reference](https://shopify.dev/docs/api/admin-rest
|
|
|
170
170
|
|
|
171
171
|
## Version information
|
|
172
172
|
|
|
173
|
-
- **Package version:** 0.1.
|
|
173
|
+
- **Package version:** 0.1.30
|
|
174
174
|
- **Connector version:** 0.1.5
|
|
175
|
-
- **Generated with Connector SDK commit SHA:**
|
|
175
|
+
- **Generated with Connector SDK commit SHA:** 5ef2158e48be294dd68d60f7d9993684d424d388
|
|
176
176
|
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/shopify/CHANGELOG.md)
|
|
@@ -137,7 +137,7 @@ See the official [Shopify API reference](https://shopify.dev/docs/api/admin-rest
|
|
|
137
137
|
|
|
138
138
|
## Version information
|
|
139
139
|
|
|
140
|
-
- **Package version:** 0.1.
|
|
140
|
+
- **Package version:** 0.1.30
|
|
141
141
|
- **Connector version:** 0.1.5
|
|
142
|
-
- **Generated with Connector SDK commit SHA:**
|
|
142
|
+
- **Generated with Connector SDK commit SHA:** 5ef2158e48be294dd68d60f7d9993684d424d388
|
|
143
143
|
- **Changelog:** [View changelog](https://github.com/airbytehq/airbyte-agent-connectors/blob/main/connectors/shopify/CHANGELOG.md)
|
{airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/__init__.py
RENAMED
|
@@ -19,8 +19,8 @@ from .models import (
|
|
|
19
19
|
Fulfillment,
|
|
20
20
|
Order,
|
|
21
21
|
OrderList,
|
|
22
|
-
ProductVariant,
|
|
23
22
|
ProductImage,
|
|
23
|
+
ProductVariant,
|
|
24
24
|
Product,
|
|
25
25
|
ProductList,
|
|
26
26
|
ProductVariantList,
|
|
@@ -193,8 +193,8 @@ __all__ = [
|
|
|
193
193
|
"Fulfillment",
|
|
194
194
|
"Order",
|
|
195
195
|
"OrderList",
|
|
196
|
-
"ProductVariant",
|
|
197
196
|
"ProductImage",
|
|
197
|
+
"ProductVariant",
|
|
198
198
|
"Product",
|
|
199
199
|
"ProductList",
|
|
200
200
|
"ProductVariantList",
|
|
@@ -317,7 +317,7 @@ class AirbyteCloudClient:
|
|
|
317
317
|
)
|
|
318
318
|
"""
|
|
319
319
|
token = await self.get_bearer_token()
|
|
320
|
-
url = f"{self.API_BASE_URL}/api/v1/connectors/
|
|
320
|
+
url = f"{self.API_BASE_URL}/api/v1/integrations/connectors/{connector_id}/execute"
|
|
321
321
|
headers = {"Authorization": f"Bearer {token}"}
|
|
322
322
|
request_body = {
|
|
323
323
|
"entity": entity,
|
|
@@ -766,7 +766,6 @@ def _generate_default_auth_config(auth_type: AuthType) -> AirbyteAuthConfig:
|
|
|
766
766
|
)
|
|
767
767
|
},
|
|
768
768
|
auth_mapping={"token": "${token}"},
|
|
769
|
-
oneOf=None,
|
|
770
769
|
)
|
|
771
770
|
elif auth_type == AuthType.BASIC:
|
|
772
771
|
return AirbyteAuthConfig(
|
|
@@ -793,7 +792,6 @@ def _generate_default_auth_config(auth_type: AuthType) -> AirbyteAuthConfig:
|
|
|
793
792
|
),
|
|
794
793
|
},
|
|
795
794
|
auth_mapping={"username": "${username}", "password": "${password}"},
|
|
796
|
-
oneOf=None,
|
|
797
795
|
)
|
|
798
796
|
elif auth_type == AuthType.API_KEY:
|
|
799
797
|
return AirbyteAuthConfig(
|
|
@@ -812,7 +810,6 @@ def _generate_default_auth_config(auth_type: AuthType) -> AirbyteAuthConfig:
|
|
|
812
810
|
)
|
|
813
811
|
},
|
|
814
812
|
auth_mapping={"api_key": "${api_key}"},
|
|
815
|
-
oneOf=None,
|
|
816
813
|
)
|
|
817
814
|
elif auth_type == AuthType.OAUTH2:
|
|
818
815
|
# OAuth2: No fields are strictly required to support both modes:
|
|
@@ -865,7 +862,6 @@ def _generate_default_auth_config(auth_type: AuthType) -> AirbyteAuthConfig:
|
|
|
865
862
|
"client_id": "${client_id}",
|
|
866
863
|
"client_secret": "${client_secret}",
|
|
867
864
|
},
|
|
868
|
-
oneOf=None,
|
|
869
865
|
)
|
|
870
866
|
else:
|
|
871
867
|
# Unknown auth type - return minimal config
|
|
@@ -876,7 +872,6 @@ def _generate_default_auth_config(auth_type: AuthType) -> AirbyteAuthConfig:
|
|
|
876
872
|
required=None,
|
|
877
873
|
properties={},
|
|
878
874
|
auth_mapping={},
|
|
879
|
-
oneOf=None,
|
|
880
875
|
)
|
|
881
876
|
|
|
882
877
|
|
|
@@ -261,19 +261,10 @@ class LocalExecutor:
|
|
|
261
261
|
auth_mapping = None
|
|
262
262
|
required_fields: list[str] | None = None
|
|
263
263
|
|
|
264
|
-
#
|
|
264
|
+
# Get auth_mapping from the config
|
|
265
265
|
if user_config_spec.auth_mapping:
|
|
266
266
|
auth_mapping = user_config_spec.auth_mapping
|
|
267
267
|
required_fields = user_config_spec.required
|
|
268
|
-
# Check for oneOf (multiple auth options)
|
|
269
|
-
elif user_config_spec.one_of:
|
|
270
|
-
# Find the matching option based on which required fields are present
|
|
271
|
-
for option in user_config_spec.one_of:
|
|
272
|
-
option_required = option.required or []
|
|
273
|
-
if all(field in user_secrets for field in option_required):
|
|
274
|
-
auth_mapping = option.auth_mapping
|
|
275
|
-
required_fields = option_required
|
|
276
|
-
break
|
|
277
268
|
|
|
278
269
|
if not auth_mapping:
|
|
279
270
|
# No matching auth_mapping found, use secrets as-is
|
|
@@ -31,7 +31,6 @@ from .operations import Operation, PathItem
|
|
|
31
31
|
from .security import (
|
|
32
32
|
AirbyteAuthConfig,
|
|
33
33
|
AuthConfigFieldSpec,
|
|
34
|
-
AuthConfigOption,
|
|
35
34
|
OAuth2Flow,
|
|
36
35
|
OAuth2Flows,
|
|
37
36
|
SecurityRequirement,
|
|
@@ -55,7 +54,6 @@ __all__ = [
|
|
|
55
54
|
"OAuth2Flow",
|
|
56
55
|
"OAuth2Flows",
|
|
57
56
|
"AirbyteAuthConfig",
|
|
58
|
-
"AuthConfigOption",
|
|
59
57
|
"AuthConfigFieldSpec",
|
|
60
58
|
# Component models
|
|
61
59
|
"Components",
|
|
@@ -58,45 +58,6 @@ class AuthConfigFieldSpec(BaseModel):
|
|
|
58
58
|
default: Any | None = None
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
class AuthConfigOption(BaseModel):
|
|
62
|
-
"""
|
|
63
|
-
A single authentication configuration option.
|
|
64
|
-
|
|
65
|
-
Defines user-facing fields and how they map to auth parameters.
|
|
66
|
-
"""
|
|
67
|
-
|
|
68
|
-
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
69
|
-
|
|
70
|
-
title: str | None = None
|
|
71
|
-
description: str | None = None
|
|
72
|
-
type: Literal["object"] = "object"
|
|
73
|
-
required: List[str] = Field(default_factory=list)
|
|
74
|
-
properties: Dict[str, AuthConfigFieldSpec] = Field(default_factory=dict)
|
|
75
|
-
auth_mapping: Dict[str, str] = Field(
|
|
76
|
-
default_factory=dict,
|
|
77
|
-
description="Mapping from auth parameters (e.g., 'username', 'password', 'token') to template strings using ${field} syntax",
|
|
78
|
-
)
|
|
79
|
-
replication_auth_key_mapping: Dict[str, str] | None = Field(
|
|
80
|
-
None,
|
|
81
|
-
description="Mapping from source config paths (e.g., 'credentials.api_key') to auth config keys for direct connectors",
|
|
82
|
-
)
|
|
83
|
-
|
|
84
|
-
@model_validator(mode="after")
|
|
85
|
-
def validate_replication_auth_key_mapping(self) -> "AuthConfigOption":
|
|
86
|
-
"""Validate that replication_auth_key_mapping target keys exist in properties."""
|
|
87
|
-
if self.replication_auth_key_mapping and self.properties:
|
|
88
|
-
property_names = set(self.properties.keys())
|
|
89
|
-
for airbyte_path, our_key in self.replication_auth_key_mapping.items():
|
|
90
|
-
if our_key not in property_names:
|
|
91
|
-
option_context = f"oneOf option '{self.title}'" if self.title else "oneOf option"
|
|
92
|
-
available = ", ".join(sorted(property_names)) if property_names else "(none)"
|
|
93
|
-
raise ValueError(
|
|
94
|
-
f"replication_auth_key_mapping in {option_context}: target key '{our_key}' "
|
|
95
|
-
f"(mapped from '{airbyte_path}') not found in properties. Available: {available}"
|
|
96
|
-
)
|
|
97
|
-
return self
|
|
98
|
-
|
|
99
|
-
|
|
100
61
|
class AirbyteAuthConfig(BaseModel):
|
|
101
62
|
"""
|
|
102
63
|
Airbyte auth configuration extension (x-airbyte-auth-config).
|
|
@@ -104,12 +65,12 @@ class AirbyteAuthConfig(BaseModel):
|
|
|
104
65
|
Defines user-facing authentication configuration and how it maps to
|
|
105
66
|
the underlying OpenAPI security scheme.
|
|
106
67
|
|
|
107
|
-
|
|
68
|
+
For multiple authentication methods, define separate security schemes
|
|
69
|
+
rather than using oneOf within a single scheme.
|
|
108
70
|
"""
|
|
109
71
|
|
|
110
72
|
model_config = ConfigDict(populate_by_name=True, extra="forbid")
|
|
111
73
|
|
|
112
|
-
# Single option fields
|
|
113
74
|
title: str | None = None
|
|
114
75
|
description: str | None = None
|
|
115
76
|
type: Literal["object"] | None = None
|
|
@@ -137,29 +98,23 @@ class AirbyteAuthConfig(BaseModel):
|
|
|
137
98
|
None,
|
|
138
99
|
description="Constant values to always inject at source config paths (e.g., 'credentials.auth_type': 'OAuth2.0')",
|
|
139
100
|
)
|
|
140
|
-
# Multiple options (oneOf)
|
|
141
|
-
one_of: List[AuthConfigOption] | None = Field(None, alias="oneOf")
|
|
142
101
|
|
|
143
102
|
@model_validator(mode="after")
|
|
144
103
|
def validate_config_structure(self) -> "AirbyteAuthConfig":
|
|
145
|
-
"""Validate that
|
|
146
|
-
|
|
147
|
-
has_one_of = self.one_of is not None and len(self.one_of) > 0
|
|
148
|
-
|
|
149
|
-
if not has_single and not has_one_of:
|
|
150
|
-
raise ValueError("Either single auth option (type/properties/auth_mapping) or oneOf must be provided")
|
|
104
|
+
"""Validate that required fields are provided for auth config."""
|
|
105
|
+
has_config = self.type is not None or self.properties is not None or self.auth_mapping is not None
|
|
151
106
|
|
|
152
|
-
if
|
|
153
|
-
raise ValueError("
|
|
107
|
+
if not has_config:
|
|
108
|
+
raise ValueError("Auth config must have type, properties, and auth_mapping")
|
|
154
109
|
|
|
155
|
-
if
|
|
156
|
-
# Validate
|
|
110
|
+
if has_config:
|
|
111
|
+
# Validate required fields
|
|
157
112
|
if self.type != "object":
|
|
158
|
-
raise ValueError("
|
|
113
|
+
raise ValueError("Auth config must have type='object'")
|
|
159
114
|
if not self.properties:
|
|
160
|
-
raise ValueError("
|
|
115
|
+
raise ValueError("Auth config must have properties")
|
|
161
116
|
if not self.auth_mapping:
|
|
162
|
-
raise ValueError("
|
|
117
|
+
raise ValueError("Auth config must have auth_mapping")
|
|
163
118
|
|
|
164
119
|
# Validate replication_auth_key_mapping targets exist in properties
|
|
165
120
|
if self.replication_auth_key_mapping and self.properties:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/connector.py
RENAMED
|
File without changes
|
|
File without changes
|
{airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/models.py
RENAMED
|
@@ -327,6 +327,22 @@ class OrderList(BaseModel):
|
|
|
327
327
|
|
|
328
328
|
orders: Union[list[Order], Any] = Field(default=None)
|
|
329
329
|
|
|
330
|
+
class ProductImage(BaseModel):
|
|
331
|
+
"""A product image"""
|
|
332
|
+
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
333
|
+
|
|
334
|
+
id: Union[int, Any] = Field(default=None)
|
|
335
|
+
product_id: Union[int | None, Any] = Field(default=None)
|
|
336
|
+
position: Union[int | None, Any] = Field(default=None)
|
|
337
|
+
created_at: Union[str | None, Any] = Field(default=None)
|
|
338
|
+
updated_at: Union[str | None, Any] = Field(default=None)
|
|
339
|
+
alt: Union[str | None, Any] = Field(default=None)
|
|
340
|
+
width: Union[int | None, Any] = Field(default=None)
|
|
341
|
+
height: Union[int | None, Any] = Field(default=None)
|
|
342
|
+
src: Union[str | None, Any] = Field(default=None)
|
|
343
|
+
variant_ids: Union[list[int] | None, Any] = Field(default=None)
|
|
344
|
+
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
345
|
+
|
|
330
346
|
class ProductVariant(BaseModel):
|
|
331
347
|
"""A product variant"""
|
|
332
348
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
@@ -358,22 +374,6 @@ class ProductVariant(BaseModel):
|
|
|
358
374
|
requires_shipping: Union[bool | None, Any] = Field(default=None)
|
|
359
375
|
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
360
376
|
|
|
361
|
-
class ProductImage(BaseModel):
|
|
362
|
-
"""A product image"""
|
|
363
|
-
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
|
364
|
-
|
|
365
|
-
id: Union[int, Any] = Field(default=None)
|
|
366
|
-
product_id: Union[int | None, Any] = Field(default=None)
|
|
367
|
-
position: Union[int | None, Any] = Field(default=None)
|
|
368
|
-
created_at: Union[str | None, Any] = Field(default=None)
|
|
369
|
-
updated_at: Union[str | None, Any] = Field(default=None)
|
|
370
|
-
alt: Union[str | None, Any] = Field(default=None)
|
|
371
|
-
width: Union[int | None, Any] = Field(default=None)
|
|
372
|
-
height: Union[int | None, Any] = Field(default=None)
|
|
373
|
-
src: Union[str | None, Any] = Field(default=None)
|
|
374
|
-
variant_ids: Union[list[int] | None, Any] = Field(default=None)
|
|
375
|
-
admin_graphql_api_id: Union[str | None, Any] = Field(default=None)
|
|
376
|
-
|
|
377
377
|
class Product(BaseModel):
|
|
378
378
|
"""A Shopify product"""
|
|
379
379
|
model_config = ConfigDict(extra="allow", populate_by_name=True)
|
{airbyte_agent_shopify-0.1.28 → airbyte_agent_shopify-0.1.30}/airbyte_agent_shopify/types.py
RENAMED
|
File without changes
|