mirror of
https://github.com/He4eT/simple-spaceapi.git
synced 2026-05-05 01:47:24 +00:00
SpaceAPI: network traffic sensor
This commit is contained in:
parent
30e06880e0
commit
81eee3f638
1 changed files with 15 additions and 18 deletions
|
|
@ -12,6 +12,14 @@ const pickFields = (fields: Array<string>) => (obj: Record<string, unknown>): ob
|
||||||
.filter(([k, _]) => fields.includes(k))
|
.filter(([k, _]) => fields.includes(k))
|
||||||
.filter(([_, v]) => !isEmpty(v)));
|
.filter(([_, v]) => !isEmpty(v)));
|
||||||
|
|
||||||
|
const processComponentField = (component: Record<string, any>, field: string, fields: string[]) => {
|
||||||
|
if (!isEmpty(component[field])) {
|
||||||
|
component[field] = pickFields(fields)(component[field]);
|
||||||
|
} else {
|
||||||
|
delete component[field];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const dateTimeToUnixtime = (updatedAt: string) => {
|
const dateTimeToUnixtime = (updatedAt: string) => {
|
||||||
const date = new Date(updatedAt);
|
const date = new Date(updatedAt);
|
||||||
return Math.floor(date.getTime() / 1000);
|
return Math.floor(date.getTime() / 1000);
|
||||||
|
|
@ -347,7 +355,6 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
||||||
const peopleNowPresentSensors = await getSensors(
|
const peopleNowPresentSensors = await getSensors(
|
||||||
'api::people-now-present-sensor.people-now-present-sensor',
|
'api::people-now-present-sensor.people-now-present-sensor',
|
||||||
[
|
[
|
||||||
'TODO',
|
|
||||||
'value',
|
'value',
|
||||||
'location',
|
'location',
|
||||||
'name',
|
'name',
|
||||||
|
|
@ -355,6 +362,9 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
||||||
'description',
|
'description',
|
||||||
'lastchange',
|
'lastchange',
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'names',
|
||||||
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
const networkTrafficSensors = (await getSensors(
|
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}}) => {
|
)).map((sensor: {properties: {bits_per_second: any, packets_per_second: any}}) => {
|
||||||
if (!isEmpty(sensor.properties)) {
|
if (!isEmpty(sensor.properties)) {
|
||||||
delete sensor.properties['id'];
|
const { properties } = sensor;
|
||||||
if (!isEmpty(sensor.properties.bits_per_second)) {
|
delete properties['id'];
|
||||||
sensor.properties.bits_per_second = pickFields([
|
processComponentField(properties, 'bits_per_second', ['value', 'maximum']);
|
||||||
'value',
|
processComponentField(properties, 'packets_per_second', ['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;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
delete sensor.properties;
|
delete sensor.properties;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue