2019-09-19 20:10:52 +03:00
|
|
|
///
|
2024-01-09 10:46:16 +02:00
|
|
|
/// Copyright © 2016-2024 The Thingsboard Authors
|
2019-09-19 20:10:52 +03:00
|
|
|
///
|
|
|
|
|
/// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
/// you may not use this file except in compliance with the License.
|
|
|
|
|
/// You may obtain a copy of the License at
|
|
|
|
|
///
|
|
|
|
|
/// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
///
|
|
|
|
|
/// Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
/// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
/// See the License for the specific language governing permissions and
|
|
|
|
|
/// limitations under the License.
|
|
|
|
|
///
|
|
|
|
|
|
|
|
|
|
import { EntityType } from '@shared/models/entity-type.models';
|
2019-11-15 12:22:14 +02:00
|
|
|
import { AttributeData } from './telemetry/telemetry.models';
|
2020-08-26 15:00:11 +03:00
|
|
|
import { EntityId } from '@shared/models/id/entity-id';
|
2021-07-16 12:28:42 +03:00
|
|
|
import { DeviceCredentialMQTTBasic } from '@shared/models/device.models';
|
|
|
|
|
import { Lwm2mSecurityConfigModels } from '@shared/models/lwm2m-security-config.models';
|
2023-11-23 17:56:04 +02:00
|
|
|
import { TenantId } from '@shared/models/id/tenant-id';
|
2024-11-05 19:34:28 +02:00
|
|
|
import { RuleChainMetaData } from '@shared/models/rule-chain.models';
|
2019-09-19 20:10:52 +03:00
|
|
|
|
|
|
|
|
export interface EntityInfo {
|
|
|
|
|
name?: string;
|
|
|
|
|
label?: string;
|
|
|
|
|
entityType?: EntityType;
|
|
|
|
|
id?: string;
|
|
|
|
|
entityDescription?: string;
|
|
|
|
|
}
|
2019-11-15 12:22:14 +02:00
|
|
|
|
2020-08-26 15:00:11 +03:00
|
|
|
export interface EntityInfoData {
|
|
|
|
|
id: EntityId;
|
|
|
|
|
name: string;
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-15 12:22:14 +02:00
|
|
|
export interface ImportEntityData {
|
2021-07-16 12:28:42 +03:00
|
|
|
lineNumber: number;
|
2019-11-15 12:22:14 +02:00
|
|
|
name: string;
|
|
|
|
|
type: string;
|
2020-02-20 16:35:11 +02:00
|
|
|
label: string;
|
|
|
|
|
gateway: boolean;
|
|
|
|
|
description: string;
|
2021-07-16 12:28:42 +03:00
|
|
|
credential: {
|
|
|
|
|
accessToken?: string;
|
|
|
|
|
x509?: string;
|
|
|
|
|
mqtt?: DeviceCredentialMQTTBasic;
|
|
|
|
|
lwm2m?: Lwm2mSecurityConfigModels;
|
|
|
|
|
};
|
2019-11-15 12:22:14 +02:00
|
|
|
attributes: {
|
|
|
|
|
server: AttributeData[],
|
|
|
|
|
shared: AttributeData[]
|
|
|
|
|
};
|
|
|
|
|
timeseries: AttributeData[];
|
2021-01-15 17:56:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface EdgeImportEntityData extends ImportEntityData {
|
2021-01-13 20:43:11 +02:00
|
|
|
secret: string;
|
|
|
|
|
routingKey: string;
|
2019-11-15 12:22:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface ImportEntitiesResultInfo {
|
|
|
|
|
create?: {
|
|
|
|
|
entity: number;
|
|
|
|
|
};
|
|
|
|
|
update?: {
|
|
|
|
|
entity: number;
|
|
|
|
|
};
|
|
|
|
|
error?: {
|
|
|
|
|
entity: number;
|
2021-07-16 12:28:42 +03:00
|
|
|
errors?: string;
|
2019-11-15 12:22:14 +02:00
|
|
|
};
|
|
|
|
|
}
|
2020-02-21 19:04:49 +02:00
|
|
|
|
|
|
|
|
export interface EntityField {
|
|
|
|
|
keyName: string;
|
|
|
|
|
value: string;
|
|
|
|
|
name: string;
|
|
|
|
|
time?: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
2020-12-17 13:32:03 +02:00
|
|
|
export interface EntitiesKeysByQuery {
|
|
|
|
|
attribute: Array<string>;
|
|
|
|
|
timeseries: Array<string>;
|
|
|
|
|
entityTypes: EntityType[];
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-21 19:04:49 +02:00
|
|
|
export const entityFields: {[fieldName: string]: EntityField} = {
|
|
|
|
|
createdTime: {
|
|
|
|
|
keyName: 'createdTime',
|
|
|
|
|
name: 'entity-field.created-time',
|
|
|
|
|
value: 'createdTime',
|
|
|
|
|
time: true
|
|
|
|
|
},
|
|
|
|
|
name: {
|
|
|
|
|
keyName: 'name',
|
|
|
|
|
name: 'entity-field.name',
|
|
|
|
|
value: 'name'
|
|
|
|
|
},
|
|
|
|
|
type: {
|
|
|
|
|
keyName: 'type',
|
|
|
|
|
name: 'entity-field.type',
|
|
|
|
|
value: 'type'
|
|
|
|
|
},
|
|
|
|
|
firstName: {
|
|
|
|
|
keyName: 'firstName',
|
|
|
|
|
name: 'entity-field.first-name',
|
|
|
|
|
value: 'firstName'
|
|
|
|
|
},
|
|
|
|
|
lastName: {
|
|
|
|
|
keyName: 'lastName',
|
|
|
|
|
name: 'entity-field.last-name',
|
|
|
|
|
value: 'lastName'
|
|
|
|
|
},
|
|
|
|
|
email: {
|
|
|
|
|
keyName: 'email',
|
|
|
|
|
name: 'entity-field.email',
|
|
|
|
|
value: 'email'
|
|
|
|
|
},
|
|
|
|
|
title: {
|
|
|
|
|
keyName: 'title',
|
|
|
|
|
name: 'entity-field.title',
|
|
|
|
|
value: 'title'
|
|
|
|
|
},
|
|
|
|
|
country: {
|
|
|
|
|
keyName: 'country',
|
|
|
|
|
name: 'entity-field.country',
|
|
|
|
|
value: 'country'
|
|
|
|
|
},
|
|
|
|
|
state: {
|
|
|
|
|
keyName: 'state',
|
|
|
|
|
name: 'entity-field.state',
|
|
|
|
|
value: 'state'
|
|
|
|
|
},
|
|
|
|
|
city: {
|
|
|
|
|
keyName: 'city',
|
|
|
|
|
name: 'entity-field.city',
|
|
|
|
|
value: 'city'
|
|
|
|
|
},
|
|
|
|
|
address: {
|
|
|
|
|
keyName: 'address',
|
|
|
|
|
name: 'entity-field.address',
|
|
|
|
|
value: 'address'
|
|
|
|
|
},
|
|
|
|
|
address2: {
|
|
|
|
|
keyName: 'address2',
|
|
|
|
|
name: 'entity-field.address2',
|
|
|
|
|
value: 'address2'
|
|
|
|
|
},
|
|
|
|
|
zip: {
|
|
|
|
|
keyName: 'zip',
|
|
|
|
|
name: 'entity-field.zip',
|
|
|
|
|
value: 'zip'
|
|
|
|
|
},
|
|
|
|
|
phone: {
|
|
|
|
|
keyName: 'phone',
|
|
|
|
|
name: 'entity-field.phone',
|
|
|
|
|
value: 'phone'
|
|
|
|
|
},
|
|
|
|
|
label: {
|
|
|
|
|
keyName: 'label',
|
|
|
|
|
name: 'entity-field.label',
|
|
|
|
|
value: 'label'
|
2024-03-19 15:44:27 +02:00
|
|
|
},
|
2024-02-13 13:01:39 +02:00
|
|
|
queueName: {
|
|
|
|
|
keyName: 'queueName',
|
|
|
|
|
name: 'entity-field.queue-name',
|
|
|
|
|
value: 'queueName'
|
|
|
|
|
},
|
|
|
|
|
serviceId: {
|
|
|
|
|
keyName: 'serviceId',
|
|
|
|
|
name: 'entity-field.service-id',
|
|
|
|
|
value: 'serviceId'
|
2024-04-29 14:42:11 +03:00
|
|
|
},
|
2024-03-19 15:44:27 +02:00
|
|
|
ownerName: {
|
|
|
|
|
keyName: 'ownerName',
|
|
|
|
|
name: 'entity-field.owner-name',
|
|
|
|
|
value: 'ownerName'
|
|
|
|
|
},
|
|
|
|
|
ownerType: {
|
|
|
|
|
keyName: 'ownerType',
|
|
|
|
|
name: 'entity-field.owner-type',
|
|
|
|
|
value: 'ownerType'
|
2020-02-21 19:04:49 +02:00
|
|
|
}
|
|
|
|
|
};
|
2023-11-23 17:56:04 +02:00
|
|
|
|
|
|
|
|
export interface HasTenantId {
|
|
|
|
|
tenantId?: TenantId;
|
|
|
|
|
}
|
2024-08-07 16:01:08 +03:00
|
|
|
|
|
|
|
|
export interface HasVersion {
|
|
|
|
|
version?: number;
|
|
|
|
|
}
|
2024-11-13 14:50:23 +02:00
|
|
|
|
2024-12-10 15:29:17 +02:00
|
|
|
export interface HasEntityDebugSettings {
|
|
|
|
|
debugSettings?: EntityDebugSettings;
|
2024-11-13 14:50:23 +02:00
|
|
|
}
|
2024-11-13 16:27:25 +02:00
|
|
|
|
2024-12-10 15:29:17 +02:00
|
|
|
export interface EntityDebugSettings {
|
2024-11-29 13:05:33 +02:00
|
|
|
failuresEnabled?: boolean;
|
|
|
|
|
allEnabled?: boolean;
|
|
|
|
|
allEnabledUntil?: number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export type VersionedEntity = EntityInfoData & HasVersion | RuleChainMetaData;
|