UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

169 lines (163 loc) 4.15 kB
import {ModelDefinition} from './BaseModels'; import {Log} from './Log'; import {AssetStateTemplate} from './AssetStateTemplate'; import {SensorTemplate} from './SensorTemplate'; declare var Object: any; export interface SensorAssetStateTemplateInterface { type?: string; name?: string; enabled?: boolean; parameters?: any; triggers?: any; thresholdType?: string; thresholds?: Array<any>; notification?: any; created?: Date; modified?: Date; deleted?: Date; id?: any; assetStateTemplateId?: any; sensorTemplateId?: any; trackingLogs?: Log[]; assetStateTemplate?: AssetStateTemplate; sensorTemplate?: SensorTemplate; } export class SensorAssetStateTemplate implements SensorAssetStateTemplateInterface { type: string; name: string; enabled: boolean; parameters: any; triggers: any; thresholdType: string = 'NONE'; thresholds: Array<any>; notification: any; created: Date; modified: Date; deleted: Date; id: any; assetStateTemplateId: any; sensorTemplateId: any; trackingLogs?: Log[]; assetStateTemplate?: AssetStateTemplate; sensorTemplate?: SensorTemplate; constructor(data?: SensorAssetStateTemplateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `SensorAssetStateTemplate`. */ public static getModelName(): string { return 'SensorAssetStateTemplate'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of SensorAssetStateTemplate for dynamic purposes. */ public static factory(data: SensorAssetStateTemplateInterface): SensorAssetStateTemplate{ return new SensorAssetStateTemplate(data); } /** * @method getModelDefinition * @author Julien Ledun * @license MIT * This method returns an object that represents some of the model * definitions. */ public static getModelDefinition(): ModelDefinition { return { name: 'SensorAssetStateTemplate', plural: 'SensorAssetStateTemplates', path: 'SensorAssetStateTemplates', idName: 'id', properties: { type: { name: 'type', type: 'string' }, name: { name: 'name', type: 'string' }, enabled: { name: 'enabled', type: 'boolean' }, parameters: { name: 'parameters', type: 'any' }, triggers: { name: 'triggers', type: 'any' }, thresholdType: { name: 'thresholdType', type: 'string', default: 'NONE' }, thresholds: { name: 'thresholds', type: 'Array&lt;any&gt;' }, notification: { name: 'notification', type: 'any' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, id: { name: 'id', type: 'any' }, assetStateTemplateId: { name: 'assetStateTemplateId', type: 'any' }, sensorTemplateId: { name: 'sensorTemplateId', type: 'any' }, }, relations: { trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, assetStateTemplate: { name: 'assetStateTemplate', type: 'AssetStateTemplate', model: 'AssetStateTemplate', relationType: 'belongsTo', keyFrom: 'assetStateTemplateId', keyTo: 'id' }, sensorTemplate: { name: 'sensorTemplate', type: 'SensorTemplate', model: 'SensorTemplate', relationType: 'belongsTo', keyFrom: 'sensorTemplateId', keyTo: 'id' }, } }; } }