46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
const joi = require("joi")
|
|
|
|
const DeviceModel = joi.object({
|
|
relayMsn: joi.string().optional(),
|
|
msn: joi.string().optional(),
|
|
relayName: joi.string().optional(),
|
|
relayBattery: joi.number().optional(),
|
|
relayBatteryStatus: joi.number().optional(),
|
|
relayCSQ: joi.number().optional(),
|
|
relayNetwork: joi.number().optional(),
|
|
connectionType: joi.string().optional(),
|
|
phoneNumber: joi.string().optional(),
|
|
iccid: joi.string().optional(),
|
|
relayTemperature: joi.number().optional(),
|
|
relayConfigurationTimestamp: joi.number().optional(),
|
|
vsoft: joi.string().optional(),
|
|
label: joi.string().optional(),
|
|
inventory: joi.array().items( joi.object({
|
|
msn: joi.string().required(),
|
|
configurationTimestamp: joi.number().optional(),
|
|
programmingTimestamp: joi.number().optional(),
|
|
}).optional()
|
|
).optional(),
|
|
|
|
configurationTimestamp: joi.number().optional(),
|
|
programmingTimestamp: joi.number().optional(),
|
|
|
|
todo: joi.array().items(joi.object({
|
|
msn: joi.string().required(),
|
|
}).unknown()).optional(),
|
|
|
|
status: joi.object().unknown(),
|
|
|
|
programs: joi.object().unknown(),
|
|
configuration: joi.object().unknown(),
|
|
slots: joi.object().unknown(),
|
|
manualCommand: joi.object().unknown(),
|
|
statusCommand: joi.object().unknown(),
|
|
acknowledgedAlerts: joi.object().unknown(),
|
|
})
|
|
|
|
module.exports = DeviceModel
|
|
|
|
|
|
|