UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

143 lines (137 loc) 3.27 kB
import {ModelDefinition} from './BaseModels'; import {Asset} from './Asset'; import {AssetState} from './AssetState'; import {Customer} from './Customer'; import {Log} from './Log'; declare var Object: any; export interface AssetStateChangeInterface { changeAt: Date; created?: Date; modified?: Date; deleted?: Date; id?: any; assetId?: any; assetStateId?: any; customerId?: any; asset?: Asset; assetState?: AssetState; customer?: Customer; trackingLogs?: Log[]; } export class AssetStateChange implements AssetStateChangeInterface { changeAt: Date; created: Date; modified: Date; deleted: Date; id: any; assetId: any; assetStateId: any; customerId: any; asset?: Asset; assetState?: AssetState; customer?: Customer; trackingLogs?: Log[]; constructor(data?: AssetStateChangeInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `AssetStateChange`. */ public static getModelName(): string { return 'AssetStateChange'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of AssetStateChange for dynamic purposes. */ public static factory(data: AssetStateChangeInterface): AssetStateChange{ return new AssetStateChange(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: 'AssetStateChange', plural: 'AssetStateChanges', path: 'AssetStateChanges', idName: 'id', properties: { changeAt: { name: 'changeAt', type: 'Date' }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, id: { name: 'id', type: 'any' }, assetId: { name: 'assetId', type: 'any' }, assetStateId: { name: 'assetStateId', type: 'any' }, customerId: { name: 'customerId', type: 'any' }, }, relations: { asset: { name: 'asset', type: 'Asset', model: 'Asset', relationType: 'belongsTo', keyFrom: 'assetId', keyTo: 'id' }, assetState: { name: 'assetState', type: 'AssetState', model: 'AssetState', relationType: 'belongsTo', keyFrom: 'assetStateId', keyTo: 'id' }, customer: { name: 'customer', type: 'Customer', model: 'Customer', relationType: 'belongsTo', keyFrom: 'customerId', keyTo: 'id' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, } }; } }