From 7d38bcd3577dd35ea6dc7221c2135c7d36718e8b Mon Sep 17 00:00:00 2001 From: Salma Elsoly Date: Wed, 21 May 2025 12:59:42 +0300 Subject: [PATCH] fix ips + timestamp --- packages/registrar_client/src/modules/nodes.ts | 18 ++++++++++-------- packages/registrar_client/src/types/node.ts | 4 ++-- .../tests/integration_tests/node.spec.ts | 6 +++--- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/packages/registrar_client/src/modules/nodes.ts b/packages/registrar_client/src/modules/nodes.ts index abb46e9..7a49c98 100644 --- a/packages/registrar_client/src/modules/nodes.ts +++ b/packages/registrar_client/src/modules/nodes.ts @@ -100,16 +100,18 @@ export class Nodes { }); } - _validateIp(ip: string): void { - const parts = ip.split("."); - if (parts.length !== 4) { - throw new Error("Invalid interfaces: ips"); - } - parts.forEach(part => { - const num = parseInt(part); - if (isNaN(num) || num < 0 || num > 255) { + _validateIp(ips: string[]): void { + ips.forEach(ip => { + const parts = ip.split("."); + if (parts.length !== 4) { throw new Error("Invalid interfaces: ips"); } + parts.forEach(part => { + const num = parseInt(part); + if (isNaN(num) || num < 0 || num > 255) { + throw new Error("Invalid interfaces: ips"); + } + }); }); } diff --git a/packages/registrar_client/src/types/node.ts b/packages/registrar_client/src/types/node.ts index 20ac603..28d062e 100644 --- a/packages/registrar_client/src/types/node.ts +++ b/packages/registrar_client/src/types/node.ts @@ -52,7 +52,7 @@ export interface UpdateNodeRequest { } interface Interfaces { - ips: string; + ips: string[]; mac: string; name: string; } @@ -68,7 +68,7 @@ export interface NodesFilter { } export interface UptimeReportRequest { - timestamp: string; + timestamp: number; uptime: number; } diff --git a/packages/registrar_client/tests/integration_tests/node.spec.ts b/packages/registrar_client/tests/integration_tests/node.spec.ts index ffda48f..6f45cb7 100644 --- a/packages/registrar_client/tests/integration_tests/node.spec.ts +++ b/packages/registrar_client/tests/integration_tests/node.spec.ts @@ -18,7 +18,7 @@ describe("test node module", () => { { name: "eth0", mac: "00:1A:2B:3C:4D:5E", - ips: "10.0.0.1", + ips: ["10.0.0.1"], }, ], location: { @@ -140,7 +140,7 @@ describe("test node module", () => { { name: "eth0", mac: "00:1A:2B:3C:4D:5E", - ips: "10.0.0.2", + ips: ["10.0.0.2"], }, ], location: { @@ -168,7 +168,7 @@ describe("test node module", () => { test("report node uptime", async () => { const uptime: UptimeReportRequest = { - timestamp: new Date().toISOString(), + timestamp: Math.floor(new Date().getTime() / 1000), uptime: 100, }; const res = await client.nodes.reportNodeUptime(nodeID, twinID, uptime);