Browse Source

unetd: cli: allow skipping pretty printing of status data

Makes it more useful for services built around the CLI API

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 8 months ago
parent
commit
1b7c63beaf
1 changed files with 17 additions and 12 deletions
  1. 17 12
      package/network/services/unetd/files/unet.uc

+ 17 - 12
package/network/services/unetd/files/unet.uc

@@ -1296,18 +1296,23 @@ const Unet = {
 			for (let name, host in status.peers) {
 				let cur = [];
 
-				data[`Host '${name}'`] = cur;
-				push(cur, [ "State", host.connected ? "connected" : "disconnected" ]);
-				if (!host.connected)
-					continue;
-
-				if (host.endpoint)
-					push(cur, [ "IP address", host.endpoint ]);
-
-				push(cur, [ "Idle time", time_format(host.idle) ]);
-				push(cur, [ "Sent bytes", host.tx_bytes ]);
-				push(cur, [ "Received bytes", host.rx_bytes ]);
-				push(cur, [ "Last handshake", time_format(host.last_handshake_sec) + " ago" ]);
+				let key = name;
+				if (model.cb.opt_pretty_print) {
+					data[`Host '${name}'`] = cur;
+					push(cur, [ "State", host.connected ? "connected" : "disconnected" ]);
+					if (!host.connected)
+						continue;
+
+					if (host.endpoint)
+						push(cur, [ "IP address", host.endpoint ]);
+
+					push(cur, [ "Idle time", time_format(host.idle) ]);
+					push(cur, [ "Sent bytes", host.tx_bytes ]);
+					push(cur, [ "Received bytes", host.rx_bytes ]);
+					push(cur, [ "Last handshake", time_format(host.last_handshake_sec) + " ago" ]);
+				} else {
+					data[name] = host;
+				}
 			}
 			return ctx.multi_table("Status of network " + name, data);
 		}