From 94b1667f8516608fe7fa8c9155f5ea5fcd02423d Mon Sep 17 00:00:00 2001 From: He4eT Date: Tue, 1 Apr 2025 22:58:34 +0200 Subject: [PATCH] Sensors: Power Consumption --- .../power-consumption-sensor/schema.json | 39 +++++++++++++++++++ .../controllers/power-consumption-sensor.ts | 7 ++++ .../routes/power-consumption-sensor.ts | 7 ++++ .../services/power-consumption-sensor.ts | 7 ++++ types/generated/contentTypes.d.ts | 35 +++++++++++++++++ 5 files changed, 95 insertions(+) create mode 100644 src/api/power-consumption-sensor/content-types/power-consumption-sensor/schema.json create mode 100644 src/api/power-consumption-sensor/controllers/power-consumption-sensor.ts create mode 100644 src/api/power-consumption-sensor/routes/power-consumption-sensor.ts create mode 100644 src/api/power-consumption-sensor/services/power-consumption-sensor.ts diff --git a/src/api/power-consumption-sensor/content-types/power-consumption-sensor/schema.json b/src/api/power-consumption-sensor/content-types/power-consumption-sensor/schema.json new file mode 100644 index 0000000..b8efd78 --- /dev/null +++ b/src/api/power-consumption-sensor/content-types/power-consumption-sensor/schema.json @@ -0,0 +1,39 @@ +{ + "kind": "collectionType", + "collectionName": "power_consumption_sensors", + "info": { + "singularName": "power-consumption-sensor", + "pluralName": "power-consumption-sensors", + "displayName": "Sensor: Power Consumption" + }, + "options": { + "draftAndPublish": false + }, + "attributes": { + "value": { + "type": "decimal", + "required": true + }, + "unit": { + "type": "enumeration", + "enum": [ + "W", + "VA" + ], + "required": true + }, + "location": { + "type": "string", + "required": true + }, + "name": { + "type": "string" + }, + "description": { + "type": "text" + }, + "lastchange": { + "type": "biginteger" + } + } +} diff --git a/src/api/power-consumption-sensor/controllers/power-consumption-sensor.ts b/src/api/power-consumption-sensor/controllers/power-consumption-sensor.ts new file mode 100644 index 0000000..ab1924b --- /dev/null +++ b/src/api/power-consumption-sensor/controllers/power-consumption-sensor.ts @@ -0,0 +1,7 @@ +/** + * power-consumption-sensor controller + */ + +import { factories } from '@strapi/strapi' + +export default factories.createCoreController('api::power-consumption-sensor.power-consumption-sensor'); diff --git a/src/api/power-consumption-sensor/routes/power-consumption-sensor.ts b/src/api/power-consumption-sensor/routes/power-consumption-sensor.ts new file mode 100644 index 0000000..6dfd8c4 --- /dev/null +++ b/src/api/power-consumption-sensor/routes/power-consumption-sensor.ts @@ -0,0 +1,7 @@ +/** + * power-consumption-sensor router + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreRouter('api::power-consumption-sensor.power-consumption-sensor'); diff --git a/src/api/power-consumption-sensor/services/power-consumption-sensor.ts b/src/api/power-consumption-sensor/services/power-consumption-sensor.ts new file mode 100644 index 0000000..a53c739 --- /dev/null +++ b/src/api/power-consumption-sensor/services/power-consumption-sensor.ts @@ -0,0 +1,7 @@ +/** + * power-consumption-sensor service + */ + +import { factories } from '@strapi/strapi'; + +export default factories.createCoreService('api::power-consumption-sensor.power-consumption-sensor'); diff --git a/types/generated/contentTypes.d.ts b/types/generated/contentTypes.d.ts index 39ddf7f..7027f48 100644 --- a/types/generated/contentTypes.d.ts +++ b/types/generated/contentTypes.d.ts @@ -611,6 +611,40 @@ export interface ApiHumiditySensorHumiditySensor }; } +export interface ApiPowerConsumptionSensorPowerConsumptionSensor + extends Struct.CollectionTypeSchema { + collectionName: 'power_consumption_sensors'; + info: { + displayName: 'Sensor: Power Consumption'; + pluralName: 'power-consumption-sensors'; + singularName: 'power-consumption-sensor'; + }; + options: { + draftAndPublish: false; + }; + 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::power-consumption-sensor.power-consumption-sensor' + > & + Schema.Attribute.Private; + location: Schema.Attribute.String & Schema.Attribute.Required; + name: Schema.Attribute.String; + publishedAt: Schema.Attribute.DateTime; + unit: Schema.Attribute.Enumeration<['W', 'VA']> & Schema.Attribute.Required; + updatedAt: Schema.Attribute.DateTime; + updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & + Schema.Attribute.Private; + value: Schema.Attribute.Decimal & Schema.Attribute.Required; + }; +} + export interface ApiRadiationSensorRadiationSensor extends Struct.CollectionTypeSchema { collectionName: 'radiation_sensors'; @@ -1246,6 +1280,7 @@ declare module '@strapi/strapi' { 'api::event.event': ApiEventEvent; 'api::hackspace.hackspace': ApiHackspaceHackspace; 'api::humidity-sensor.humidity-sensor': ApiHumiditySensorHumiditySensor; + 'api::power-consumption-sensor.power-consumption-sensor': ApiPowerConsumptionSensorPowerConsumptionSensor; 'api::radiation-sensor.radiation-sensor': ApiRadiationSensorRadiationSensor; 'api::state.state': ApiStateState; 'api::temperature-sensor.temperature-sensor': ApiTemperatureSensorTemperatureSensor;