mirror of
https://github.com/He4eT/simple-spaceapi.git
synced 2026-05-04 17:37:24 +00:00
src: apply Prettier
This commit is contained in:
parent
75333ff7c0
commit
10abb92ca2
59 changed files with 343 additions and 406 deletions
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::account-balance-sensor.account-balance-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::account-balance-sensor.account-balance-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::account-balance-sensor.account-balance-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::account-balance-sensor.account-balance-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::account-balance-sensor.account-balance-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::account-balance-sensor.account-balance-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"hPa"
|
||||
],
|
||||
"enum": ["hPa"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::barometer-sensor.barometer-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::barometer-sensor.barometer-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::barometer-sensor.barometer-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::barometer-sensor.barometer-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::barometer-sensor.barometer-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::barometer-sensor.barometer-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -17,10 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"btl",
|
||||
"crt"
|
||||
],
|
||||
"enum": ["btl", "crt"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::beverage-supply.beverage-supply');
|
||||
export default factories.createCoreController(
|
||||
'api::beverage-supply.beverage-supply',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::beverage-supply.beverage-supply');
|
||||
export default factories.createCoreRouter(
|
||||
'api::beverage-supply.beverage-supply',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::beverage-supply.beverage-supply');
|
||||
export default factories.createCoreService(
|
||||
'api::beverage-supply.beverage-supply',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -17,10 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"ppm",
|
||||
"vol%"
|
||||
],
|
||||
"enum": ["ppm", "vol%"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::carbondioxide-sensor.carbondioxide-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::carbondioxide-sensor.carbondioxide-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::carbondioxide-sensor.carbondioxide-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::carbondioxide-sensor.carbondioxide-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::carbondioxide-sensor.carbondioxide-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::carbondioxide-sensor.carbondioxide-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::door-locked-sensor.door-locked-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::door-locked-sensor.door-locked-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::door-locked-sensor.door-locked-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::door-locked-sensor.door-locked-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::door-locked-sensor.door-locked-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::door-locked-sensor.door-locked-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@
|
|||
"type": "media",
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"allowedTypes": [
|
||||
"images"
|
||||
]
|
||||
"allowedTypes": ["images"]
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
|
|
|
|||
|
|
@ -17,9 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"percents"
|
||||
],
|
||||
"enum": ["percents"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::humidity-sensor.humidity-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::humidity-sensor.humidity-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::humidity-sensor.humidity-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::humidity-sensor.humidity-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::humidity-sensor.humidity-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::humidity-sensor.humidity-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -13,11 +13,7 @@
|
|||
"attributes": {
|
||||
"type": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"wifi",
|
||||
"cable",
|
||||
"spacenet"
|
||||
]
|
||||
"enum": ["wifi", "cable", "spacenet"]
|
||||
},
|
||||
"value": {
|
||||
"type": "integer",
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::network-connections-sensor.network-connections-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::network-connections-sensor.network-connections-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::network-connections-sensor.network-connections-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::network-connections-sensor.network-connections-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::network-connections-sensor.network-connections-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::network-connections-sensor.network-connections-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::network-traffic-sensor.network-traffic-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::network-traffic-sensor.network-traffic-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::network-traffic-sensor.network-traffic-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::network-traffic-sensor.network-traffic-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::network-traffic-sensor.network-traffic-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::network-traffic-sensor.network-traffic-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::people-now-present-sensor.people-now-present-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::people-now-present-sensor.people-now-present-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::people-now-present-sensor.people-now-present-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::people-now-present-sensor.people-now-present-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::people-now-present-sensor.people-now-present-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::people-now-present-sensor.people-now-present-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -17,10 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"W",
|
||||
"VA"
|
||||
],
|
||||
"enum": ["W", "VA"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::power-consumption-sensor.power-consumption-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::power-consumption-sensor.power-consumption-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::power-consumption-sensor.power-consumption-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::power-consumption-sensor.power-consumption-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::power-consumption-sensor.power-consumption-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::power-consumption-sensor.power-consumption-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -17,10 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"W",
|
||||
"VA"
|
||||
],
|
||||
"enum": ["W", "VA"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::power-generation-sensor.power-generation-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::power-generation-sensor.power-generation-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::power-generation-sensor.power-generation-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::power-generation-sensor.power-generation-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::power-generation-sensor.power-generation-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::power-generation-sensor.power-generation-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -13,12 +13,7 @@
|
|||
"attributes": {
|
||||
"type": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"alpha",
|
||||
"beta",
|
||||
"gamma",
|
||||
"beta_gamma"
|
||||
]
|
||||
"enum": ["alpha", "beta", "gamma", "beta_gamma"]
|
||||
},
|
||||
"value": {
|
||||
"type": "decimal",
|
||||
|
|
@ -26,13 +21,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"cpm",
|
||||
"r/h",
|
||||
"µSv/h",
|
||||
"mSv/a",
|
||||
"µSv/a"
|
||||
],
|
||||
"enum": ["cpm", "r/h", "µSv/h", "mSv/a", "µSv/a"],
|
||||
"required": true
|
||||
},
|
||||
"dead_time": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::radiation-sensor.radiation-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::radiation-sensor.radiation-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::radiation-sensor.radiation-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::radiation-sensor.radiation-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::radiation-sensor.radiation-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::radiation-sensor.radiation-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -8,11 +8,14 @@ const isEmpty = <A>(x: A): boolean =>
|
|||
? String(x).length === 0
|
||||
: false;
|
||||
|
||||
const pickFields = (fields: Array<string>) =>
|
||||
const pickFields =
|
||||
(fields: Array<string>) =>
|
||||
(obj: Record<string, unknown>): object =>
|
||||
Object.fromEntries(Object.entries(obj)
|
||||
Object.fromEntries(
|
||||
Object.entries(obj)
|
||||
.filter(([k, _]) => fields.includes(k))
|
||||
.filter(([_, v]) => !isEmpty(v)));
|
||||
.filter(([_, v]) => !isEmpty(v)),
|
||||
);
|
||||
|
||||
const dateTimeToUnixtime = (updatedAt: string) => {
|
||||
const date = new Date(updatedAt);
|
||||
|
|
@ -21,9 +24,8 @@ const dateTimeToUnixtime = (updatedAt: string) => {
|
|||
|
||||
export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
||||
async index(ctx: Context) {
|
||||
const absoluteURL = (url: string) => url
|
||||
? `${ctx.request.origin}${url}`
|
||||
: null;
|
||||
const absoluteURL = (url: string) =>
|
||||
url ? `${ctx.request.origin}${url}` : null;
|
||||
|
||||
const result = {} as Record<string, any>;
|
||||
|
||||
|
|
@ -68,47 +70,32 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
])(hackspace.location);
|
||||
|
||||
if (!isEmpty(hackspace.location.areas)) {
|
||||
result.location.areas = hackspace.location.areas
|
||||
.map(pickFields([
|
||||
'name',
|
||||
'description',
|
||||
'square_meters',
|
||||
]));
|
||||
result.location.areas = hackspace.location.areas.map(
|
||||
pickFields(['name', 'description', 'square_meters']),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isEmpty(hackspace.spacefed)) {
|
||||
result.spacefed = pickFields([
|
||||
'spacenet',
|
||||
'spacesaml',
|
||||
])(hackspace.spacefed);
|
||||
result.spacefed = pickFields(['spacenet', 'spacesaml'])(
|
||||
hackspace.spacefed,
|
||||
);
|
||||
}
|
||||
|
||||
if (!isEmpty(hackspace.cam)) {
|
||||
result.cam = hackspace.cam
|
||||
.map(({ url }) => url);
|
||||
result.cam = hackspace.cam.map(({ url }) => url);
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
const state = await strapi
|
||||
.documents('api::state.state')
|
||||
.findFirst({
|
||||
populate: [
|
||||
'icon.open',
|
||||
'icon.closed',
|
||||
],
|
||||
const state = await strapi.documents('api::state.state').findFirst({
|
||||
populate: ['icon.open', 'icon.closed'],
|
||||
});
|
||||
|
||||
if (!isEmpty(state)) {
|
||||
result.state = pickFields([
|
||||
'open',
|
||||
'trigger_person',
|
||||
'message',
|
||||
])(state);
|
||||
result.state = pickFields(['open', 'trigger_person', 'message'])(state);
|
||||
|
||||
result.state.lastchange =
|
||||
dateTimeToUnixtime(String(state.updatedAt));
|
||||
result.state.lastchange = dateTimeToUnixtime(String(state.updatedAt));
|
||||
|
||||
if (!isEmpty(state.icon)) {
|
||||
result.state.icon = {
|
||||
|
|
@ -120,20 +107,14 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
|
||||
/* */
|
||||
|
||||
const events = await strapi
|
||||
.documents('api::event.event')
|
||||
.findMany({
|
||||
const events = await strapi.documents('api::event.event').findMany({
|
||||
sort: { createdAt: 'desc' },
|
||||
limit: 10,
|
||||
});
|
||||
|
||||
if (!isEmpty(events)) {
|
||||
result.events = events.map((event) => ({
|
||||
...pickFields([
|
||||
'name',
|
||||
'type',
|
||||
'extra',
|
||||
])(event),
|
||||
...pickFields(['name', 'type', 'extra'])(event),
|
||||
timestamp: dateTimeToUnixtime(String(event.createdAt)),
|
||||
}));
|
||||
}
|
||||
|
|
@ -160,8 +141,8 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
])(hackspace.contact);
|
||||
|
||||
if (!isEmpty(hackspace.contact.keymasters)) {
|
||||
result.contact.keymasters = hackspace.contact.keymasters
|
||||
.map(pickFields([
|
||||
result.contact.keymasters = hackspace.contact.keymasters.map(
|
||||
pickFields([
|
||||
'name',
|
||||
'irc_nick',
|
||||
'phone',
|
||||
|
|
@ -170,89 +151,71 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
'xmpp',
|
||||
'mastodon',
|
||||
'matrix',
|
||||
]));
|
||||
]),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
const getSensorsRaw = (query: UID.ContentType, populate = []): Promise<Object[]> =>
|
||||
strapi.documents(query)
|
||||
const getSensorsRaw = (
|
||||
query: UID.ContentType,
|
||||
populate = [],
|
||||
): Promise<Object[]> =>
|
||||
strapi
|
||||
.documents(query)
|
||||
.findMany({ populate })
|
||||
.then((sensors) => sensors
|
||||
.map((sensor) => ({
|
||||
.then((sensors) =>
|
||||
sensors.map((sensor) => ({
|
||||
...sensor,
|
||||
lastchange: dateTimeToUnixtime(String(sensor.updatedAt)),
|
||||
}))
|
||||
})),
|
||||
);
|
||||
|
||||
const getSensors = (query: UID.ContentType, fields: Array<string>, populate = []) =>
|
||||
getSensorsRaw(query, populate)
|
||||
.then((sensors) => sensors
|
||||
.map(pickFields(fields))
|
||||
const getSensors = (
|
||||
query: UID.ContentType,
|
||||
fields: Array<string>,
|
||||
populate = [],
|
||||
) =>
|
||||
getSensorsRaw(query, populate).then((sensors) =>
|
||||
sensors.map(pickFields(fields)),
|
||||
);
|
||||
|
||||
const sensors = {
|
||||
temperature: await getSensors(
|
||||
'api::temperature-sensor.temperature-sensor',
|
||||
[
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'unit', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
carbondioxide: await getSensors(
|
||||
'api::carbondioxide-sensor.carbondioxide-sensor',
|
||||
[
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'unit', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
door_locked: await getSensors(
|
||||
'api::door-locked-sensor.door-locked-sensor',
|
||||
[
|
||||
'value',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
barometer: await getSensors(
|
||||
'api::barometer-sensor.barometer-sensor',
|
||||
[
|
||||
barometer: await getSensors('api::barometer-sensor.barometer-sensor', [
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
),
|
||||
]),
|
||||
radiation: await (async () => {
|
||||
const types = [
|
||||
'alpha',
|
||||
'beta',
|
||||
'gamma',
|
||||
'beta_gamma',
|
||||
];
|
||||
const types = ['alpha', 'beta', 'gamma', 'beta_gamma'];
|
||||
|
||||
const sensors = await getSensorsRaw(
|
||||
'api::radiation-sensor.radiation-sensor'
|
||||
'api::radiation-sensor.radiation-sensor',
|
||||
);
|
||||
|
||||
const draft = Object.fromEntries(types.map((type) => [
|
||||
const draft = Object.fromEntries(
|
||||
types.map((type) => [
|
||||
type,
|
||||
sensors
|
||||
.filter((sensor: { type: string; }) => sensor.type === type)
|
||||
.map(pickFields([
|
||||
.filter((sensor: { type: string }) => sensor.type === type)
|
||||
.map(
|
||||
pickFields([
|
||||
'value',
|
||||
'unit',
|
||||
'dead_time',
|
||||
|
|
@ -261,22 +224,23 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]))
|
||||
]));
|
||||
]),
|
||||
),
|
||||
]),
|
||||
);
|
||||
|
||||
return pickFields(types)(draft);
|
||||
})(),
|
||||
humidity: (await getSensors(
|
||||
'api::humidity-sensor.humidity-sensor',
|
||||
[
|
||||
humidity: (
|
||||
await getSensors('api::humidity-sensor.humidity-sensor', [
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
)).map((sensor: { unit: string; }) => {
|
||||
])
|
||||
).map((sensor: { unit: string }) => {
|
||||
const { unit, ...rest } = sensor;
|
||||
return {
|
||||
...rest,
|
||||
|
|
@ -285,87 +249,58 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
}),
|
||||
beverage_supply: await getSensors(
|
||||
'api::beverage-supply.beverage-supply',
|
||||
[
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'unit', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
power_consumption: await getSensors(
|
||||
'api::power-consumption-sensor.power-consumption-sensor',
|
||||
[
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'unit', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
power_generation: await getSensors(
|
||||
'api::power-generation-sensor.power-generation-sensor',
|
||||
[
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'unit', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
wind: (await getSensors(
|
||||
wind: (
|
||||
await getSensors(
|
||||
'api::wind-sensor.wind-sensor',
|
||||
[
|
||||
'properties',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
],
|
||||
['properties', 'location', 'name', 'description', 'lastchange'],
|
||||
[
|
||||
'properties.speed',
|
||||
'properties.gust',
|
||||
'properties.direction',
|
||||
'properties.elevation',
|
||||
]
|
||||
)).map((sensor: { properties: { bits_per_second: number; packets_per_second: number; }; }) => {
|
||||
],
|
||||
)
|
||||
).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, {
|
||||
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) }
|
||||
),
|
||||
: { properties: Object.fromEntries(propertiesEntries) }),
|
||||
};
|
||||
}),
|
||||
network_connections: (await getSensors(
|
||||
},
|
||||
),
|
||||
network_connections: (
|
||||
await getSensors(
|
||||
'api::network-connections-sensor.network-connections-sensor',
|
||||
[
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
'machines',
|
||||
],
|
||||
[
|
||||
'machines',
|
||||
]
|
||||
)).map((sensor: { machines: Array<{ name?: string; mac?: string; }>; }) => {
|
||||
['location', 'name', 'description', 'lastchange', 'machines'],
|
||||
['machines'],
|
||||
)
|
||||
).map((sensor: { machines: Array<{ name?: string; mac?: string }> }) => {
|
||||
const { machines, ...rest } = sensor;
|
||||
return {
|
||||
...rest,
|
||||
|
|
@ -376,48 +311,27 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
}),
|
||||
account_balance: await getSensors(
|
||||
'api::account-balance-sensor.account-balance-sensor',
|
||||
[
|
||||
'value',
|
||||
'unit',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'unit', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
total_member_count: await getSensors(
|
||||
'api::total-member-count-sensor.total-member-count-sensor',
|
||||
[
|
||||
'value',
|
||||
'location',
|
||||
'name',
|
||||
'description',
|
||||
'lastchange',
|
||||
]
|
||||
['value', 'location', 'name', 'description', 'lastchange'],
|
||||
),
|
||||
people_now_present: (await getSensors(
|
||||
people_now_present: (
|
||||
await getSensors(
|
||||
'api::people-now-present-sensor.people-now-present-sensor',
|
||||
[
|
||||
'value',
|
||||
'location',
|
||||
'name',
|
||||
'names',
|
||||
'description',
|
||||
'lastchange',
|
||||
],
|
||||
[
|
||||
'names',
|
||||
]
|
||||
)).map((sensor: { names: Array<{ name: string; }>; }) => {
|
||||
['value', 'location', 'name', 'names', 'description', 'lastchange'],
|
||||
['names'],
|
||||
)
|
||||
).map((sensor: { names: Array<{ name: string }> }) => {
|
||||
const { names, ...rest } = sensor;
|
||||
return {
|
||||
...rest,
|
||||
...(isEmpty(names)
|
||||
? {}
|
||||
: { names: names.map((x) => x.name) }),
|
||||
...(isEmpty(names) ? {} : { names: names.map((x) => x.name) }),
|
||||
};
|
||||
}),
|
||||
network_traffic: (await getSensors(
|
||||
network_traffic: (
|
||||
await getSensors(
|
||||
'api::network-traffic-sensor.network-traffic-sensor',
|
||||
[
|
||||
'properties',
|
||||
|
|
@ -428,30 +342,32 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
'description',
|
||||
'lastchange',
|
||||
],
|
||||
[
|
||||
'properties.bits_per_second',
|
||||
'properties.packets_per_second',
|
||||
]
|
||||
)).map((sensor: { properties: { bits_per_second: number; packets_per_second: number; }; }) => {
|
||||
['properties.bits_per_second', 'properties.packets_per_second'],
|
||||
)
|
||||
).map(
|
||||
(sensor: {
|
||||
properties: { bits_per_second: number; packets_per_second: number };
|
||||
}) => {
|
||||
const { properties, ...rest } = sensor;
|
||||
|
||||
const propertiesEntries = Object.entries(pickFields([
|
||||
'bits_per_second',
|
||||
'packets_per_second',
|
||||
])(properties))
|
||||
.map(([k, v]) => [k, {
|
||||
'bits_per_second': pickFields(['value', 'maximum']),
|
||||
'packets_per_second': pickFields(['value']),
|
||||
}[k](v)]);
|
||||
const propertiesEntries = Object.entries(
|
||||
pickFields(['bits_per_second', 'packets_per_second'])(properties),
|
||||
).map(([k, v]) => [
|
||||
k,
|
||||
{
|
||||
bits_per_second: pickFields(['value', 'maximum']),
|
||||
packets_per_second: pickFields(['value']),
|
||||
}[k](v),
|
||||
]);
|
||||
|
||||
return {
|
||||
...rest,
|
||||
...(isEmpty(propertiesEntries)
|
||||
? {}
|
||||
: { properties: Object.fromEntries(propertiesEntries) }
|
||||
),
|
||||
: { properties: Object.fromEntries(propertiesEntries) }),
|
||||
};
|
||||
}),
|
||||
},
|
||||
),
|
||||
};
|
||||
|
||||
if (Object.entries(sensors).some(([_, sensor]) => !isEmpty(sensor))) {
|
||||
|
|
@ -461,61 +377,52 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({
|
|||
/* */
|
||||
|
||||
if (!isEmpty(hackspace.feeds)) {
|
||||
const feeds = pickFields([
|
||||
'blog',
|
||||
'wiki',
|
||||
'calendar',
|
||||
'flickr',
|
||||
])(hackspace.feeds);
|
||||
const feeds = pickFields(['blog', 'wiki', 'calendar', 'flickr'])(
|
||||
hackspace.feeds,
|
||||
);
|
||||
|
||||
result.feeds = Object.fromEntries(
|
||||
Object.entries(feeds)
|
||||
.map(([k, v]) => [k, pickFields([
|
||||
'type',
|
||||
'url',
|
||||
])(v)])
|
||||
Object.entries(feeds).map(([k, v]) => [
|
||||
k,
|
||||
pickFields(['type', 'url'])(v),
|
||||
]),
|
||||
);
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
if (!isEmpty(hackspace.projects)) {
|
||||
result.projects = hackspace.projects
|
||||
.map(({ url }) => url);
|
||||
result.projects = hackspace.projects.map(({ url }) => url);
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
if (!isEmpty(hackspace.links)) {
|
||||
result.links = hackspace.links
|
||||
.map(pickFields([
|
||||
'name',
|
||||
'description',
|
||||
'url',
|
||||
]));
|
||||
result.links = hackspace.links.map(
|
||||
pickFields(['name', 'description', 'url']),
|
||||
);
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
if (!isEmpty(hackspace.membership_plans)) {
|
||||
result.membership_plans = hackspace.membership_plans
|
||||
.map(pickFields([
|
||||
result.membership_plans = hackspace.membership_plans.map(
|
||||
pickFields([
|
||||
'name',
|
||||
'value',
|
||||
'currency',
|
||||
'billing_interval',
|
||||
'description',
|
||||
]));
|
||||
]),
|
||||
);
|
||||
}
|
||||
|
||||
/* */
|
||||
|
||||
if (!isEmpty(hackspace.linked_spaces)) {
|
||||
result.linked_spaces = hackspace.linked_spaces
|
||||
.map(pickFields([
|
||||
'endpoint',
|
||||
'website',
|
||||
]));
|
||||
result.linked_spaces = hackspace.linked_spaces.map(
|
||||
pickFields(['endpoint', 'website']),
|
||||
);
|
||||
}
|
||||
|
||||
/* */
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ export default {
|
|||
config: {
|
||||
auth: false,
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
],
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,16 +17,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"°C",
|
||||
"°F",
|
||||
"K",
|
||||
"°De",
|
||||
"°N",
|
||||
"°R",
|
||||
"°Ré",
|
||||
"°Rø"
|
||||
],
|
||||
"enum": ["°C", "°F", "K", "°De", "°N", "°R", "°Ré", "°Rø"],
|
||||
"required": true
|
||||
},
|
||||
"location": {
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::temperature-sensor.temperature-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::temperature-sensor.temperature-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::temperature-sensor.temperature-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::temperature-sensor.temperature-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::temperature-sensor.temperature-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::temperature-sensor.temperature-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreController('api::total-member-count-sensor.total-member-count-sensor');
|
||||
export default factories.createCoreController(
|
||||
'api::total-member-count-sensor.total-member-count-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreRouter('api::total-member-count-sensor.total-member-count-sensor');
|
||||
export default factories.createCoreRouter(
|
||||
'api::total-member-count-sensor.total-member-count-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@
|
|||
|
||||
import { factories } from '@strapi/strapi';
|
||||
|
||||
export default factories.createCoreService('api::total-member-count-sensor.total-member-count-sensor');
|
||||
export default factories.createCoreService(
|
||||
'api::total-member-count-sensor.total-member-count-sensor',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -11,17 +11,13 @@
|
|||
"type": "media",
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"allowedTypes": [
|
||||
"images"
|
||||
]
|
||||
"allowedTypes": ["images"]
|
||||
},
|
||||
"closed": {
|
||||
"type": "media",
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"allowedTypes": [
|
||||
"images"
|
||||
]
|
||||
"allowedTypes": ["images"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"degree"
|
||||
],
|
||||
"enum": ["degree"],
|
||||
"required": true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,9 +12,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"m"
|
||||
],
|
||||
"enum": ["m"],
|
||||
"required": true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,7 @@
|
|||
},
|
||||
"unit": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"m/s",
|
||||
"km/h",
|
||||
"kn"
|
||||
],
|
||||
"enum": ["m/s", "km/h", "kn"],
|
||||
"required": true
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue