diff --git a/src/api/radiation-sensor/content-types/radiation-sensor/schema.json b/src/api/radiation-sensor/content-types/radiation-sensor/schema.json index 4441ae8..17ab39f 100644 --- a/src/api/radiation-sensor/content-types/radiation-sensor/schema.json +++ b/src/api/radiation-sensor/content-types/radiation-sensor/schema.json @@ -13,7 +13,8 @@ "attributes": { "type": { "type": "enumeration", - "enum": ["alpha", "beta", "gamma", "beta_gamma"] + "enum": ["alpha", "beta", "gamma", "beta_gamma"], + "required": true }, "value": { "type": "decimal", diff --git a/src/api/spaceapi/controllers/spaceapi.ts b/src/api/spaceapi/controllers/spaceapi.ts index d32ce7e..3999e59 100644 --- a/src/api/spaceapi/controllers/spaceapi.ts +++ b/src/api/spaceapi/controllers/spaceapi.ts @@ -67,6 +67,8 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ result.logo = absoluteURL(origin)(hackspace?.logo.url); result.url = hackspace.url; + /* */ + if (!isEmpty(hackspace.location)) { result.location = pickFields([ 'address', @@ -84,12 +86,16 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ } } + /* */ + if (!isEmpty(hackspace.spacefed)) { result.spacefed = pickFields(['spacenet', 'spacesaml'])( hackspace.spacefed, ); } + /* */ + if (!isEmpty(hackspace.cam)) { result.cam = hackspace.cam.map(({ url }) => url); } @@ -217,7 +223,7 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ 'api::radiation-sensor.radiation-sensor', ); - const draft = Object.fromEntries( + const typedSensors = Object.fromEntries( types.map((type) => [ type, sensors @@ -237,7 +243,7 @@ export default ({ strapi }: { strapi: Core.Strapi }) => ({ ]), ); - return pickFields(types)(draft); + return pickFields(types)(typedSensors); })(), humidity: ( await getSensors('api::humidity-sensor.humidity-sensor', [ diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index 3c52ebf..ab1cd2c 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -852,7 +852,8 @@ export interface ApiRadiationSensorRadiationSensor publishedAt: Schema.Attribute.DateTime; type: Schema.Attribute.Enumeration< ['alpha', 'beta', 'gamma', 'beta_gamma'] - >; + > & + Schema.Attribute.Required; unit: Schema.Attribute.Enumeration< ['cpm', 'r/h', '\u00B5Sv/h', 'mSv/a', '\u00B5Sv/a'] > &