thingsboard/ui-ngx/src/app/shared/models/entity.models.ts

200 lines
4.2 KiB
TypeScript
Raw Normal View History

///
2024-01-09 10:46:16 +02:00
/// Copyright © 2016-2024 The Thingsboard Authors
///
/// 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';
import { AttributeData } from './telemetry/telemetry.models';
2020-08-26 15:00:11 +03:00
import { EntityId } from '@shared/models/id/entity-id';
import { DeviceCredentialMQTTBasic } from '@shared/models/device.models';
import { Lwm2mSecurityConfigModels } from '@shared/models/lwm2m-security-config.models';
import { TenantId } from '@shared/models/id/tenant-id';
export interface EntityInfo {
name?: string;
label?: string;
entityType?: EntityType;
id?: string;
entityDescription?: string;
}
2020-08-26 15:00:11 +03:00
export interface EntityInfoData {
id: EntityId;
name: string;
}
export interface ImportEntityData {
lineNumber: number;
name: string;
type: string;
label: string;
gateway: boolean;
description: string;
credential: {
accessToken?: string;
x509?: string;
mqtt?: DeviceCredentialMQTTBasic;
lwm2m?: Lwm2mSecurityConfigModels;
};
attributes: {
server: AttributeData[],
shared: AttributeData[]
};
timeseries: AttributeData[];
2021-01-15 17:56:41 +02:00
}
export interface EdgeImportEntityData extends ImportEntityData {
secret: string;
routingKey: string;
}
export interface ImportEntitiesResultInfo {
create?: {
entity: number;
};
update?: {
entity: number;
};
error?: {
entity: number;
errors?: string;
};
}
2020-02-21 19:04:49 +02:00
export interface EntityField {
keyName: string;
value: string;
name: string;
time?: boolean;
}
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-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
},
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
}
};
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
export interface HasDebugConfig {
2024-11-13 15:56:53 +02:00
debugAll?: boolean;
debugFailures?: boolean;
debugAllUntil?: number;
2024-11-13 14:50:23 +02:00
}