UNPKG

@trusthab/composable-resources

Version:

migrating https://github.com/knetikmedia/hab-api/tree/integration/app/resources/composable

58 lines (49 loc) 1.31 kB
const composer = require('../mixin_loader'); module.exports = (App) => { const { underscore } = require('inflected'); class DeviceAudioDetectorResource { static mixins() { return [ 'DeviceBase' ]; } static fields() { return { smoke: { type: 'boolean', or: ['null'], path: 'additional_properties.smoke.value' }, carbon_monoxide: { type: 'boolean', or: ['null'], path: 'additional_properties.carbon_monoxide.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:audio_detector'; params.filter = filter ? `${filter}|${default_filters}` : default_filters; return params; } } }; } } return composer(DeviceAudioDetectorResource, App); };