UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

144 lines (138 loc) 3.46 kB
import {ModelDefinition} from './BaseModels'; import {AssetTemplate} from './AssetTemplate'; import {EventTriggerTemplate} from './EventTriggerTemplate'; import {Log} from './Log'; declare var Object: any; export interface EventGroupTemplateInterface { name: string; description?: string; color?: string; icon?: string; priority?: number; created?: Date; modified?: Date; deleted?: Date; id?: any; assetTemplateId?: any; assetTemplate?: AssetTemplate; eventTriggerTemplates?: EventTriggerTemplate[]; trackingLogs?: Log[]; } export class EventGroupTemplate implements EventGroupTemplateInterface { name: string; description: string; color: string; icon: string; priority: number; created: Date; modified: Date; deleted: Date; id: any; assetTemplateId: any; assetTemplate?: AssetTemplate; eventTriggerTemplates?: EventTriggerTemplate[]; trackingLogs?: Log[]; constructor(data?: EventGroupTemplateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `EventGroupTemplate`. */ public static getModelName(): string { return 'EventGroupTemplate'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of EventGroupTemplate for dynamic purposes. */ public static factory(data: EventGroupTemplateInterface): EventGroupTemplate{ return new EventGroupTemplate(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: 'EventGroupTemplate', plural: 'EventGroupTemplates', path: 'EventGroupTemplates', idName: 'id', properties: { name: { name: 'name', type: 'string' }, description: { name: 'description', type: 'string' }, color: { name: 'color', type: 'string' }, icon: { name: 'icon', type: 'string' }, priority: { name: 'priority', type: 'number' }, 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' }, }, relations: { assetTemplate: { name: 'assetTemplate', type: 'AssetTemplate', model: 'AssetTemplate', relationType: 'belongsTo', keyFrom: 'assetTemplateId', keyTo: 'id' }, eventTriggerTemplates: { name: 'eventTriggerTemplates', type: 'EventTriggerTemplate[]', model: 'EventTriggerTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'eventGroupTemplateId' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, } }; } }