@xompass/sdk-cloud-api
Version:
Xompass Client for cloud-api
353 lines • 12.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Customer = void 0;
var Customer = /** @class */ (function () {
function Customer(data) {
this.toolkitIds = [];
Object.assign(this, data);
}
/**
* The name of the model represented by this $resource,
* i.e. `Customer`.
*/
Customer.getModelName = function () {
return 'Customer';
};
/**
* @method factory
* @author Jonathan Casarrubias
* @license MIT
* This method creates an instance of Customer for dynamic purposes.
*/
Customer.factory = function (data) {
return new Customer(data);
};
/**
* @method getModelDefinition
* @author Julien Ledun
* @license MIT
* This method returns an object that represents some of the model
* definitions.
*/
Customer.getModelDefinition = function () {
return {
name: 'Customer',
plural: 'Customers',
path: 'Customers',
idName: 'id',
properties: {
name: {
name: 'name',
type: 'string'
},
businessName: {
name: 'businessName',
type: 'string'
},
description: {
name: 'description',
type: 'string'
},
address: {
name: 'address',
type: 'string'
},
created: {
name: 'created',
type: 'Date'
},
modified: {
name: 'modified',
type: 'Date'
},
deleted: {
name: 'deleted',
type: 'Date',
default: undefined
},
id: {
name: 'id',
type: 'any'
},
countryId: {
name: 'countryId',
type: 'any'
},
_config: {
name: '_config',
type: 'any'
},
timeZoneId: {
name: 'timeZoneId',
type: 'any'
},
toolkitIds: {
name: 'toolkitIds',
type: 'Array<any>',
default: []
},
varId: {
name: 'varId',
type: 'any'
},
},
relations: {
assetTags: {
name: 'assetTags',
type: 'AssetTag[]',
model: 'AssetTag',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
assets: {
name: 'assets',
type: 'Asset[]',
model: 'Asset',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
assetTemplates: {
name: 'assetTemplates',
type: 'AssetTemplate[]',
model: 'AssetTemplate',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
countReports: {
name: 'countReports',
type: 'CountReport[]',
model: 'CountReport',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
credentials: {
name: 'credentials',
type: 'Credential[]',
model: 'Credential',
relationType: 'hasMany',
modelThrough: 'CredentialCustomer',
keyThrough: 'credentialId',
keyFrom: 'id',
keyTo: 'customerId'
},
apiKeys: {
name: 'apiKeys',
type: 'ApiKey[]',
model: 'ApiKey',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
country: {
name: 'country',
type: 'Country',
model: 'Country',
relationType: 'belongsTo',
keyFrom: 'countryId',
keyTo: 'id'
},
assetStateChanges: {
name: 'assetStateChanges',
type: 'AssetStateChange[]',
model: 'AssetStateChange',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
activeDirectory: {
name: 'activeDirectory',
type: 'any',
model: '',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'customerId'
},
config: {
name: 'config',
type: 'any[]',
model: '',
relationType: 'embedsOne',
keyFrom: '_config',
keyTo: 'id'
},
operabilitySummaries: {
name: 'operabilitySummaries',
type: 'CustomerOperabilitySummary[]',
model: 'CustomerOperabilitySummary',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
restrictionTable: {
name: 'restrictionTable',
type: 'CustomerRestrictionTable',
model: 'CustomerRestrictionTable',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'customerId'
},
container: {
name: 'container',
type: 'any',
model: '',
relationType: 'hasOne',
keyFrom: 'id',
keyTo: 'customerId'
},
defaultEventComments: {
name: 'defaultEventComments',
type: 'DefaultEventComment[]',
model: 'DefaultEventComment',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
devices: {
name: 'devices',
type: 'Device[]',
model: 'Device',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
deviceEventTypes: {
name: 'deviceEventTypes',
type: 'DeviceEventType[]',
model: 'DeviceEventType',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
edgeAgents: {
name: 'edgeAgents',
type: 'EdgeAgent[]',
model: 'EdgeAgent',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
emergencyContacts: {
name: 'emergencyContacts',
type: 'EmergencyContact[]',
model: 'EmergencyContact',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
eventStates: {
name: 'eventStates',
type: 'EventState[]',
model: 'EventState',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
trackingLogs: {
name: 'trackingLogs',
type: 'Log[]',
model: 'Log',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'trackingModelId'
},
managers: {
name: 'managers',
type: 'Manager[]',
model: 'Manager',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
projects: {
name: 'projects',
type: 'Project[]',
model: 'Project',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
sensorUptime: {
name: 'sensorUptime',
type: 'SensorUptime[]',
model: 'SensorUptime',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
sensorUptimeCollector: {
name: 'sensorUptimeCollector',
type: 'SensorUptimeCollector[]',
model: 'SensorUptimeCollector',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
storylines: {
name: 'storylines',
type: 'Storyline[]',
model: 'Storyline',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
storylineCategories: {
name: 'storylineCategories',
type: 'StorylineCategory[]',
model: 'StorylineCategory',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
telegramChats: {
name: 'telegramChats',
type: 'TelegramChat[]',
model: 'TelegramChat',
relationType: 'hasMany',
keyFrom: 'id',
keyTo: 'customerId'
},
timeZone: {
name: 'timeZone',
type: 'TimeZone',
model: 'TimeZone',
relationType: 'belongsTo',
keyFrom: 'timeZoneId',
keyTo: 'id'
},
toolkits: {
name: 'toolkits',
type: 'Toolkit[]',
model: 'Toolkit',
relationType: 'referencesMany',
keyFrom: 'toolkitIds',
keyTo: 'id'
},
var: {
name: 'var',
type: 'Var',
model: 'Var',
relationType: 'belongsTo',
keyFrom: 'varId',
keyTo: 'id'
},
yoloClasses: {
name: 'yoloClasses',
type: 'YoloClass[]',
model: 'YoloClass',
relationType: 'hasMany',
modelThrough: 'YoloClassCustomer',
keyThrough: 'yoloClassId',
keyFrom: 'id',
keyTo: 'customerId'
},
}
};
};
return Customer;
}());
exports.Customer = Customer;
//# sourceMappingURL=Customer.js.map