UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

245 lines (239 loc) 5.54 kB
import {ModelDefinition} from './BaseModels'; import {Customer} from './Customer'; import {Device} from './Device'; import {Asset} from './Asset'; import {Log} from './Log'; import {TelegramChat} from './TelegramChat'; declare var Object: any; export interface EdgeAgentInterface { name?: string; description?: string; enabled: boolean; image: string; sharedPath: string; broker?: any; brokers?: any; modules?: any; routes?: any; moduleParameters?: any; systems?: any; templateTagId?: string; created?: Date; modified?: Date; deleted?: Date; id?: any; customerId?: any; deviceId?: string; _presets?: Array<any>; customer?: Customer; device?: Device; assets?: Asset[]; edgeAgentAssets?: any[]; presets?: any[]; trackingLogs?: Log[]; telegramChats?: TelegramChat[]; } export class EdgeAgent implements EdgeAgentInterface { name: string; description: string; enabled: boolean; image: string; sharedPath: string; broker: any; brokers: any; modules: any; routes: any; moduleParameters: any; systems: any; templateTagId: string; created: Date; modified: Date; deleted: Date; id: any; customerId: any; deviceId: string; _presets: Array<any> = []; customer?: Customer; device?: Device; assets?: Asset[]; edgeAgentAssets?: any[]; presets?: any[]; trackingLogs?: Log[]; telegramChats?: TelegramChat[]; constructor(data?: EdgeAgentInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `EdgeAgent`. */ public static getModelName(): string { return 'EdgeAgent'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of EdgeAgent for dynamic purposes. */ public static factory(data: EdgeAgentInterface): EdgeAgent{ return new EdgeAgent(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: 'EdgeAgent', plural: 'EdgeAgents', path: 'EdgeAgents', idName: 'id', properties: { name: { name: 'name', type: 'string' }, description: { name: 'description', type: 'string' }, enabled: { name: 'enabled', type: 'boolean' }, image: { name: 'image', type: 'string' }, sharedPath: { name: 'sharedPath', type: 'string' }, broker: { name: 'broker', type: 'any' }, brokers: { name: 'brokers', type: 'any' }, modules: { name: 'modules', type: 'any' }, routes: { name: 'routes', type: 'any' }, moduleParameters: { name: 'moduleParameters', type: 'any' }, systems: { name: 'systems', type: 'any' }, templateTagId: { name: 'templateTagId', type: 'string' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, id: { name: 'id', type: 'any' }, customerId: { name: 'customerId', type: 'any' }, deviceId: { name: 'deviceId', type: 'string' }, _presets: { name: '_presets', type: 'Array&lt;any&gt;', default: [] }, }, relations: { customer: { name: 'customer', type: 'Customer', model: 'Customer', relationType: 'belongsTo', keyFrom: 'customerId', keyTo: 'id' }, device: { name: 'device', type: 'Device', model: 'Device', relationType: 'belongsTo', keyFrom: 'deviceId', keyTo: 'id' }, assets: { name: 'assets', type: 'Asset[]', model: 'Asset', relationType: 'hasMany', modelThrough: 'EdgeAgentAsset', keyThrough: 'assetId', keyFrom: 'id', keyTo: 'edgeAgentId' }, edgeAgentAssets: { name: 'edgeAgentAssets', type: 'any[]', model: '', relationType: 'hasMany', keyFrom: 'id', keyTo: 'edgeAgentId' }, presets: { name: 'presets', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_presets', keyTo: 'id' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, telegramChats: { name: 'telegramChats', type: 'TelegramChat[]', model: 'TelegramChat', relationType: 'hasMany', modelThrough: 'TelegramChatEdgeAgent', keyThrough: 'telegramChatId', keyFrom: 'id', keyTo: 'edgeAgentId' }, } }; } }