|
|
@ -25,6 +25,7 @@ import lombok.extern.slf4j.Slf4j; |
|
|
import org.checkerframework.checker.nullness.qual.Nullable; |
|
|
import org.checkerframework.checker.nullness.qual.Nullable; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
import org.thingsboard.server.common.data.AdminSettings; |
|
|
import org.thingsboard.server.common.data.DashboardInfo; |
|
|
import org.thingsboard.server.common.data.DashboardInfo; |
|
|
import org.thingsboard.server.common.data.DataConstants; |
|
|
import org.thingsboard.server.common.data.DataConstants; |
|
|
import org.thingsboard.server.common.data.Device; |
|
|
import org.thingsboard.server.common.data.Device; |
|
|
@ -64,6 +65,7 @@ import org.thingsboard.server.dao.edge.EdgeEventService; |
|
|
import org.thingsboard.server.dao.entityview.EntityViewService; |
|
|
import org.thingsboard.server.dao.entityview.EntityViewService; |
|
|
import org.thingsboard.server.dao.relation.RelationService; |
|
|
import org.thingsboard.server.dao.relation.RelationService; |
|
|
import org.thingsboard.server.dao.rule.RuleChainService; |
|
|
import org.thingsboard.server.dao.rule.RuleChainService; |
|
|
|
|
|
import org.thingsboard.server.dao.settings.AdminSettingsService; |
|
|
import org.thingsboard.server.dao.user.UserService; |
|
|
import org.thingsboard.server.dao.user.UserService; |
|
|
import org.thingsboard.server.dao.widget.WidgetTypeService; |
|
|
import org.thingsboard.server.dao.widget.WidgetTypeService; |
|
|
import org.thingsboard.server.dao.widget.WidgetsBundleService; |
|
|
import org.thingsboard.server.dao.widget.WidgetsBundleService; |
|
|
@ -119,6 +121,9 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private WidgetTypeService widgetTypeService; |
|
|
private WidgetTypeService widgetTypeService; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private AdminSettingsService adminSettingsService; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private DbCallbackExecutorService dbCallbackExecutorService; |
|
|
private DbCallbackExecutorService dbCallbackExecutorService; |
|
|
|
|
|
|
|
|
@ -132,6 +137,7 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
|
|
syncEntityViews(edge); |
|
|
syncEntityViews(edge); |
|
|
syncDashboards(edge); |
|
|
syncDashboards(edge); |
|
|
syncWidgetsBundleAndWidgetTypes(edge); |
|
|
syncWidgetsBundleAndWidgetTypes(edge); |
|
|
|
|
|
syncAdminSettings(edge); |
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
log.error("Exception during sync process", e); |
|
|
log.error("Exception during sync process", e); |
|
|
} |
|
|
} |
|
|
@ -291,6 +297,15 @@ public class DefaultSyncEdgeService implements SyncEdgeService { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void syncAdminSettings(Edge edge) { |
|
|
|
|
|
try { |
|
|
|
|
|
AdminSettings mailSettings = adminSettingsService.findAdminSettingsByKey(TenantId.SYS_TENANT_ID, "mail"); |
|
|
|
|
|
saveEdgeEvent(edge.getTenantId(), edge.getId(), EdgeEventType.ADMIN_SETTINGS, ActionType.UPDATED, null, mapper.valueToTree(mailSettings)); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
log.error("Can't load admin settings", e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private void pushUsersToEdge(TextPageData<User> pageData, Edge edge) { |
|
|
private void pushUsersToEdge(TextPageData<User> pageData, Edge edge) { |
|
|
if (pageData != null && pageData.getData() != null && !pageData.getData().isEmpty()) { |
|
|
if (pageData != null && pageData.getData() != null && !pageData.getData().isEmpty()) { |
|
|
log.trace("[{}] [{}] user(s) are going to be pushed to edge.", edge.getId(), pageData.getData().size()); |
|
|
log.trace("[{}] [{}] user(s) are going to be pushed to edge.", edge.getId(), pageData.getData().size()); |
|
|
|