@golemio/energetics
Version:
Golemio Energetics Module
56 lines • 1.98 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.MeasurementModel = void 0;
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
const MeasurementConstants_1 = require("./constants/MeasurementConstants");
class MeasurementModel extends sequelize_1.Model {
}
exports.MeasurementModel = MeasurementModel;
MeasurementModel.tableName = "consumption_energy_measurements";
MeasurementModel.attributeModel = {
timestamp: {
primaryKey: true,
type: sequelize_1.DataTypes.DATE,
},
value: sequelize_1.DataTypes.NUMBER({
precision: 30,
scale: 15,
}),
addr: {
primaryKey: true,
type: sequelize_1.DataTypes.STRING(255),
},
variable: {
primaryKey: true,
type: sequelize_1.DataTypes.STRING(255),
field: "var",
},
type: sequelize_1.DataTypes.STRING(255),
meter: {
type: sequelize_1.DataTypes.STRING(255),
},
source: sequelize_1.DataTypes.STRING(20),
measurement_category: sequelize_1.DataTypes.STRING(50),
};
MeasurementModel.attributesToUpdate = Object.keys(MeasurementModel.attributeModel).concat("updated_at");
MeasurementModel.arrayJsonSchema = {
type: "array",
items: {
type: "object",
properties: {
timestamp: {
type: "object",
required: ["toISOString"],
},
value: { type: "number" },
addr: { type: "string" },
variable: { type: "string", enum: MeasurementConstants_1.MEASUREMENT_VARIABLES },
type: { type: "string", enum: MeasurementConstants_1.MEASUREMENT_TYPES },
meter: { type: "string" },
source: { type: "string" },
measurement_category: { type: "string" },
},
required: ["timestamp", "value", "addr", "variable", "type", "meter", "source", "measurement_category"],
},
};
//# sourceMappingURL=MeasurementsModel.js.map
;