diff --git a/src/api/people-now-present-sensor/content-types/people-now-present-sensor/schema.json b/src/api/people-now-present-sensor/content-types/people-now-present-sensor/schema.json new file mode 100644 index 0000000..66609aa --- /dev/null +++ b/src/api/people-now-present-sensor/content-types/people-now-present-sensor/schema.json @@ -0,0 +1,37 @@ +{ + "kind": "collectionType", + "collectionName": "people_now_present_sensors", + "info": { + "singularName": "people-now-present-sensor", + "pluralName": "people-now-present-sensors", + "displayName": "Sensor: People Now Present", + "description": "" + }, + "options": { + "draftAndPublish": true + }, + "attributes": { + "value": { + "type": "integer", + "required": true + }, + "location": { + "type": "string", + "required": true + }, + "name": { + "type": "string" + }, + "names": { + "type": "component", + "repeatable": true, + "component": "location.person" + }, + "description": { + "type": "text" + }, + "lastchange": { + "type": "biginteger" + } + } +} diff --git a/src/api/people-now-present-sensor/controllers/people-now-present-sensor.ts b/src/api/people-now-present-sensor/controllers/people-now-present-sensor.ts new file mode 100644 index 0000000..1409be6 --- /dev/null +++ b/src/api/people-now-present-sensor/controllers/people-now-present-sensor.ts @@ -0,0 +1,7 @@ +/** + * people-now-present-sensor controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::people-now-present-sensor.people-now-present-sensor'); diff --git a/src/api/people-now-present-sensor/routes/people-now-present-sensor.ts b/src/api/people-now-present-sensor/routes/people-now-present-sensor.ts new file mode 100644 index 0000000..1f660cf --- /dev/null +++ b/src/api/people-now-present-sensor/routes/people-now-present-sensor.ts @@ -0,0 +1,7 @@ +/** + * people-now-present-sensor router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::people-now-present-sensor.people-now-present-sensor'); diff --git a/src/api/people-now-present-sensor/services/people-now-present-sensor.ts b/src/api/people-now-present-sensor/services/people-now-present-sensor.ts new file mode 100644 index 0000000..9c6113b --- /dev/null +++ b/src/api/people-now-present-sensor/services/people-now-present-sensor.ts @@ -0,0 +1,7 @@ +/** + * people-now-present-sensor service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::people-now-present-sensor.people-now-present-sensor'); diff --git a/src/components/location/person.json b/src/components/location/person.json new file mode 100644 index 0000000..a01e71f --- /dev/null +++ b/src/components/location/person.json @@ -0,0 +1,15 @@ +{ + "collectionName": "components_location_people", + "info": { + "displayName": "Person", + "icon": "emotionHappy", + "description": "" + }, + "options": {}, + "attributes": { + "name": { + "type": "string", + "required": true + } + } +} diff --git a/types/generated/components.d.ts b/types/generated/components.d.ts index 7d7dacb..cb3be0e 100644 --- a/types/generated/components.d.ts +++ b/types/generated/components.d.ts @@ -167,6 +167,18 @@ export interface LocationArea extends Struct.ComponentSchema { }; } +export interface LocationPerson extends Struct.ComponentSchema { + collectionName: 'components_location_people'; + info: { + description: ''; + displayName: 'Person'; + icon: 'emotionHappy'; + }; + attributes: { + name: Schema.Attribute.String & Schema.Attribute.Required; + }; +} + export interface MembershipPlans extends Struct.ComponentSchema { collectionName: 'components_membership_plans'; info: { @@ -281,6 +293,7 @@ declare module '@strapi/strapi' { 'hackspace.project': HackspaceProject; 'hackspace.spacefed': HackspaceSpacefed; 'location.area': LocationArea; + 'location.person': LocationPerson; 'membership.plans': MembershipPlans; 'network.machine': NetworkMachine; 'state.state-icon': StateStateIcon; diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index 04c68fb..f4c4a0a 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -681,6 +681,41 @@ export interface ApiNetworkConnectionsSensorNetworkConnectionsSensor }; } +export interface ApiPeopleNowPresentSensorPeopleNowPresentSensor + extends Struct.CollectionTypeSchema { + collectionName: 'people_now_present_sensors'; + info: { + description: ''; + displayName: 'Sensor: People Now Present'; + pluralName: 'people-now-present-sensors'; + singularName: 'people-now-present-sensor'; + }; + options: { + draftAndPublish: true; + }; + attributes: { + createdAt: Schema.Attribute.DateTime; + createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + description: Schema.Attribute.Text; + lastchange: Schema.Attribute.BigInteger; + locale: Schema.Attribute.String & Schema.Attribute.Private; + localizations: Schema.Attribute.Relation< + 'oneToMany', + 'api::people-now-present-sensor.people-now-present-sensor' + > & + Schema.Attribute.Private; + location: Schema.Attribute.String & Schema.Attribute.Required; + name: Schema.Attribute.String; + names: Schema.Attribute.Component<'location.person', true>; + publishedAt: Schema.Attribute.DateTime; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + value: Schema.Attribute.Integer & Schema.Attribute.Required; + }; +} + export interface ApiPowerConsumptionSensorPowerConsumptionSensor extends Struct.CollectionTypeSchema { collectionName: 'power_consumption_sensors'; @@ -1453,6 +1488,7 @@ declare module '@strapi/strapi' { 'api::hackspace.hackspace': ApiHackspaceHackspace; 'api::humidity-sensor.humidity-sensor': ApiHumiditySensorHumiditySensor; 'api::network-connections-sensor.network-connections-sensor': ApiNetworkConnectionsSensorNetworkConnectionsSensor; + 'api::people-now-present-sensor.people-now-present-sensor': ApiPeopleNowPresentSensorPeopleNowPresentSensor; 'api::power-consumption-sensor.power-consumption-sensor': ApiPowerConsumptionSensorPowerConsumptionSensor; 'api::power-generation-sensor.power-generation-sensor': ApiPowerGenerationSensorPowerGenerationSensor; 'api::radiation-sensor.radiation-sensor': ApiRadiationSensorRadiationSensor;