1
1
from typing import Any , Callable
2
2
3
3
from realtime_py .connection import Socket
4
+ from realtime_py .transformers import convert_change_data
4
5
5
6
6
7
class SupabaseRealtimeClient :
7
- def __init__ (self , socket , schema , table_name ):
8
+ def __init__ (self , socket : Type [ Socket ] , schema : str , table_name : str ):
8
9
topic = (
9
10
f"realtime:{ schema } "
10
11
if table_name == "*"
@@ -14,11 +15,12 @@ def __init__(self, socket, schema, table_name):
14
15
15
16
def get_payload_records (self , payload : Any ):
16
17
records = {"new" : {}, "old" : {}}
17
- # TODO: Figure out how to create payload
18
- # if payload.type == "INSERT" or payload.type == "UPDATE":
19
- # records.new = Transformers.convertChangeData(payload.columns, payload.record)
20
- # if (payload.type === 'UPDATE' || payload.type === 'DELETE'):
21
- # records.old = Transformers.convertChangeData(payload.columns, payload.old_record)
18
+ if payload .type == "INSERT" or payload .type == "UPDATE" :
19
+ records .new = payload .record
20
+ convert_change_data (payload .columns , payload .record )
21
+ if (payload .type == = 'UPDATE' or payload .type == = 'DELETE' ):
22
+ records .old = payload .record
23
+ convert_change_data (payload .columns , payload .old_record )
22
24
return records
23
25
24
26
def on (self , event , callback : Callable [..., Any ]):
0 commit comments