File tree Expand file tree Collapse file tree 5 files changed +21
-8
lines changed Expand file tree Collapse file tree 5 files changed +21
-8
lines changed Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ public PostgresChangesResponse(JsonSerializerSettings serializerSettings) : base
17
17
public class PostgresChangesResponse : SocketResponse < PostgresChangesPayload < SocketResponsePayload > >
18
18
{
19
19
public PostgresChangesResponse ( JsonSerializerSettings serializerSettings ) : base ( serializerSettings )
20
- { }
20
+ { }
21
21
22
22
/// <summary>
23
23
/// Hydrates the referenced record into a Model (if possible).
Original file line number Diff line number Diff line change 32
32
<Version Condition =" '$(Version)' == '' " >$(VersionPrefix)</Version >
33
33
</PropertyGroup >
34
34
<ItemGroup >
35
- <PackageReference Include =" postgrest-csharp" Version =" 3.1.2 " />
35
+ <PackageReference Include =" postgrest-csharp" Version =" 3.1.3 " />
36
36
<PackageReference Include =" supabase-core" Version =" 0.0.2" />
37
37
<PackageReference Include =" Websocket.Client" Version =" 4.4.43" />
38
38
<PackageReference Include =" Newtonsoft.Json" Version =" 13.0.2" />
Original file line number Diff line number Diff line change @@ -513,7 +513,10 @@ internal void HandleSocketMessage(SocketResponseEventArgs args)
513
513
{
514
514
case EventType . PostgresChanges :
515
515
var deserialize = JsonConvert . DeserializeObject < PostgresChangesResponse > ( args . Response . Json ! , Options . SerializerSettings ) ;
516
+
516
517
deserialize ! . Json = args . Response . Json ;
518
+ deserialize . serializerSettings = Options . SerializerSettings ;
519
+
517
520
var newArgs = new PostgresChangesEventArgs ( deserialize ! ) ;
518
521
519
522
// Invoke '*' listener
Original file line number Diff line number Diff line change 1
1
using Newtonsoft . Json ;
2
+ using Newtonsoft . Json . Converters ;
2
3
using Postgrest . Models ;
3
4
using Supabase . Realtime . Interfaces ;
4
5
using Supabase . Realtime . PostgresChanges ;
@@ -24,7 +25,8 @@ public SocketResponse(JsonSerializerSettings serializerSettings) : base(serializ
24
25
/// </summary>
25
26
public class SocketResponse : IRealtimeSocketResponse
26
27
{
27
- protected JsonSerializerSettings serializerSettings ;
28
+ internal JsonSerializerSettings serializerSettings ;
29
+
28
30
public SocketResponse ( JsonSerializerSettings serializerSettings )
29
31
{
30
32
this . serializerSettings = serializerSettings ;
Original file line number Diff line number Diff line change @@ -194,17 +194,25 @@ public async Task ChannelReceivesUpdateCallback()
194
194
{
195
195
var tsc = new TaskCompletionSource < bool > ( ) ;
196
196
197
+ var result = await RestClient . Table < Todo > ( ) . Order ( x => x . InsertedAt , Postgrest . Constants . Ordering . Descending ) . Get ( ) ;
198
+ var model = result . Models . First ( ) ;
199
+ var newDetails = $ "I'm an updated item ✏️ - { DateTime . Now } ";
200
+
197
201
var channel = SocketClient . Channel ( "realtime" , "public" , "todos" ) ;
198
202
199
- channel . OnUpdate += ( s , args ) => tsc . SetResult ( true ) ;
203
+ channel . OnUpdate += ( s , args ) =>
204
+ {
205
+ var updated = args . Response . Model < Todo > ( ) ;
206
+ Assert . AreEqual ( newDetails , updated . Details ) ;
207
+ Assert . AreEqual ( model . Id , updated . Id ) ;
208
+ Assert . AreEqual ( model . UserId , updated . UserId ) ;
209
+ tsc . SetResult ( true ) ;
210
+ } ;
200
211
201
212
await channel . Subscribe ( ) ;
202
213
203
- var result = await RestClient . Table < Todo > ( ) . Get ( ) ;
204
- var model = result . Models . Last ( ) ;
205
-
206
214
await RestClient . Table < Todo > ( )
207
- . Set ( x => x . Details , "I'm an updated item ✏️" )
215
+ . Set ( x => x . Details , newDetails )
208
216
. Match ( model )
209
217
. Update ( ) ;
210
218
You can’t perform that action at this time.
0 commit comments