UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

215 lines (209 loc) 5.38 kB
import {ModelDefinition} from './BaseModels'; import {AssetState} from './AssetState'; import {EmergencyContact} from './EmergencyContact'; import {EventTrigger} from './EventTrigger'; import {EventTriggerAssetStateTemplate} from './EventTriggerAssetStateTemplate'; import {Log} from './Log'; declare var Object: any; export interface EventTriggerAssetStateInterface { type?: string; name?: string; enabled?: boolean; eventGroupingByMinutes?: number; muted?: boolean; hidden?: boolean; starred?: boolean; notifications?: any; created?: Date; modified?: Date; deleted?: Date; id?: any; assetStateId?: any; eventTriggerId?: any; templateId?: any; _rules?: Array<any>; assetState?: AssetState; emergencyContacts?: EmergencyContact[]; eventTrigger?: EventTrigger; template?: EventTriggerAssetStateTemplate; rules?: any[]; trackingLogs?: Log[]; } export class EventTriggerAssetState implements EventTriggerAssetStateInterface { type: string; name: string; enabled: boolean; eventGroupingByMinutes: number; muted: boolean; hidden: boolean; starred: boolean; notifications: any; created: Date; modified: Date; deleted: Date; id: any; assetStateId: any; eventTriggerId: any; templateId: any; _rules: Array<any> = []; assetState?: AssetState; emergencyContacts?: EmergencyContact[]; eventTrigger?: EventTrigger; template?: EventTriggerAssetStateTemplate; rules?: any[]; trackingLogs?: Log[]; constructor(data?: EventTriggerAssetStateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `EventTriggerAssetState`. */ public static getModelName(): string { return 'EventTriggerAssetState'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of EventTriggerAssetState for dynamic purposes. */ public static factory(data: EventTriggerAssetStateInterface): EventTriggerAssetState{ return new EventTriggerAssetState(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: 'EventTriggerAssetState', plural: 'EventTriggerAssetStates', path: 'EventTriggerAssetStates', idName: 'id', properties: { type: { name: 'type', type: 'string' }, name: { name: 'name', type: 'string' }, enabled: { name: 'enabled', type: 'boolean' }, eventGroupingByMinutes: { name: 'eventGroupingByMinutes', type: 'number' }, muted: { name: 'muted', type: 'boolean' }, hidden: { name: 'hidden', type: 'boolean' }, starred: { name: 'starred', type: 'boolean' }, notifications: { name: 'notifications', 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' }, eventTriggerId: { name: 'eventTriggerId', type: 'any' }, templateId: { name: 'templateId', type: 'any' }, _rules: { name: '_rules', type: 'Array&lt;any&gt;', default: [] }, }, relations: { assetState: { name: 'assetState', type: 'AssetState', model: 'AssetState', relationType: 'belongsTo', keyFrom: 'assetStateId', keyTo: 'id' }, emergencyContacts: { name: 'emergencyContacts', type: 'EmergencyContact[]', model: 'EmergencyContact', relationType: 'hasMany', modelThrough: 'EmergencyContactEventTriggerAssetState', keyThrough: 'emergencyContactId', keyFrom: 'id', keyTo: 'eventTriggerAssetStateId' }, eventTrigger: { name: 'eventTrigger', type: 'EventTrigger', model: 'EventTrigger', relationType: 'belongsTo', keyFrom: 'eventTriggerId', keyTo: 'id' }, template: { name: 'template', type: 'EventTriggerAssetStateTemplate', model: 'EventTriggerAssetStateTemplate', relationType: 'belongsTo', keyFrom: 'templateId', keyTo: 'id' }, rules: { name: 'rules', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_rules', keyTo: 'id' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, } }; } }