UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

208 lines (202 loc) 4.91 kB
import {ModelDefinition} from './BaseModels'; import {Log} from './Log'; import {AssetState} from './AssetState'; import {Sensor} from './Sensor'; import {Alert} from './Alert'; import {AlertHistory} from './AlertHistory'; import {SensorAssetStateTemplate} from './SensorAssetStateTemplate'; declare var Object: any; export interface SensorAssetStateInterface { 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; assetStateId?: any; sensorId?: any; templateId?: any; trackingLogs?: Log[]; assetState?: AssetState; sensor?: Sensor; alerts?: Alert[]; alertHistory?: AlertHistory[]; template?: SensorAssetStateTemplate; } export class SensorAssetState implements SensorAssetStateInterface { 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; assetStateId: any; sensorId: any; templateId: any; trackingLogs?: Log[]; assetState?: AssetState; sensor?: Sensor; alerts?: Alert[]; alertHistory?: AlertHistory[]; template?: SensorAssetStateTemplate; constructor(data?: SensorAssetStateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `SensorAssetState`. */ public static getModelName(): string { return 'SensorAssetState'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of SensorAssetState for dynamic purposes. */ public static factory(data: SensorAssetStateInterface): SensorAssetState{ return new SensorAssetState(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: 'SensorAssetState', plural: 'SensorAssetStates', path: 'SensorAssetStates', 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' }, assetStateId: { name: 'assetStateId', type: 'any' }, sensorId: { name: 'sensorId', type: 'any' }, templateId: { name: 'templateId', type: 'any' }, }, relations: { trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, assetState: { name: 'assetState', type: 'AssetState', model: 'AssetState', relationType: 'belongsTo', keyFrom: 'assetStateId', keyTo: 'id' }, sensor: { name: 'sensor', type: 'Sensor', model: 'Sensor', relationType: 'belongsTo', keyFrom: 'sensorId', keyTo: 'id' }, alerts: { name: 'alerts', type: 'Alert[]', model: 'Alert', relationType: 'hasMany', keyFrom: 'id', keyTo: 'stateId' }, alertHistory: { name: 'alertHistory', type: 'AlertHistory[]', model: 'AlertHistory', relationType: 'hasMany', keyFrom: 'id', keyTo: 'stateId' }, template: { name: 'template', type: 'SensorAssetStateTemplate', model: 'SensorAssetStateTemplate', relationType: 'belongsTo', keyFrom: 'templateId', keyTo: 'id' }, } }; } }