UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

223 lines (217 loc) 5.8 kB
import {ModelDefinition} from './BaseModels'; import {AssetTemplate} from './AssetTemplate'; import {EventGroupTemplate} from './EventGroupTemplate'; import {AssetStateTemplate} from './AssetStateTemplate'; import {EventTriggerAssetStateTemplate} from './EventTriggerAssetStateTemplate'; import {Log} from './Log'; declare var Object: any; export interface EventTriggerTemplateInterface { type: string; name: string; description?: string; subject?: string; enabled: boolean; eventGroupingByMinutes: number; muted: boolean; hidden: boolean; starred: boolean; notifications?: any; created?: Date; modified?: Date; deleted?: Date; id?: any; assetTemplateId?: any; eventGroupTemplateId?: any; _ruleTemplates?: Array<any>; assetTemplate?: AssetTemplate; eventGroupTemplate?: EventGroupTemplate; assetStateTemplates?: AssetStateTemplate[]; stateTemplates?: EventTriggerAssetStateTemplate[]; ruleTemplates?: any[]; trackingLogs?: Log[]; } export class EventTriggerTemplate implements EventTriggerTemplateInterface { type: string; name: string; description: string; subject: string; enabled: boolean = true; eventGroupingByMinutes: number = 5; muted: boolean; hidden: boolean; starred: boolean; notifications: any; created: Date; modified: Date; deleted: Date; id: any; assetTemplateId: any; eventGroupTemplateId: any; _ruleTemplates: Array<any> = []; assetTemplate?: AssetTemplate; eventGroupTemplate?: EventGroupTemplate; assetStateTemplates?: AssetStateTemplate[]; stateTemplates?: EventTriggerAssetStateTemplate[]; ruleTemplates?: any[]; trackingLogs?: Log[]; constructor(data?: EventTriggerTemplateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `EventTriggerTemplate`. */ public static getModelName(): string { return 'EventTriggerTemplate'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of EventTriggerTemplate for dynamic purposes. */ public static factory(data: EventTriggerTemplateInterface): EventTriggerTemplate{ return new EventTriggerTemplate(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: 'EventTriggerTemplate', plural: 'EventTriggerTemplates', path: 'EventTriggerTemplates', idName: 'id', properties: { type: { name: 'type', type: 'string' }, name: { name: 'name', type: 'string' }, description: { name: 'description', type: 'string' }, subject: { name: 'subject', type: 'string' }, enabled: { name: 'enabled', type: 'boolean', default: true }, eventGroupingByMinutes: { name: 'eventGroupingByMinutes', type: 'number', default: 5 }, 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' }, assetTemplateId: { name: 'assetTemplateId', type: 'any' }, eventGroupTemplateId: { name: 'eventGroupTemplateId', type: 'any' }, _ruleTemplates: { name: '_ruleTemplates', type: 'Array&lt;any&gt;', default: [] }, }, relations: { assetTemplate: { name: 'assetTemplate', type: 'AssetTemplate', model: 'AssetTemplate', relationType: 'belongsTo', keyFrom: 'assetTemplateId', keyTo: 'id' }, eventGroupTemplate: { name: 'eventGroupTemplate', type: 'EventGroupTemplate', model: 'EventGroupTemplate', relationType: 'belongsTo', keyFrom: 'eventGroupTemplateId', keyTo: 'id' }, assetStateTemplates: { name: 'assetStateTemplates', type: 'AssetStateTemplate[]', model: 'AssetStateTemplate', relationType: 'hasMany', modelThrough: 'EventTriggerAssetStateTemplate', keyThrough: 'assetStateTemplateId', keyFrom: 'id', keyTo: 'eventTriggerTemplateId' }, stateTemplates: { name: 'stateTemplates', type: 'EventTriggerAssetStateTemplate[]', model: 'EventTriggerAssetStateTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'eventTriggerTemplateId' }, ruleTemplates: { name: 'ruleTemplates', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_ruleTemplates', keyTo: 'id' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, } }; } }