|
218 | 218 | from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
219 | 219 | DynamicSchemaLoader as DynamicSchemaLoaderModel, |
220 | 220 | ) |
| 221 | +from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
| 222 | + EmitPartialRecordMergeStrategy, |
| 223 | + ValueType, |
| 224 | +) |
221 | 225 | from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
222 | 226 | ExponentialBackoffStrategy as ExponentialBackoffStrategyModel, |
223 | 227 | ) |
|
384 | 388 | from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
385 | 389 | UnlimitedCallRatePolicy as UnlimitedCallRatePolicyModel, |
386 | 390 | ) |
387 | | -from airbyte_cdk.sources.declarative.models.declarative_component_schema import ValueType |
388 | 391 | from airbyte_cdk.sources.declarative.models.declarative_component_schema import ( |
389 | 392 | WaitTimeFromHeader as WaitTimeFromHeaderModel, |
390 | 393 | ) |
|
441 | 444 | StopConditionPaginationStrategyDecorator, |
442 | 445 | ) |
443 | 446 | from airbyte_cdk.sources.declarative.requesters.query_properties import ( |
444 | | - GroupByKey, |
445 | 447 | PropertiesFromEndpoint, |
446 | 448 | PropertyChunking, |
447 | 449 | QueryProperties, |
448 | 450 | ) |
449 | 451 | from airbyte_cdk.sources.declarative.requesters.query_properties.property_chunking import ( |
450 | 452 | PropertyLimitType, |
451 | 453 | ) |
| 454 | +from airbyte_cdk.sources.declarative.requesters.query_properties.strategies import ( |
| 455 | + EmitPartialRecord, |
| 456 | + GroupByKey, |
| 457 | +) |
452 | 458 | from airbyte_cdk.sources.declarative.requesters.request_option import RequestOptionType |
453 | 459 | from airbyte_cdk.sources.declarative.requesters.request_options import ( |
454 | 460 | DatetimeBasedRequestOptionsProvider, |
@@ -609,6 +615,7 @@ def _init_mappings(self) -> None: |
609 | 615 | DefaultErrorHandlerModel: self.create_default_error_handler, |
610 | 616 | DefaultPaginatorModel: self.create_default_paginator, |
611 | 617 | DpathExtractorModel: self.create_dpath_extractor, |
| 618 | + EmitPartialRecordMergeStrategy: self.create_emit_partial_record, |
612 | 619 | ResponseToFileExtractorModel: self.create_response_to_file_extractor, |
613 | 620 | ExponentialBackoffStrategyModel: self.create_exponential_backoff_strategy, |
614 | 621 | SessionTokenAuthenticatorModel: self.create_session_token_authenticator, |
@@ -790,6 +797,12 @@ def create_dpath_flatten_fields( |
790 | 797 | parameters=model.parameters or {}, |
791 | 798 | ) |
792 | 799 |
|
| 800 | + @staticmethod |
| 801 | + def create_emit_partial_record( |
| 802 | + model: EmitPartialRecordMergeStrategy, config: Config, **kwargs: Any |
| 803 | + ) -> EmitPartialRecord: |
| 804 | + return EmitPartialRecord(config=config, parameters=model.parameters or {}) |
| 805 | + |
793 | 806 | @staticmethod |
794 | 807 | def _json_schema_type_name_to_type(value_type: Optional[ValueType]) -> Optional[Type[Any]]: |
795 | 808 | if not value_type: |
|
0 commit comments