From 1982bea6a776948be2a9175a69719386f56467b1 Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Tue, 29 Oct 2024 13:00:40 +0200 Subject: [PATCH] code refactoring --- .../server/controller/OAuth2Controller.java | 4 ++-- .../server/controller/QrCodeSettingsController.java | 7 +------ .../server/dao/mobile/MobileAppBundleServiceImpl.java | 5 +++++ .../server/dao/mobile/MobileAppServiceImpl.java | 10 +++++++--- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/controller/OAuth2Controller.java b/application/src/main/java/org/thingsboard/server/controller/OAuth2Controller.java index c6bd551b7d..59c46fb1da 100644 --- a/application/src/main/java/org/thingsboard/server/controller/OAuth2Controller.java +++ b/application/src/main/java/org/thingsboard/server/controller/OAuth2Controller.java @@ -133,7 +133,7 @@ public class OAuth2Controller extends BaseController { } @ApiOperation(value = "Get OAuth2 Client infos By Ids (findTenantOAuth2ClientInfosByIds)", - notes = "Fetch OAuth2 Client info objects based on the provided ids. ") + notes = "Fetch OAuth2 Client info objects based on the provided ids. " + SYSTEM_OR_TENANT_AUTHORITY_PARAGRAPH) @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')") @GetMapping(value = "/oauth2/client/infos", params = {"clientIds"}) public List findTenantOAuth2ClientInfosByIds( @@ -164,7 +164,7 @@ public class OAuth2Controller extends BaseController { @ApiOperation(value = "Get OAuth2 log in processing URL (getLoginProcessingUrl)", notes = "Returns the URL enclosed in " + "double quotes. After successful authentication with OAuth2 provider, it makes a redirect to this path so that the platform can do " + "further log in processing. This URL may be configured as 'security.oauth2.loginProcessingUrl' property in yml configuration file, or " + - "as 'SECURITY_OAUTH2_LOGIN_PROCESSING_URL' env variable. By default it is '/login/oauth2/code/'" + SYSTEM_AUTHORITY_PARAGRAPH) + "as 'SECURITY_OAUTH2_LOGIN_PROCESSING_URL' env variable. By default it is '/login/oauth2/code/'" + SYSTEM_OR_TENANT_AUTHORITY_PARAGRAPH) @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')") @GetMapping(value = "/oauth2/loginProcessingUrl") public String getLoginProcessingUrl() { diff --git a/application/src/main/java/org/thingsboard/server/controller/QrCodeSettingsController.java b/application/src/main/java/org/thingsboard/server/controller/QrCodeSettingsController.java index 0eeb9de92c..3e3ffe9f20 100644 --- a/application/src/main/java/org/thingsboard/server/controller/QrCodeSettingsController.java +++ b/application/src/main/java/org/thingsboard/server/controller/QrCodeSettingsController.java @@ -151,12 +151,7 @@ public class QrCodeSettingsController extends BaseController { String baseUrl = systemSecurityService.getBaseUrl(TenantId.SYS_TENANT_ID, null, request); String platformDomain = new URI(baseUrl).getHost(); QrCodeSettings qrCodeSettings = qrCodeSettingService.findQrCodeSettings(TenantId.SYS_TENANT_ID); - String appDomain; - if (!qrCodeSettings.isUseDefaultApp()) { - appDomain = platformDomain; - } else { - appDomain = defaultAppDomain; - } + String appDomain = qrCodeSettings.isUseDefaultApp() ? defaultAppDomain : platformDomain; String deepLink = String.format(DEEP_LINK_PATTERN, appDomain, secret, mobileSecretKeyTtl); if (!appDomain.equals(platformDomain)) { deepLink = deepLink + "&host=" + baseUrl; diff --git a/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppBundleServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppBundleServiceImpl.java index 87ed77c7c9..49adb2f5bc 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppBundleServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppBundleServiceImpl.java @@ -45,10 +45,14 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import static org.thingsboard.server.dao.service.Validator.checkNotNull; + @Slf4j @Service public class MobileAppBundleServiceImpl extends AbstractEntityService implements MobileAppBundleService { + private static final String PLATFORM_TYPE_IS_REQUIRED = "Platform type is required if package name is specified"; + @Autowired private OAuth2ClientDao oauth2ClientDao; @Autowired @@ -136,6 +140,7 @@ public class MobileAppBundleServiceImpl extends AbstractEntityService implements @Override public MobileAppBundle findMobileAppBundleByPkgNameAndPlatform(TenantId tenantId, String pkgName, PlatformType platform) { log.trace("Executing findMobileAppBundleByPkgNameAndPlatform, tenantId [{}], pkgName [{}], platform [{}]", tenantId, pkgName, platform); + checkNotNull(platform, PLATFORM_TYPE_IS_REQUIRED); return mobileAppBundleDao.findByPkgNameAndPlatform(tenantId, pkgName, platform); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppServiceImpl.java index 55c2fa0383..7852fb07f1 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/mobile/MobileAppServiceImpl.java @@ -33,6 +33,7 @@ import org.thingsboard.server.dao.entity.AbstractEntityService; import org.thingsboard.server.dao.eventsourcing.DeleteEntityEvent; import org.thingsboard.server.dao.eventsourcing.SaveEntityEvent; import org.thingsboard.server.dao.service.DataValidator; +import org.thingsboard.server.dao.service.Validator; import java.util.Map; import java.util.Optional; @@ -41,6 +42,8 @@ import java.util.Optional; @Service public class MobileAppServiceImpl extends AbstractEntityService implements MobileAppService { + private static final String PLATFORM_TYPE_IS_REQUIRED = "Platform type is required if package name is specified"; + @Autowired private MobileAppDao mobileAppDao; @Autowired @@ -104,9 +107,10 @@ public class MobileAppServiceImpl extends AbstractEntityService implements Mobil } @Override - public MobileApp findMobileAppByPkgNameAndPlatformType(String pkgName, PlatformType platform) { - log.trace("Executing findMobileAppByPkgNameAndPlatformType, pkgName [{}], platform [{}]", pkgName, platform); - return mobileAppDao.findByPkgNameAndPlatformType(TenantId.SYS_TENANT_ID, pkgName, platform); + public MobileApp findMobileAppByPkgNameAndPlatformType(String pkgName, PlatformType platformType) { + log.trace("Executing findMobileAppByPkgNameAndPlatformType, pkgName [{}], platform [{}]", pkgName, platformType); + Validator.checkNotNull(platformType, PLATFORM_TYPE_IS_REQUIRED); + return mobileAppDao.findByPkgNameAndPlatformType(TenantId.SYS_TENANT_ID, pkgName, platformType); } @Override