@@ -298,6 +298,35 @@ def read_records(
298
298
yield from paymentstream .read_records (sync_mode , cursor_field , stream_slice , stream_state )
299
299
300
300
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
+
301
330
# Source
302
331
class SourceMgramseva (AbstractSource ):
303
332
"""Source for mGramSeva"""
@@ -393,6 +422,7 @@ def streams(self, config: Mapping[str, Any]) -> List[Stream]:
393
422
# Generate streams for each object type
394
423
streams = [
395
424
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" ]),
396
426
MgramsevaTenantExpenses (self .headers , self .request_info , self .user_request , self .config ["tenantids" ], start_date , end_date ),
397
427
MgramsevaDemands (self .headers , self .request_info , self .user_request , self .config ["tenantids" ]),
398
428
]
0 commit comments