|
|
|
@ -37,6 +37,7 @@ import org.thingsboard.server.common.data.User; |
|
|
|
import org.thingsboard.server.common.data.audit.ActionType; |
|
|
|
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode; |
|
|
|
import org.thingsboard.server.common.data.exception.ThingsboardException; |
|
|
|
import org.thingsboard.server.common.data.id.EdgeId; |
|
|
|
import org.thingsboard.server.common.data.id.EntityId; |
|
|
|
import org.thingsboard.server.common.data.id.EntityIdFactory; |
|
|
|
import org.thingsboard.server.common.data.id.HasId; |
|
|
|
@ -69,6 +70,7 @@ import org.thingsboard.server.common.data.sync.vc.request.load.SingleEntityVersi |
|
|
|
import org.thingsboard.server.common.data.sync.vc.request.load.VersionLoadConfig; |
|
|
|
import org.thingsboard.server.common.data.sync.vc.request.load.VersionLoadRequest; |
|
|
|
import org.thingsboard.server.dao.DaoUtil; |
|
|
|
import org.thingsboard.server.dao.edge.EdgeService; |
|
|
|
import org.thingsboard.server.dao.exception.DeviceCredentialsValidationException; |
|
|
|
import org.thingsboard.server.queue.util.TbCoreComponent; |
|
|
|
import org.thingsboard.server.service.entitiy.TbNotificationEntityService; |
|
|
|
@ -112,6 +114,7 @@ public class DefaultEntitiesVersionControlService implements EntitiesVersionCont |
|
|
|
private final EntitiesExportImportService exportImportService; |
|
|
|
private final ExportableEntitiesService exportableEntitiesService; |
|
|
|
private final TbNotificationEntityService entityNotificationService; |
|
|
|
private final EdgeService edgeService; |
|
|
|
private final TransactionTemplate transactionTemplate; |
|
|
|
private final TbTransactionalCache<UUID, VersionControlTaskCacheEntry> taskCache; |
|
|
|
|
|
|
|
@ -427,11 +430,12 @@ public class DefaultEntitiesVersionControlService implements EntitiesVersionCont |
|
|
|
return exportableEntitiesService.findEntitiesByTenantId(ctx.getTenantId(), entityType, pageLink); |
|
|
|
}, 100, entity -> { |
|
|
|
if (ctx.getImportedEntities().get(entityType) == null || !ctx.getImportedEntities().get(entityType).contains(entity.getId())) { |
|
|
|
List<EdgeId> relatedEdgeIds = edgeService.findAllRelatedEdgeIds(ctx.getTenantId(), entity.getId()); |
|
|
|
exportableEntitiesService.removeById(ctx.getTenantId(), entity.getId()); |
|
|
|
|
|
|
|
ctx.addEventCallback(() -> { |
|
|
|
entityNotificationService.notifyDeleteEntity(ctx.getTenantId(), entity.getId(), |
|
|
|
entity, null, ActionType.DELETED, null, ctx.getUser()); |
|
|
|
entity, null, ActionType.DELETED, relatedEdgeIds, ctx.getUser()); |
|
|
|
}); |
|
|
|
ctx.registerDeleted(entityType); |
|
|
|
} |
|
|
|
|