1
0
mirror of synced 2026-01-06 15:03:36 -05:00
Files
airbyte/airbyte-cdk/python/airbyte_cdk/connector_builder/models.py
Alexandre Girard edfc59533d Connector builder: Port "send stacktrace when error on read" to CDK connector builder module (#24173)
* wip

* fix unit test

* fix other unit test

* format

* reset

* format

* missing unit test

* yield a LogMessage on error

* format

* format

* fix unit tests

* yield a trace message instead of a log message

* format

* fix bad merge
2023-03-21 17:22:08 -07:00

87 lines
1.8 KiB
Python

#
# Copyright (c) 2023 Airbyte, Inc., all rights reserved.
#
from dataclasses import dataclass
from datetime import datetime
from typing import Any, Dict, List, Optional
@dataclass
class HttpResponse:
status: int
body: Optional[str] = None
headers: Optional[Dict[str, Any]] = None
@dataclass
class HttpRequest:
url: str
parameters: Optional[Dict[str, Any]]
body: Optional[Dict[str, Any]]
headers: Optional[Dict[str, Any]]
http_method: str
@dataclass
class StreamReadPages:
records: List[object]
request: Optional[HttpRequest] = None
response: Optional[HttpResponse] = None
@dataclass
class StreamReadSlicesInnerPagesInner:
records: List[object]
request: Optional[HttpRequest]
response: Optional[HttpResponse]
@dataclass
class StreamReadSlicesInnerSliceDescriptor:
start_datetime: Optional[datetime]
list_item: Optional[str]
@dataclass
class StreamReadSlicesInner:
pages: List[StreamReadSlicesInnerPagesInner]
slice_descriptor: Optional[StreamReadSlicesInnerSliceDescriptor]
state: Optional[Dict[str, Any]]
@dataclass
class LogMessage:
message: str
level: str
@dataclass
class StreamRead(object):
logs: List[LogMessage]
slices: List[StreamReadSlicesInner]
test_read_limit_reached: bool
inferred_schema: Optional[Dict[str, Any]]
@dataclass
class StreamReadRequestBody:
manifest: Dict[str, Any]
stream: str
config: Dict[str, Any]
state: Optional[Dict[str, Any]]
record_limit: Optional[int]
@dataclass
class StreamReadSliceDescriptor:
start_datetime: Optional[datetime] = None
list_item: Optional[str] = None
@dataclass
class StreamReadSlices:
pages: List[StreamReadPages]
slice_descriptor: Optional[StreamReadSliceDescriptor] = None
state: Optional[Dict[str, Any]] = None