UNPKG

@xompass/sdk-cloud-api

Version:

Xompass Client for cloud-api

318 lines (312 loc) 8.3 kB
import {ModelDefinition} from './BaseModels'; import {AssetStateTemplate} from './AssetStateTemplate'; import {AssetWizardType} from './AssetWizardType'; import {Admin} from './Admin'; import {Customer} from './Customer'; import {EventGroupTemplate} from './EventGroupTemplate'; import {EventTriggerTemplate} from './EventTriggerTemplate'; import {Log} from './Log'; import {Manager} from './Manager'; import {Project} from './Project'; import {SensorTemplate} from './SensorTemplate'; declare var Object: any; export interface AssetTemplateInterface { type: string; name?: string; icon?: string; description?: string; uri?: string; settingsType?: string; tags?: Array<any>; created?: Date; modified?: Date; deleted?: Date; id?: any; assetTemplateId?: any; _config?: any; defaultStateId?: any; assetWizardTypeId?: any; customerId?: any; projectId?: any; assetTemplates?: AssetTemplate[]; assetTemplate?: AssetTemplate; config?: any[]; assetStateTemplates?: AssetStateTemplate[]; defaultState?: AssetStateTemplate; container?: any; assetWizardType?: AssetWizardType; defaultResponsibleAdmins?: Admin[]; customer?: Customer; eventGroupTemplates?: EventGroupTemplate[]; eventTriggerTemplates?: EventTriggerTemplate[]; trackingLogs?: Log[]; defaultResponsibleManagers?: Manager[]; project?: Project; sensorTemplates?: SensorTemplate[]; } export class AssetTemplate implements AssetTemplateInterface { type: string; name: string; icon: string; description: string; uri: string; settingsType: string; tags: Array<any> = []; created: Date; modified: Date; deleted: Date; id: any; assetTemplateId: any; _config: any; defaultStateId: any; assetWizardTypeId: any; customerId: any; projectId: any; assetTemplates?: AssetTemplate[]; assetTemplate?: AssetTemplate; config?: any[]; assetStateTemplates?: AssetStateTemplate[]; defaultState?: AssetStateTemplate; container?: any; assetWizardType?: AssetWizardType; defaultResponsibleAdmins?: Admin[]; customer?: Customer; eventGroupTemplates?: EventGroupTemplate[]; eventTriggerTemplates?: EventTriggerTemplate[]; trackingLogs?: Log[]; defaultResponsibleManagers?: Manager[]; project?: Project; sensorTemplates?: SensorTemplate[]; constructor(data?: AssetTemplateInterface) { Object.assign(this, data); } /** * The name of the model represented by this $resource, * i.e. `AssetTemplate`. */ public static getModelName(): string { return 'AssetTemplate'; } /** * @method factory * @author Jonathan Casarrubias * @license MIT * This method creates an instance of AssetTemplate for dynamic purposes. */ public static factory(data: AssetTemplateInterface): AssetTemplate{ return new AssetTemplate(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: 'AssetTemplate', plural: 'AssetTemplates', path: 'AssetTemplates', idName: 'id', properties: { type: { name: 'type', type: 'string' }, name: { name: 'name', type: 'string' }, icon: { name: 'icon', type: 'string' }, description: { name: 'description', type: 'string' }, uri: { name: 'uri', type: 'string' }, settingsType: { name: 'settingsType', type: 'string' }, tags: { name: 'tags', type: 'Array&lt;any&gt;', default: [] }, created: { name: 'created', type: 'Date' }, modified: { name: 'modified', type: 'Date' }, deleted: { name: 'deleted', type: 'Date', default: undefined }, id: { name: 'id', type: 'any' }, assetTemplateId: { name: 'assetTemplateId', type: 'any' }, _config: { name: '_config', type: 'any' }, defaultStateId: { name: 'defaultStateId', type: 'any' }, assetWizardTypeId: { name: 'assetWizardTypeId', type: 'any' }, customerId: { name: 'customerId', type: 'any' }, projectId: { name: 'projectId', type: 'any' }, }, relations: { assetTemplates: { name: 'assetTemplates', type: 'AssetTemplate[]', model: 'AssetTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'assetTemplateId' }, assetTemplate: { name: 'assetTemplate', type: 'AssetTemplate', model: 'AssetTemplate', relationType: 'belongsTo', keyFrom: 'assetTemplateId', keyTo: 'id' }, config: { name: 'config', type: 'any[]', model: '', relationType: 'embedsOne', keyFrom: '_config', keyTo: 'id' }, assetStateTemplates: { name: 'assetStateTemplates', type: 'AssetStateTemplate[]', model: 'AssetStateTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'assetTemplateId' }, defaultState: { name: 'defaultState', type: 'AssetStateTemplate', model: 'AssetStateTemplate', relationType: 'belongsTo', keyFrom: 'defaultStateId', keyTo: 'id' }, container: { name: 'container', type: 'any', model: '', relationType: 'hasOne', keyFrom: 'id', keyTo: 'assetTemplateId' }, assetWizardType: { name: 'assetWizardType', type: 'AssetWizardType', model: 'AssetWizardType', relationType: 'belongsTo', keyFrom: 'assetWizardTypeId', keyTo: 'id' }, defaultResponsibleAdmins: { name: 'defaultResponsibleAdmins', 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' }, eventGroupTemplates: { name: 'eventGroupTemplates', type: 'EventGroupTemplate[]', model: 'EventGroupTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'assetTemplateId' }, eventTriggerTemplates: { name: 'eventTriggerTemplates', type: 'EventTriggerTemplate[]', model: 'EventTriggerTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'assetTemplateId' }, trackingLogs: { name: 'trackingLogs', type: 'Log[]', model: 'Log', relationType: 'hasMany', keyFrom: 'id', keyTo: 'trackingModelId' }, defaultResponsibleManagers: { name: 'defaultResponsibleManagers', 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' }, sensorTemplates: { name: 'sensorTemplates', type: 'SensorTemplate[]', model: 'SensorTemplate', relationType: 'hasMany', keyFrom: 'id', keyTo: 'assetTemplateId' }, } }; } }