@trusthab/composable-resources
Version:
migrating https://github.com/knetikmedia/hab-api/tree/integration/app/resources/composable
58 lines (49 loc) • 1.28 kB
JavaScript
const composer = require('../mixin_loader');
module.exports = (App) => {
const { underscore } = require('inflected');
class DeviceWaterSensorResource {
static mixins() {
return [
'DeviceBase'
];
}
static fields() {
return {
flood: {
type: 'boolean',
or: ['null'],
path: 'additional_properties.flood.value'
},
freeze: {
type: 'boolean',
or: ['null'],
path: 'additional_properties.freeze.value'
},
burglar: {
type: 'boolean',
or: ['null'],
path: 'additional_properties.burglar.value'
}
};
}
static knetikCloudMethods() {
const methods = require('./device_base')(App).knetikCloudMethods();
return {
...methods,
search: {
index: 'devices',
template: 'hab',
paramsBuilder: (params) => {
const { filter } = params;
const default_filters = 'device_type:water_sensor';
params.filter = filter
? `${filter}|${default_filters}`
: default_filters;
return params;
}
}
};
}
}
return composer(DeviceWaterSensorResource, App);
};