@xompass/sdk-cloud-api
Version:
Xompass Client for cloud-api
623 lines (617 loc) • 16.3 kB
text/typescript
import {ModelDefinition} from './BaseModels';
import {Alert} from './Alert';
import {AlertHistory} from './AlertHistory';
import {AssetMilestone} from './AssetMilestone';
import {AssetOperabilitySummary} from './AssetOperabilitySummary';
import {AssetRestrictionTable} from './AssetRestrictionTable';
import {AssetStaff} from './AssetStaff';
import {AssetState} from './AssetState';
import {AssetStateChange} from './AssetStateChange';
import {AssetTemplate} from './AssetTemplate';
import {AssetWizardType} from './AssetWizardType';
import {Credential} from './Credential';
import {Admin} from './Admin';
import {Customer} from './Customer';
import {Dataset} from './Dataset';
import {EdgeAgent} from './EdgeAgent';
import {Event} from './Event';
import {EventGroup} from './EventGroup';
import {EventSummary} from './EventSummary';
import {EventSummaryForAsset} from './EventSummaryForAsset';
import {EventTrigger} from './EventTrigger';
import {HealthcheckEvent} from './HealthcheckEvent';
import {Log} from './Log';
import {Manager} from './Manager';
import {Project} from './Project';
import {RateLimit} from './RateLimit';
import {ResponseProtocol} from './ResponseProtocol';
import {Sensor} from './Sensor';
import {SensorUptime} from './SensorUptime';
import {SensorUptimeCollector} from './SensorUptimeCollector';
import {Summary} from './Summary';
declare var Object: any;
export interface AssetInterface {
type: string;
name?: string;
icon?: string;
description?: string;
referenceId?: string;
uri?: string;
path?: Array<any>;
requested?: Date;
settingsType?: string;
healthcheckEventsEnabled?: boolean;
currentHealthStatus?: string;
currentHealthStatusDetails?: any;
tags?: Array<any>;
created?: Date;
modified?: Date;
deleted?: Date;
id?: any;
assetId?: any;
_config?: any;
currentStateId?: any;
templateId?: any;
assetWizardTypeId?: any;
customerId?: any;
projectId?: any;
_rateLimit?: any;
responseProtocolId?: any;
_token?: any;
assets?: Asset[];
asset?: Asset;
alerts?: Alert[];
alertHistory?: AlertHistory[];
config?: any[];
milestone?: AssetMilestone;
operabilitySummaries?: AssetOperabilitySummary[];
restrictionTable?: AssetRestrictionTable;
staffs?: AssetStaff[];
assetStates?: AssetState[];
currentState?: AssetState;
nextState?: AssetStateChange;
container?: any;
template?: AssetTemplate;
assetWizardType?: AssetWizardType;
credentials?: Credential[];
admins?: Admin[];
customer?: Customer;
datasets?: Dataset[];
edgeAgents?: EdgeAgent[];
events?: Event[];
eventGroups?: EventGroup[];
eventSummaries?: EventSummary[];
eventSummaryForAssets?: EventSummaryForAsset[];
eventTriggers?: EventTrigger[];
features?: any[];
healthcheckEvents?: HealthcheckEvent[];
trackingLogs?: Log[];
managers?: Manager[];
project?: Project;
rateLimit?: RateLimit[];
responseProtocol?: ResponseProtocol;
sensors?: Sensor[];
sensorUptimes?: SensorUptime[];
sensorUptimeCollectors?: SensorUptimeCollector[];
summaries?: Summary[];
token?: any[];
}
export class Asset implements AssetInterface {
type: string;
name: string;
icon: string;
description: string;
referenceId: string;
uri: string;
path: Array<any> = [];
requested: Date;
settingsType: string;
healthcheckEventsEnabled: boolean;
currentHealthStatus: string;
currentHealthStatusDetails: any;
tags: Array<any> = [];
created: Date;
modified: Date;
deleted: Date;
id: any;
assetId: any;
_config: any;
currentStateId: any;
templateId: any;
assetWizardTypeId: any;
customerId: any;
projectId: any;
_rateLimit: any;
responseProtocolId: any;
_token: any;
assets?: Asset[];
asset?: Asset;
alerts?: Alert[];
alertHistory?: AlertHistory[];
config?: any[];
milestone?: AssetMilestone;
operabilitySummaries?: AssetOperabilitySummary[];
restrictionTable?: AssetRestrictionTable;
staffs?: AssetStaff[];
assetStates?: AssetState[];
currentState?: AssetState;
nextState?: AssetStateChange;
container?: any;
template?: AssetTemplate;
assetWizardType?: AssetWizardType;
credentials?: Credential[];
admins?: Admin[];
customer?: Customer;
datasets?: Dataset[];
edgeAgents?: EdgeAgent[];
events?: Event[];
eventGroups?: EventGroup[];
eventSummaries?: EventSummary[];
eventSummaryForAssets?: EventSummaryForAsset[];
eventTriggers?: EventTrigger[];
features?: any[];
healthcheckEvents?: HealthcheckEvent[];
trackingLogs?: Log[];
managers?: Manager[];
project?: Project;
rateLimit?: RateLimit[];
responseProtocol?: ResponseProtocol;
sensors?: Sensor[];
sensorUptimes?: SensorUptime[];
sensorUptimeCollectors?: SensorUptimeCollector[];
summaries?: Summary[];
token?: any[];
constructor(data?: AssetInterface) {
Object.assign(this, data);
}
/**
* The name of the model represented by this $resource,
* i.e. `Asset`.
*/
public static getModelName(): string {
return 'Asset';
}
/**
* @method factory
* @author Jonathan Casarrubias
* @license MIT
* This method creates an instance of Asset for dynamic purposes.
*/
public static factory(data: AssetInterface): Asset{
return new Asset(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: 'Asset',
plural: 'Assets',
path: 'Assets',
idName: 'id',
properties: {
type: {
name: 'type',
type: 'string'
},
name: {
name: 'name',
type: 'string'
},
icon: {
name: 'icon',
type: 'string'
},
description: {
name: 'description',
type: 'string'
},
referenceId: {
name: 'referenceId',
type: 'string'
},
uri: {
name: 'uri',
type: 'string'
},
path: {
name: 'path',
type: 'Array<any>',
default: []
},
requested: {
name: 'requested',
type: 'Date'
},
settingsType: {
name: 'settingsType',
type: 'string'
},
healthcheckEventsEnabled: {
name: 'healthcheckEventsEnabled',
type: 'boolean'
},
currentHealthStatus: {
name: 'currentHealthStatus',
type: 'string'
},
currentHealthStatusDetails: {
name: 'currentHealthStatusDetails',
type: 'any'
},
tags: {
name: 'tags',
type: 'Array<any>',
default: []
},
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'
},
_config: {
name: '_config',
type: 'any'
},
currentStateId: {
name: 'currentStateId',
type: 'any'
},
templateId: {
name: 'templateId',
type: 'any'
},
assetWizardTypeId: {
name: 'assetWizardTypeId',
type: 'any'
},
customerId: {
name: 'customerId',
type: 'any'
},
projectId: {
name: 'projectId',
type: 'any'
},
_rateLimit: {
name: '_rateLimit',
type: 'any'
},
responseProtocolId: {
name: 'responseProtocolId',
type: 'any'
},
_token: {
name: '_token',
type: 'any'
},
},
relations: {
assets: {
name: 'assets',
type: 'Asset[]',
model: 'Asset',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
asset: {
name: 'asset',
type: 'Asset',
model: 'Asset',
relationType: 'belongsTo',
keyFrom: 'assetId',
keyTo: 'id'
},
alerts: {
name: 'alerts',
type: 'Alert[]',
model: 'Alert',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
alertHistory: {
name: 'alertHistory',
type: 'AlertHistory[]',
model: 'AlertHistory',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
config: {
name: 'config',
type: 'any[]',
model: '',
relationType: 'embedsOne',
keyFrom: '_config',
keyTo: 'id'
},
milestone: {
name: 'milestone',
type: 'AssetMilestone',
model: 'AssetMilestone',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'assetId'
},
operabilitySummaries: {
name: 'operabilitySummaries',
type: 'AssetOperabilitySummary[]',
model: 'AssetOperabilitySummary',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
restrictionTable: {
name: 'restrictionTable',
type: 'AssetRestrictionTable',
model: 'AssetRestrictionTable',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'assetId'
},
staffs: {
name: 'staffs',
type: 'AssetStaff[]',
model: 'AssetStaff',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
assetStates: {
name: 'assetStates',
type: 'AssetState[]',
model: 'AssetState',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
currentState: {
name: 'currentState',
type: 'AssetState',
model: 'AssetState',
relationType: 'belongsTo',
keyFrom: 'currentStateId',
keyTo: 'id'
},
nextState: {
name: 'nextState',
type: 'AssetStateChange',
model: 'AssetStateChange',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'assetId'
},
container: {
name: 'container',
type: 'any',
model: '',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'assetId'
},
template: {
name: 'template',
type: 'AssetTemplate',
model: 'AssetTemplate',
relationType: 'belongsTo',
keyFrom: 'templateId',
keyTo: 'id'
},
assetWizardType: {
name: 'assetWizardType',
type: 'AssetWizardType',
model: 'AssetWizardType',
relationType: 'belongsTo',
keyFrom: 'assetWizardTypeId',
keyTo: 'id'
},
credentials: {
name: 'credentials',
type: 'Credential[]',
model: 'Credential',
relationType: 'hasMany',
modelThrough: 'CredentialAsset',
keyThrough: 'credentialId',
keyFrom: 'id',
keyTo: 'assetId'
},
admins: {
name: 'admins',
type: 'Admin[]',
model: 'Admin',
relationType: 'hasMany',
modelThrough: 'AdminAsset',
keyThrough: 'adminId',
keyFrom: 'id',
keyTo: 'assetId'
},
customer: {
name: 'customer',
type: 'Customer',
model: 'Customer',
relationType: 'belongsTo',
keyFrom: 'customerId',
keyTo: 'id'
},
datasets: {
name: 'datasets',
type: 'Dataset[]',
model: 'Dataset',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
edgeAgents: {
name: 'edgeAgents',
type: 'EdgeAgent[]',
model: 'EdgeAgent',
relationType: 'hasMany',
modelThrough: 'EdgeAgentAsset',
keyThrough: 'edgeAgentId',
keyFrom: 'id',
keyTo: 'assetId'
},
events: {
name: 'events',
type: 'Event[]',
model: 'Event',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
eventGroups: {
name: 'eventGroups',
type: 'EventGroup[]',
model: 'EventGroup',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
eventSummaries: {
name: 'eventSummaries',
type: 'EventSummary[]',
model: 'EventSummary',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
eventSummaryForAssets: {
name: 'eventSummaryForAssets',
type: 'EventSummaryForAsset[]',
model: 'EventSummaryForAsset',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
eventTriggers: {
name: 'eventTriggers',
type: 'EventTrigger[]',
model: 'EventTrigger',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
features: {
name: 'features',
type: 'any[]',
model: '',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
healthcheckEvents: {
name: 'healthcheckEvents',
type: 'HealthcheckEvent[]',
model: 'HealthcheckEvent',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
trackingLogs: {
name: 'trackingLogs',
type: 'Log[]',
model: 'Log',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'trackingModelId'
},
managers: {
name: 'managers',
type: 'Manager[]',
model: 'Manager',
relationType: 'hasMany',
modelThrough: 'ManagerAsset',
keyThrough: 'managerId',
keyFrom: 'id',
keyTo: 'assetId'
},
project: {
name: 'project',
type: 'Project',
model: 'Project',
relationType: 'belongsTo',
keyFrom: 'projectId',
keyTo: 'id'
},
rateLimit: {
name: 'rateLimit',
type: 'RateLimit[]',
model: 'RateLimit',
relationType: 'embedsOne',
keyFrom: '_rateLimit',
keyTo: 'id'
},
responseProtocol: {
name: 'responseProtocol',
type: 'ResponseProtocol',
model: 'ResponseProtocol',
relationType: 'belongsTo',
keyFrom: 'responseProtocolId',
keyTo: 'id'
},
sensors: {
name: 'sensors',
type: 'Sensor[]',
model: 'Sensor',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
sensorUptimes: {
name: 'sensorUptimes',
type: 'SensorUptime[]',
model: 'SensorUptime',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
sensorUptimeCollectors: {
name: 'sensorUptimeCollectors',
type: 'SensorUptimeCollector[]',
model: 'SensorUptimeCollector',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
summaries: {
name: 'summaries',
type: 'Summary[]',
model: 'Summary',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'assetId'
},
token: {
name: 'token',
type: 'any[]',
model: '',
relationType: 'embedsOne',
keyFrom: '_token',
keyTo: 'id'
},
}
};
}
}