Skip to content

Commit 55a696b

Browse files
committed
fix: return type for ip should be a string
1 parent afc2a0c commit 55a696b

3 files changed

Lines changed: 13 additions & 12 deletions

File tree

‎API/Controller/Admin/GetOnlineDevices.cs‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Net;
2-
using System.Net.Mime;
1+
using System.Net.Mime;
32
using Microsoft.AspNetCore.Mvc;
43
using Microsoft.EntityFrameworkCore;
54
using OpenShock.Common.Extensions;
@@ -82,6 +81,6 @@ public sealed class AdminOnlineDeviceResponse
8281
public required ushort? LatencyMs { get; init; }
8382
public required int? Rssi { get; init; }
8483
public required string? Country { get; set; }
85-
public required IPAddress? Ip { get; set; }
84+
public required string? Ip { get; set; }
8685
}
8786
}

‎Common/Redis/DeviceOnline.cs‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Net;
2-
using System.Text.Json.Serialization;
1+
using System.Text.Json.Serialization;
32
using OpenShock.Common.JsonSerialization;
43
using OpenShock.Common.Models;
54
using Redis.OM.Modeling;
@@ -23,5 +22,5 @@ public sealed class DeviceOnline
2322
public ushort? LatencyMs { get; set; }
2423
public int? Rssi { get; set; }
2524
public string? Country { get; set; }
26-
public IPAddress? Ip { get; set; }
25+
public string? Ip { get; set; }
2726
}

‎LiveControlGateway/LifetimeManager/HubLifetime.cs‎

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -500,13 +500,9 @@ public async Task<OneOf<Success, OnlineStateUpdated>> Online(Guid device, SelfOn
500500
online.BootedAt = data.BootedAt;
501501
online.LatencyMs = data.LatencyMs;
502502
online.Rssi = data.Rssi;
503-
online.Gateway = data.Gateway;
504-
online.FirmwareVersion = data.FirmwareVersion;
505-
online.ConnectedAt = data.ConnectedAt;
506-
online.UserAgent = data.UserAgent;
507503
online.Country = data.Country;
508-
online.Ip = data.Ip;
509-
504+
online.Ip = data.Ip?.ToString();
505+
510506
var sendOnlineStatusUpdate = false;
511507

512508
// Do we need to send a update to the clients?
@@ -515,6 +511,11 @@ public async Task<OneOf<Success, OnlineStateUpdated>> Online(Guid device, SelfOn
515511
online.ConnectedAt != data.ConnectedAt ||
516512
online.UserAgent != data.UserAgent)
517513
{
514+
online.Gateway = data.Gateway;
515+
online.FirmwareVersion = data.FirmwareVersion;
516+
online.ConnectedAt = data.ConnectedAt;
517+
online.UserAgent = data.UserAgent;
518+
518519
sendOnlineStatusUpdate = true;
519520
}
520521

@@ -554,6 +555,8 @@ await deviceOnline.InsertAsync(new DeviceOnline
554555
BootedAt = data.BootedAt,
555556
LatencyMs = data.LatencyMs,
556557
Rssi = data.Rssi,
558+
Country = data.Country,
559+
Ip = data.Ip?.ToString(),
557560
}, Duration.DeviceKeepAliveTimeout);
558561
}
559562
}

0 commit comments

Comments
 (0)