UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

264 lines (258 loc) 5.91 kB
import {ModelDefinition} from './BaseModels'; import {Asset} from './Asset'; import {EventSummary} from './EventSummary'; import {EventTrigger} from './EventTrigger'; import {Log} from './Log'; declare var Object: any; export interface EventInterface { id?: string; type: string; currentState: string; muted: boolean; seen: boolean; hidden: boolean; starred: boolean; filtered?: boolean; archived?: boolean; expiresAt?: Date; forwardedTo?: Array<any>; created?: Date; modified?: Date; deleted?: Date; assetId?: any; _comments?: Array<any>; _data?: Array<any>; _lastData?: any; _stateChanges?: Array<any>; summaryId?: any; eventTriggerId?: any; asset?: Asset; comments?: any[]; data?: any[]; lastData?: any[]; stateChanges?: any[]; summary?: EventSummary; eventTrigger?: EventTrigger; trackingLogs?: Log[]; } export class Event implements EventInterface { id: string; type: string; currentState: string; muted: boolean; seen: boolean; hidden: boolean; starred: boolean; filtered: boolean; archived: boolean; expiresAt: Date; forwardedTo: Array<any>; created: Date; modified: Date; deleted: Date; assetId: any; _comments: Array<any> = []; _data: Array<any> = []; _lastData: any; _stateChanges: Array<any> = []; summaryId: any; eventTriggerId: any; asset?: Asset; comments?: any[]; data?: any[]; lastData?: any[]; stateChanges?: any[]; summary?: EventSummary; eventTrigger?: EventTrigger; trackingLogs?: Log[]; constructor(data?: EventInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `Event`. */ public static getModelName(): string { return 'Event'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of Event for dynamic purposes. */ public static factory(data: EventInterface): Event{ return new Event(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: 'Event', plural: 'Events', path: 'Events', idName: 'id', properties: { id: { name: 'id', type: 'string' }, type: { name: 'type', type: 'string' }, currentState: { name: 'currentState', type: 'string' }, muted: { name: 'muted', type: 'boolean' }, seen: { name: 'seen', type: 'boolean' }, hidden: { name: 'hidden', type: 'boolean' }, starred: { name: 'starred', type: 'boolean' }, filtered: { name: 'filtered', type: 'boolean' }, archived: { name: 'archived', type: 'boolean' }, expiresAt: { name: 'expiresAt', type: 'Date' }, forwardedTo: { name: 'forwardedTo', type: 'Array&lt;any&gt;' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, assetId: { name: 'assetId', type: 'any' }, _comments: { name: '_comments', type: 'Array&lt;any&gt;', default: [] }, _data: { name: '_data', type: 'Array&lt;any&gt;', default: [] }, _lastData: { name: '_lastData', type: 'any' }, _stateChanges: { name: '_stateChanges', type: 'Array&lt;any&gt;', default: [] }, summaryId: { name: 'summaryId', type: 'any' }, eventTriggerId: { name: 'eventTriggerId', type: 'any' }, }, relations: { asset: { name: 'asset', type: 'Asset', model: 'Asset', relationType: 'belongsTo', keyFrom: 'assetId', keyTo: 'id' }, comments: { name: 'comments', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_comments', keyTo: 'id' }, data: { name: 'data', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_data', keyTo: 'id' }, lastData: { name: 'lastData', type: 'any[]', model: '', relationType: 'embedsOne', keyFrom: '_lastData', keyTo: 'id' }, stateChanges: { name: 'stateChanges', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_stateChanges', keyTo: 'id' }, summary: { name: 'summary', type: 'EventSummary', model: 'EventSummary', relationType: 'belongsTo', keyFrom: 'summaryId', keyTo: 'id' }, eventTrigger: { name: 'eventTrigger', type: 'EventTrigger', model: 'EventTrigger', relationType: 'belongsTo', keyFrom: 'eventTriggerId', keyTo: 'id' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, } }; } }