From 81eee3f6382cc8054c284d4bd59ca8502161b9c1 Mon Sep 17 00:00:00 2001 From: He4eT Date: Fri, 4 Apr 2025 22:40:23 +0200 Subject: [PATCH] SpaceAPI: network traffic sensor --- src/api/spaceapi/controllers/spaceapi.ts | 33 +++++++++++------------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/api/spaceapi/controllers/spaceapi.ts b/src/api/spaceapi/controllers/spaceapi.ts index eae137b..0fd2718 100644 --- a/src/api/spaceapi/controllers/spaceapi.ts +++ b/src/api/spaceapi/controllers/spaceapi.ts @@ -12,6 +12,14 @@ const pickFields = (fields: Array) => (obj: Record): ob .filter(([k, _]) => fields.includes(k)) .filter(([_, v]) => !isEmpty(v))); +const processComponentField = (component: Record, field: string, fields: string[]) => { + if (!isEmpty(component[field])) { + component[field] = pickFields(fields)(component[field]); + } else { + delete component[field]; + } +}; + const dateTimeToUnixtime = (updatedAt: string) => { const date = new Date(updatedAt); return Math.floor(date.getTime() / 1000); @@ -347,7 +355,6 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ const peopleNowPresentSensors = await getSensors( 'api::people-now-present-sensor.people-now-present-sensor', [ - 'TODO', 'value', 'location', 'name', @@ -355,6 +362,9 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ 'description', 'lastchange', ], + [ + 'names', + ], ); const networkTrafficSensors = (await getSensors( @@ -374,23 +384,10 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ ], )).map((sensor: {properties: {bits_per_second: any, packets_per_second: any}}) => { if (!isEmpty(sensor.properties)) { - delete sensor.properties['id']; - if (!isEmpty(sensor.properties.bits_per_second)) { - sensor.properties.bits_per_second = pickFields([ - 'value', - 'maximum', - ])(sensor.properties.bits_per_second); - } else { - delete sensor.properties.bits_per_second; - } - - if (!isEmpty(sensor.properties.packets_per_second)) { - sensor.properties.packets_per_second = pickFields([ - 'value', - ])(sensor.properties.packets_per_second); - } else { - delete sensor.properties.packets_per_second; - } + const { properties } = sensor; + delete properties['id']; + processComponentField(properties, 'bits_per_second', ['value', 'maximum']); + processComponentField(properties, 'packets_per_second', ['value']); } else { delete sensor.properties; }