Fix AdminSettings api

This commit is contained in:
Viacheslav Klimov 2022-06-06 11:45:08 +03:00
parent 5a00d8365c
commit 7131f6ffa8
3 changed files with 12 additions and 2 deletions

View File

@ -39,7 +39,7 @@ public abstract class TbAbstractVersionControlSettingsService<T extends Serializ
public T get(TenantId tenantId) { public T get(TenantId tenantId) {
return cache.getAndPutInTransaction(tenantId, () -> { return cache.getAndPutInTransaction(tenantId, () -> {
AdminSettings adminSettings = adminSettingsService.findAdminSettingsByKey(tenantId, settingsKey); AdminSettings adminSettings = adminSettingsService.findAdminSettingsByTenantIdAndKey(tenantId, settingsKey);
if (adminSettings != null) { if (adminSettings != null) {
try { try {
return JacksonUtil.convertValue(adminSettings.getJsonValue(), clazz); return JacksonUtil.convertValue(adminSettings.getJsonValue(), clazz);
@ -52,7 +52,7 @@ public abstract class TbAbstractVersionControlSettingsService<T extends Serializ
} }
public T save(TenantId tenantId, T settings) { public T save(TenantId tenantId, T settings) {
AdminSettings adminSettings = adminSettingsService.findAdminSettingsByKey(tenantId, settingsKey); AdminSettings adminSettings = adminSettingsService.findAdminSettingsByTenantIdAndKey(tenantId, settingsKey);
if (adminSettings == null) { if (adminSettings == null) {
adminSettings = new AdminSettings(); adminSettings = new AdminSettings();
adminSettings.setKey(settingsKey); adminSettings.setKey(settingsKey);

View File

@ -25,6 +25,8 @@ public interface AdminSettingsService {
AdminSettings findAdminSettingsByKey(TenantId tenantId, String key); AdminSettings findAdminSettingsByKey(TenantId tenantId, String key);
AdminSettings findAdminSettingsByTenantIdAndKey(TenantId tenantId, String key);
AdminSettings saveAdminSettings(TenantId tenantId, AdminSettings adminSettings); AdminSettings saveAdminSettings(TenantId tenantId, AdminSettings adminSettings);
boolean deleteAdminSettings(TenantId tenantId, String key); boolean deleteAdminSettings(TenantId tenantId, String key);

View File

@ -46,6 +46,11 @@ public class AdminSettingsServiceImpl implements AdminSettingsService {
public AdminSettings findAdminSettingsByKey(TenantId tenantId, String key) { public AdminSettings findAdminSettingsByKey(TenantId tenantId, String key) {
log.trace("Executing findAdminSettingsByKey [{}]", key); log.trace("Executing findAdminSettingsByKey [{}]", key);
Validator.validateString(key, "Incorrect key " + 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); 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()); ((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); return adminSettingsDao.save(tenantId, adminSettings);
} }