Browse Source

Improve Device Profile Entity

pull/7935/head
Andrii Landiak 4 years ago
parent
commit
dccc19a9b6
  1. 3
      dao/src/main/java/org/thingsboard/server/dao/model/ModelConstants.java
  2. 15
      dao/src/main/java/org/thingsboard/server/dao/model/sql/DeviceProfileEntity.java
  3. 71
      dao/src/main/resources/sql/schema-entities.sql

3
dao/src/main/java/org/thingsboard/server/dao/model/ModelConstants.java

@ -185,6 +185,9 @@ public class ModelConstants {
public static final String DEVICE_PROFILE_PROVISION_DEVICE_KEY = "provision_device_key";
public static final String DEVICE_PROFILE_FIRMWARE_ID_PROPERTY = "firmware_id";
public static final String DEVICE_PROFILE_SOFTWARE_ID_PROPERTY = "software_id";
public static final String DEVICE_PROFILE_CERTIFICATE_HASH_PROPERTY = "certificate_hash";
public static final String DEVICE_PROFILE_CERTIFICATE_VALUE_PROPERTY = "certificate_value";
public static final String DEVICE_PROFILE_CERTIFICATE_REGEX_PATTERN_PROPERTY = "certificate_regex_pattern";
/**
* Asset profile constants.

15
dao/src/main/java/org/thingsboard/server/dao/model/sql/DeviceProfileEntity.java

@ -106,6 +106,15 @@ public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> impl
@Column(name = ModelConstants.EXTERNAL_ID_PROPERTY)
private UUID externalId;
@Column(name = ModelConstants.DEVICE_PROFILE_CERTIFICATE_VALUE_PROPERTY)
private String certificateValue;
@Column(name = ModelConstants.DEVICE_PROFILE_CERTIFICATE_HASH_PROPERTY)
private String certificateHash;
@Column(name = ModelConstants.DEVICE_PROFILE_CERTIFICATE_REGEX_PATTERN_PROPERTY)
private String certificateRegexPattern;
public DeviceProfileEntity() {
super();
}
@ -123,6 +132,9 @@ public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> impl
this.image = deviceProfile.getImage();
this.transportType = deviceProfile.getTransportType();
this.provisionType = deviceProfile.getProvisionType();
this.certificateHash = deviceProfile.getCertificateHash();
this.certificateValue = deviceProfile.getCertificateValue();
this.certificateRegexPattern = deviceProfile.getCertificateRegexPattern();
this.description = deviceProfile.getDescription();
this.isDefault = deviceProfile.isDefault();
this.profileData = JacksonUtil.convertValue(deviceProfile.getProfileData(), ObjectNode.class);
@ -182,6 +194,9 @@ public final class DeviceProfileEntity extends BaseSqlEntity<DeviceProfile> impl
deviceProfile.setDefaultDashboardId(new DashboardId(defaultDashboardId));
}
deviceProfile.setProvisionDeviceKey(provisionDeviceKey);
deviceProfile.setCertificateHash(certificateHash);
deviceProfile.setCertificateValue(certificateValue);
deviceProfile.setCertificateRegexPattern(certificateRegexPattern);
if (firmwareId != null) {
deviceProfile.setFirmwareId(new OtaPackageId(firmwareId));

71
dao/src/main/resources/sql/schema-entities.sql

@ -271,24 +271,75 @@ CREATE TABLE IF NOT EXISTS device_profile (
provision_type varchar(255),
profile_data jsonb,
description varchar,
search_text varchar(255),
search_text varchar
(
255
),
is_default boolean,
tenant_id uuid,
firmware_id uuid,
software_id uuid,
default_rule_chain_id uuid,
default_dashboard_id uuid,
default_queue_name varchar(255),
default_queue_name varchar
(
255
),
provision_device_key varchar,
certificate_value varchar;
certificate_hash varchar,
certificate_regex_pattern varchar
(
255
),
external_id uuid,
CONSTRAINT device_profile_name_unq_key UNIQUE (tenant_id, name),
CONSTRAINT device_provision_key_unq_key UNIQUE (provision_device_key),
CONSTRAINT device_profile_external_id_unq_key UNIQUE (tenant_id, external_id),
CONSTRAINT fk_default_rule_chain_device_profile FOREIGN KEY (default_rule_chain_id) REFERENCES rule_chain(id),
CONSTRAINT fk_default_dashboard_device_profile FOREIGN KEY (default_dashboard_id) REFERENCES dashboard(id),
CONSTRAINT fk_firmware_device_profile FOREIGN KEY (firmware_id) REFERENCES ota_package(id),
CONSTRAINT fk_software_device_profile FOREIGN KEY (software_id) REFERENCES ota_package(id)
);
CONSTRAINT device_profile_credentials_hash_unq_key UNIQUE
(
certificate_hash
),
CONSTRAINT device_profile_name_unq_key UNIQUE
(
tenant_id,
name
),
CONSTRAINT device_provision_key_unq_key UNIQUE
(
provision_device_key
),
CONSTRAINT device_profile_external_id_unq_key UNIQUE
(
tenant_id,
external_id
),
CONSTRAINT fk_default_rule_chain_device_profile FOREIGN KEY
(
default_rule_chain_id
) REFERENCES rule_chain
(
id
),
CONSTRAINT fk_default_dashboard_device_profile FOREIGN KEY
(
default_dashboard_id
) REFERENCES dashboard
(
id
),
CONSTRAINT fk_firmware_device_profile FOREIGN KEY
(
firmware_id
) REFERENCES ota_package
(
id
),
CONSTRAINT fk_software_device_profile FOREIGN KEY
(
software_id
) REFERENCES ota_package
(
id
)
);
DO
$$

Loading…
Cancel
Save