From f5eb27efd4a90dea5553dbd6fc32b20b1656d5f2 Mon Sep 17 00:00:00 2001 From: ViacheslavKlimov Date: Fri, 24 Feb 2023 14:03:35 +0200 Subject: [PATCH] Minor fixes --- .../service/install/DefaultSystemDataLoaderService.java | 1 + .../server/service/security/permission/Resource.java | 4 ++-- .../service/notification/NotificationTargetApiTest.java | 5 +++-- .../dao/notification/DefaultNotificationSettingsService.java | 5 +++++ .../server/dao/sql/notification/NotificationRepository.java | 1 + .../dao/sql/notification/NotificationRequestRepository.java | 2 ++ .../dao/sql/notification/NotificationRuleRepository.java | 2 ++ .../dao/sql/notification/NotificationTargetRepository.java | 2 ++ .../dao/sql/notification/NotificationTemplateRepository.java | 2 ++ 9 files changed, 20 insertions(+), 4 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java b/application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java index d1b95a3f06..bdbf584a3e 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/DefaultSystemDataLoaderService.java @@ -678,6 +678,7 @@ public class DefaultSystemDataLoaderService implements SystemDataLoaderService { @Override public void createDefaultNotificationConfigs() { + notificationSettingsService.createDefaultNotificationConfigs(TenantId.SYS_TENANT_ID); PageDataIterable tenants = new PageDataIterable<>(tenantService::findTenantsIds, 500); for (TenantId tenantId : tenants) { try { diff --git a/application/src/main/java/org/thingsboard/server/service/security/permission/Resource.java b/application/src/main/java/org/thingsboard/server/service/security/permission/Resource.java index 5b71530121..921f05b0d1 100644 --- a/application/src/main/java/org/thingsboard/server/service/security/permission/Resource.java +++ b/application/src/main/java/org/thingsboard/server/service/security/permission/Resource.java @@ -52,7 +52,7 @@ public enum Resource { private final Set entityTypes; Resource() { - this.entityTypes = null; + this.entityTypes = Collections.emptySet(); } Resource(EntityType... entityTypes) { @@ -60,7 +60,7 @@ public enum Resource { } public Set getEntityTypes() { - return Optional.ofNullable(entityTypes).orElse(Collections.emptySet()); + return entityTypes; } public static Resource of(EntityType entityType) { diff --git a/application/src/test/java/org/thingsboard/server/service/notification/NotificationTargetApiTest.java b/application/src/test/java/org/thingsboard/server/service/notification/NotificationTargetApiTest.java index e9d2007457..61e0531a39 100644 --- a/application/src/test/java/org/thingsboard/server/service/notification/NotificationTargetApiTest.java +++ b/application/src/test/java/org/thingsboard/server/service/notification/NotificationTargetApiTest.java @@ -29,6 +29,7 @@ import org.thingsboard.server.common.data.notification.targets.platform.Customer import org.thingsboard.server.common.data.notification.targets.platform.PlatformUsersNotificationTargetConfig; import org.thingsboard.server.common.data.notification.targets.platform.UserListFilter; import org.thingsboard.server.common.data.page.PageData; +import org.thingsboard.server.common.data.page.PageLink; import org.thingsboard.server.controller.AbstractControllerTest; import org.thingsboard.server.dao.notification.NotificationTargetDao; import org.thingsboard.server.dao.service.DaoSqlTest; @@ -141,10 +142,10 @@ public class NotificationTargetApiTest extends AbstractControllerTest { targetConfig.setUsersFilter(new AllUsersFilter()); notificationTarget.setConfiguration(targetConfig); save(notificationTarget, status().isOk()); - assertThat(notificationTargetDao.find(TenantId.SYS_TENANT_ID)).isNotEmpty(); + assertThat(notificationTargetDao.findByTenantIdAndPageLink(differentTenantId, new PageLink(10)).getData()).isNotEmpty(); deleteDifferentTenant(); - assertThat(notificationTargetDao.find(TenantId.SYS_TENANT_ID)).isEmpty(); + assertThat(notificationTargetDao.findByTenantIdAndPageLink(differentTenantId, new PageLink(10)).getData()).isEmpty(); } private String saveAndGetError(NotificationTarget notificationTarget, ResultMatcher statusMatcher) throws Exception { diff --git a/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java b/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java index 2d6defebc6..465c1a3125 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java +++ b/dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotificationSettingsService.java @@ -68,6 +68,11 @@ public class DefaultNotificationSettingsService implements NotificationSettingsS @Override public void createDefaultNotificationConfigs(TenantId tenantId) { + if (tenantId.equals(TenantId.SYS_TENANT_ID)) { + // TODO + return; + } + NotificationTarget allUsersTarget = new NotificationTarget(); allUsersTarget.setTenantId(tenantId); allUsersTarget.setName("All users"); diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationRepository.java index cdd542566e..1da2ebfcde 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationRepository.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationRepository.java @@ -55,6 +55,7 @@ public interface NotificationRepository extends JpaRepository findByTenantIdAndIdIn(UUID tenantId, List ids); + @Transactional void deleteByTenantId(UUID tenantId); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationTemplateRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationTemplateRepository.java index 837ea95ec1..860af9746a 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationTemplateRepository.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/notification/NotificationTemplateRepository.java @@ -21,6 +21,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; import org.thingsboard.server.common.data.notification.NotificationType; import org.thingsboard.server.dao.model.sql.NotificationTemplateEntity; @@ -39,6 +40,7 @@ public interface NotificationTemplateRepository extends JpaRepository