diff --git a/src/realtime/src/realtime/_async/channel.py b/src/realtime/src/realtime/_async/channel.py index b6171098..7b4e8712 100644 --- a/src/realtime/src/realtime/_async/channel.py +++ b/src/realtime/src/realtime/_async/channel.py @@ -236,7 +236,7 @@ def on_join_push_ok(payload: ReplyPostgresChanges): if ( server_binding - and server_binding.events == postgres_callback.event + and server_binding.event == postgres_callback.event and server_binding.schema_ == postgres_callback.schema and server_binding.table == postgres_callback.table and server_binding.filter == postgres_callback.filter diff --git a/src/realtime/src/realtime/message.py b/src/realtime/src/realtime/message.py index 67074c4e..eed31962 100644 --- a/src/realtime/src/realtime/message.py +++ b/src/realtime/src/realtime/message.py @@ -36,8 +36,8 @@ class JoinMessage(BaseModel): class PostgresRowChange(BaseModel): id: int - events: RealtimePostgresChangesListenEvent - table: str + event: RealtimePostgresChangesListenEvent + table: Optional[str] = None schema_: Optional[str] = Field(alias="schema", default=None) filter: Optional[str] = None diff --git a/src/realtime/src/realtime/types.py b/src/realtime/src/realtime/types.py index 1223f06a..331da20d 100644 --- a/src/realtime/src/realtime/types.py +++ b/src/realtime/src/realtime/types.py @@ -147,9 +147,11 @@ def __call__(self, payload: PostgresChangesPayload) -> None: @property def binding_filter(self) -> dict[str, Optional[str]]: - binding = {"events": self.event, "table": self.table} + binding = {"event": self.event} if self.schema: binding["schema"] = self.schema + if self.table: + binding["table"] = self.table if self.filter: binding["filter"] = self.filter return binding