UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

203 lines (197 loc) 4.34 kB
import {ModelDefinition} from './BaseModels'; import {Asset} from './Asset'; import {Log} from './Log'; import {Sensor} from './Sensor'; import {Summary} from './Summary'; declare var Object: any; export interface DatasetInterface { id?: string; type?: string; testMode?: boolean; from?: Date; to?: Date; length?: number; archived?: boolean; expiresAt?: Date; isHealthcheck?: boolean; created?: Date; modified?: Date; deleted?: Date; assetId?: any; _data?: Array<any>; sensorId?: any; summaryId?: string; asset?: Asset; data?: any[]; trackingLogs?: Log[]; sensor?: Sensor; summary?: Summary; } export class Dataset implements DatasetInterface { id: string; type: string; testMode: boolean = true; from: Date; to: Date; length: number; archived: boolean; expiresAt: Date; isHealthcheck: boolean; created: Date; modified: Date; deleted: Date; assetId: any; _data: Array<any> = []; sensorId: any; summaryId: string; asset?: Asset; data?: any[]; trackingLogs?: Log[]; sensor?: Sensor; summary?: Summary; constructor(data?: DatasetInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `Dataset`. */ public static getModelName(): string { return 'Dataset'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of Dataset for dynamic purposes. */ public static factory(data: DatasetInterface): Dataset{ return new Dataset(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: 'Dataset', plural: 'Datasets', path: 'Datasets', idName: 'id', properties: { id: { name: 'id', type: 'string' }, type: { name: 'type', type: 'string' }, testMode: { name: 'testMode', type: 'boolean', default: true }, from: { name: 'from', type: 'Date' }, to: { name: 'to', type: 'Date' }, length: { name: 'length', type: 'number' }, archived: { name: 'archived', type: 'boolean' }, expiresAt: { name: 'expiresAt', type: 'Date' }, isHealthcheck: { name: 'isHealthcheck', type: 'boolean' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, assetId: { name: 'assetId', type: 'any' }, _data: { name: '_data', type: 'Array&lt;any&gt;', default: [] }, sensorId: { name: 'sensorId', type: 'any' }, summaryId: { name: 'summaryId', type: 'string' }, }, relations: { asset: { name: 'asset', type: 'Asset', model: 'Asset', relationType: 'belongsTo', keyFrom: 'assetId', keyTo: 'id' }, data: { name: 'data', type: 'any[]', model: '', relationType: 'embedsMany', keyFrom: '_data', keyTo: 'id' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, sensor: { name: 'sensor', type: 'Sensor', model: 'Sensor', relationType: 'belongsTo', keyFrom: 'sensorId', keyTo: 'id' }, summary: { name: 'summary', type: 'Summary', model: 'Summary', relationType: 'belongsTo', keyFrom: 'summaryId', keyTo: 'id' }, } }; } }