Skip to content

Commit 32fc2b4

Browse files
authored
Merge pull request #106 from DalgoT4D/water-connections
water connections stream
2 parents 27884c8 + f58ddcb commit 32fc2b4

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"type": "object",
4+
"properties": {
5+
"id": {
6+
"type": "string"
7+
},
8+
"data": {
9+
"type": "object"
10+
}
11+
}
12+
}

airbyte-integrations/connectors/source-mgramseva/source_mgramseva/source.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,35 @@ def read_records(
298298
yield from paymentstream.read_records(sync_mode, cursor_field, stream_slice, stream_state)
299299

300300

301+
class MgramsevaWaterConnections(MgramsevaStream):
302+
"""object for water connections"""
303+
304+
def __init__(
305+
self, headers: dict, request_info: dict, user_request: dict, tenantid_list: list, **kwargs
306+
): # pylint: disable=super-init-not-called
307+
"""specify endpoint for water connections and call super"""
308+
self.headers = headers
309+
self.request_info = request_info
310+
self.user_request = user_request
311+
self.tenantid_list = tenantid_list
312+
313+
def read_records(
314+
self,
315+
sync_mode: SyncMode,
316+
cursor_field: Optional[List[str]] = None,
317+
stream_slice: Optional[Mapping[str, Any]] = None,
318+
stream_state: Optional[Mapping[str, Any]] = None,
319+
) -> Iterable[StreamData]:
320+
"""override"""
321+
322+
for tenantid in self.tenantid_list:
323+
params = {"tenantId": tenantid, "businessService": "WS"}
324+
wcstream = MgramsevaStream(
325+
"ws-services/wc/_search", self.headers, self.request_info, self.user_request, params, "WaterConnection"
326+
)
327+
yield from wcstream.read_records(sync_mode, cursor_field, stream_slice, stream_state)
328+
329+
301330
# Source
302331
class SourceMgramseva(AbstractSource):
303332
"""Source for mGramSeva"""
@@ -393,6 +422,7 @@ def streams(self, config: Mapping[str, Any]) -> List[Stream]:
393422
# Generate streams for each object type
394423
streams = [
395424
MgramsevaPayments(self.headers, self.request_info, self.user_request, self.config["tenantids"]),
425+
MgramsevaWaterConnections(self.headers, self.request_info, self.user_request, self.config["tenantids"]),
396426
MgramsevaTenantExpenses(self.headers, self.request_info, self.user_request, self.config["tenantids"], start_date, end_date),
397427
MgramsevaDemands(self.headers, self.request_info, self.user_request, self.config["tenantids"]),
398428
]

0 commit comments

Comments
 (0)