Browse Source
Merge pull request #6641 from ViacheslavKlimov/fix/admin-settings-api
Fix AdminSettings api
pull/6654/head
Andrew Shvayka
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
12 additions and
2 deletions
-
application/src/main/java/org/thingsboard/server/service/sync/vc/TbAbstractVersionControlSettingsService.java
-
common/dao-api/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsService.java
-
dao/src/main/java/org/thingsboard/server/dao/settings/AdminSettingsServiceImpl.java
|
|
|
@ -39,7 +39,7 @@ public abstract class TbAbstractVersionControlSettingsService<T extends Serializ |
|
|
|
|
|
|
|
public T get(TenantId tenantId) { |
|
|
|
return cache.getAndPutInTransaction(tenantId, () -> { |
|
|
|
AdminSettings adminSettings = adminSettingsService.findAdminSettingsByKey(tenantId, settingsKey); |
|
|
|
AdminSettings adminSettings = adminSettingsService.findAdminSettingsByTenantIdAndKey(tenantId, settingsKey); |
|
|
|
if (adminSettings != null) { |
|
|
|
try { |
|
|
|
return JacksonUtil.convertValue(adminSettings.getJsonValue(), clazz); |
|
|
|
@ -52,7 +52,7 @@ public abstract class TbAbstractVersionControlSettingsService<T extends Serializ |
|
|
|
} |
|
|
|
|
|
|
|
public T save(TenantId tenantId, T settings) { |
|
|
|
AdminSettings adminSettings = adminSettingsService.findAdminSettingsByKey(tenantId, settingsKey); |
|
|
|
AdminSettings adminSettings = adminSettingsService.findAdminSettingsByTenantIdAndKey(tenantId, settingsKey); |
|
|
|
if (adminSettings == null) { |
|
|
|
adminSettings = new AdminSettings(); |
|
|
|
adminSettings.setKey(settingsKey); |
|
|
|
|
|
|
|
@ -25,6 +25,8 @@ public interface AdminSettingsService { |
|
|
|
|
|
|
|
AdminSettings findAdminSettingsByKey(TenantId tenantId, String key); |
|
|
|
|
|
|
|
AdminSettings findAdminSettingsByTenantIdAndKey(TenantId tenantId, String key); |
|
|
|
|
|
|
|
AdminSettings saveAdminSettings(TenantId tenantId, AdminSettings adminSettings); |
|
|
|
|
|
|
|
boolean deleteAdminSettings(TenantId tenantId, String key); |
|
|
|
|
|
|
|
@ -46,6 +46,11 @@ public class AdminSettingsServiceImpl implements AdminSettingsService { |
|
|
|
public AdminSettings findAdminSettingsByKey(TenantId tenantId, String key) { |
|
|
|
log.trace("Executing findAdminSettingsByKey [{}]", key); |
|
|
|
Validator.validateString(key, "Incorrect key " + key); |
|
|
|
return findAdminSettingsByTenantIdAndKey(TenantId.SYS_TENANT_ID, key); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public AdminSettings findAdminSettingsByTenantIdAndKey(TenantId tenantId, String key) { |
|
|
|
return adminSettingsDao.findByTenantIdAndKey(tenantId.getId(), key); |
|
|
|
} |
|
|
|
|
|
|
|
@ -59,6 +64,9 @@ public class AdminSettingsServiceImpl implements AdminSettingsService { |
|
|
|
((ObjectNode) adminSettings.getJsonValue()).put("password", mailSettings.getJsonValue().get("password").asText()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (adminSettings.getTenantId() == null) { |
|
|
|
adminSettings.setTenantId(TenantId.SYS_TENANT_ID); |
|
|
|
} |
|
|
|
return adminSettingsDao.save(tenantId, adminSettings); |
|
|
|
} |
|
|
|
|
|
|
|
|