From ac9dcd97533ed72a97c2f26aaf49a403b11f9f31 Mon Sep 17 00:00:00 2001 From: He4eT Date: Sat, 5 Apr 2025 01:00:52 +0200 Subject: [PATCH] SpaceAPI: wind sensor --- src/api/spaceapi/controllers/spaceapi.ts | 32 +++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/api/spaceapi/controllers/spaceapi.ts b/src/api/spaceapi/controllers/spaceapi.ts index bd247cb..b089947 100644 --- a/src/api/spaceapi/controllers/spaceapi.ts +++ b/src/api/spaceapi/controllers/spaceapi.ts @@ -285,17 +285,43 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ ], ); - const windSensors = await getSensors( + const windSensors = (await getSensors( 'api::wind-sensor.wind-sensor', [ - 'TODO', 'properties', 'location', 'name', 'description', 'lastchange', ], - ); + [ + 'properties.speed', + 'properties.gust', + 'properties.direction', + 'properties.elevation', + ], + )).map((sensor: {properties: {bits_per_second: number, packets_per_second: number}}) => { + const { properties, ...rest } = sensor; + + const propertiesEntries = Object.entries(pickFields([ + 'speed', + 'gust', + 'direction', + 'elevation', + ])(properties)) + .map(([k, {value, unit}]) => [k, { + value, + unit: unit === 'Degree' ? '°' : unit, + }]); + + return { + ...rest, + ...(isEmpty(propertiesEntries) + ? {} + : { properties: Object.fromEntries(propertiesEntries) } + ), + }; + }); const networkConnectionsSensors = (await getSensors( 'api::network-connections-sensor.network-connections-sensor',