UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

160 lines (154 loc) 3.85 kB
import {ModelDefinition} from './BaseModels'; import {Log} from './Log'; import {Customer} from './Customer'; import {Device} from './Device'; import {EdgeAgent} from './EdgeAgent'; import {EventTrigger} from './EventTrigger'; declare var Object: any; export interface TelegramChatInterface { name: string; description?: string; chatId: string; created?: Date; modified?: Date; deleted?: Date; id?: any; customerId?: any; trackingLogs?: Log[]; customer?: Customer; devices?: Device[]; edgeAgents?: EdgeAgent[]; eventTriggers?: EventTrigger[]; } export class TelegramChat implements TelegramChatInterface { name: string; description: string; chatId: string; created: Date; modified: Date; deleted: Date; id: any; customerId: any; trackingLogs?: Log[]; customer?: Customer; devices?: Device[]; edgeAgents?: EdgeAgent[]; eventTriggers?: EventTrigger[]; constructor(data?: TelegramChatInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `TelegramChat`. */ public static getModelName(): string { return 'TelegramChat'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of TelegramChat for dynamic purposes. */ public static factory(data: TelegramChatInterface): TelegramChat{ return new TelegramChat(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: 'TelegramChat', plural: 'TelegramChats', path: 'TelegramChats', idName: 'id', properties: { name: { name: 'name', type: 'string' }, description: { name: 'description', type: 'string' }, chatId: { name: 'chatId', 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' }, }, relations: { trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, customer: { name: 'customer', type: 'Customer', model: 'Customer', relationType: 'belongsTo', keyFrom: 'customerId', keyTo: 'id' }, devices: { name: 'devices', type: 'Device[]', model: 'Device', relationType: 'hasMany', modelThrough: 'TelegramChatDevice', keyThrough: 'deviceId', keyFrom: 'id', keyTo: 'telegramChatId' }, edgeAgents: { name: 'edgeAgents', type: 'EdgeAgent[]', model: 'EdgeAgent', relationType: 'hasMany', modelThrough: 'TelegramChatEdgeAgent', keyThrough: 'edgeAgentId', keyFrom: 'id', keyTo: 'telegramChatId' }, eventTriggers: { name: 'eventTriggers', type: 'EventTrigger[]', model: 'EventTrigger', relationType: 'hasMany', modelThrough: 'TelegramChatEventTrigger', keyThrough: 'eventTriggerId', keyFrom: 'id', keyTo: 'telegramChatId' }, } }; } }