added sql upgrade script

This commit is contained in:
dashevchenko 2023-02-07 13:59:17 +02:00
parent f214864503
commit c3d4925e48
7 changed files with 40 additions and 28 deletions

View File

@ -0,0 +1,21 @@
--
-- Copyright © 2016-2023 The Thingsboard Authors
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--
CREATE TABLE IF NOT EXISTS user_settings (
user_id uuid NOT NULL CONSTRAINT user_settings_pkey PRIMARY KEY,
settings varchar(10000),
CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES tb_user(id) ON DELETE CASCADE
);

View File

@ -42,7 +42,6 @@ import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.UUID; import java.util.UUID;
@EqualsAndHashCode
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@TypeDef(name = "json", typeClass = JsonStringType.class) @TypeDef(name = "json", typeClass = JsonStringType.class)

View File

@ -48,17 +48,17 @@ public class JpaUserSettingsDao extends JpaAbstractDaoListeningExecutorService i
private UserSettingsRepository userSettingsRepository; private UserSettingsRepository userSettingsRepository;
@Override @Override
public UserSettings saveSettings(TenantId tenantId, UserSettings userSettings) { public UserSettings save(TenantId tenantId, UserSettings userSettings) {
return DaoUtil.getData(userSettingsRepository.save(new UserSettingsEntity(userSettings))); return DaoUtil.getData(userSettingsRepository.save(new UserSettingsEntity(userSettings)));
} }
@Override @Override
public UserSettings findByUserId(TenantId tenantId, UserId userId) { public UserSettings findById(TenantId tenantId, UserId userId) {
return DaoUtil.getData(userSettingsRepository.findById(userId.getId())); return DaoUtil.getData(userSettingsRepository.findById(userId.getId()));
} }
@Override @Override
public void removeByUserId(TenantId tenantId, UserId userId) { public void removeById(TenantId tenantId, UserId userId) {
userSettingsRepository.deleteById(userId.getId()); userSettingsRepository.deleteById(userId.getId());
} }

View File

@ -17,20 +17,14 @@ package org.thingsboard.server.dao.sql.user;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.thingsboard.server.common.data.security.UserSettings; import org.thingsboard.server.common.data.security.UserSettings;
import org.thingsboard.server.dao.model.sql.UserCredentialsEntity;
import org.thingsboard.server.dao.model.sql.UserSettingsEntity; import org.thingsboard.server.dao.model.sql.UserSettingsEntity;
import java.util.UUID; import java.util.UUID;
/**
* Created by Valerii Sosliuk on 4/22/2017.
*/
public interface UserSettingsRepository extends JpaRepository<UserSettingsEntity, UUID> { public interface UserSettingsRepository extends JpaRepository<UserSettingsEntity, UUID> {
UserSettingsEntity save(UserSettings saveSettings); // UserSettingsEntity save(UserSettings saveSettings);
//
UserSettingsEntity findByUserId(UUID userId); // UserSettingsEntity findByUserId(UUID userId);
UserSettingsEntity deleteByUserId(UUID userId);
} }

View File

@ -326,23 +326,23 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
@Override @Override
public UserSettings saveUserSettings(TenantId tenantId, UserId userId, UserSettings userSettings) { public UserSettings saveUserSettings(TenantId tenantId, UserId userId, UserSettings userSettings) {
log.trace("Executing saveUserSettings [{}], [{}]", userId, userSettings); log.trace("Executing saveUserSettings for user [{}], [{}]", userId, userSettings);
validateId(userId, INCORRECT_USER_ID + userId); validateId(userId, INCORRECT_USER_ID + userId);
return userSettingsDao.saveSettings(tenantId, userSettings); return userSettingsDao.save(tenantId, userSettings);
} }
@Override @Override
public UserSettings findUserSettings(TenantId tenantId, UserId userId) { public UserSettings findUserSettings(TenantId tenantId, UserId userId) {
log.trace("Executing findUserSettings [{}]", userId); log.trace("Executing findUserSettings for user [{}]", userId);
validateId(userId, INCORRECT_USER_ID + userId); validateId(userId, INCORRECT_USER_ID + userId);
return userSettingsDao.findByUserId(tenantId, userId); return userSettingsDao.findById(tenantId, userId);
} }
@Override @Override
public void deleteUserSettings(TenantId tenantId, UserId userId) { public void deleteUserSettings(TenantId tenantId, UserId userId) {
log.trace("Executing deleteUserSettings for user [{}]", userId); log.trace("Executing deleteUserSettings for user [{}]", userId);
validateId(userId, INCORRECT_USER_ID + userId); validateId(userId, INCORRECT_USER_ID + userId);
userSettingsDao.removeByUserId(tenantId, userId); userSettingsDao.removeById(tenantId, userId);
} }
private int increaseFailedLoginAttempts(User user) { private int increaseFailedLoginAttempts(User user) {

View File

@ -17,16 +17,14 @@ package org.thingsboard.server.dao.user;
import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.UserId; import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.security.UserAuthSettings;
import org.thingsboard.server.common.data.security.UserSettings; import org.thingsboard.server.common.data.security.UserSettings;
import org.thingsboard.server.dao.Dao;
public interface UserSettingsDao { public interface UserSettingsDao {
UserSettings saveSettings(TenantId tenantId, UserSettings userSettings); UserSettings save(TenantId tenantId, UserSettings userSettings);
UserSettings findByUserId(TenantId tenantId, UserId userId); UserSettings findById(TenantId tenantId, UserId userId);
void removeByUserId(TenantId tenantId, UserId userId); void removeById(TenantId tenantId, UserId userId);
} }

View File

@ -67,15 +67,15 @@ public class JpaUserSettingsDaoTest extends AbstractJpaDaoTest {
} }
@Test @Test
public void testFindSettingsByTenantAdminUserId() { public void testFindSettingsByUserId() {
UserSettings userSettings = createUserSettings(user.getId()); UserSettings userSettings = createUserSettings(user.getId());
UserSettings retrievedUserSettings = userSettingsDao.findByUserId(SYSTEM_TENANT_ID, user.getId()); UserSettings retrievedUserSettings = userSettingsDao.findById(SYSTEM_TENANT_ID, user.getId());
assertEquals(retrievedUserSettings.getSettings(), userSettings.getSettings()); assertEquals(retrievedUserSettings.getSettings(), userSettings.getSettings());
userSettingsDao.removeByUserId(SYSTEM_TENANT_ID, user.getId()); userSettingsDao.removeById(SYSTEM_TENANT_ID, user.getId());
UserSettings retrievedUserSettings2 = userSettingsDao.findByUserId(SYSTEM_TENANT_ID, user.getId()); UserSettings retrievedUserSettings2 = userSettingsDao.findById(SYSTEM_TENANT_ID, user.getId());
assertNull(retrievedUserSettings2); assertNull(retrievedUserSettings2);
} }
@ -83,7 +83,7 @@ public class JpaUserSettingsDaoTest extends AbstractJpaDaoTest {
UserSettings userSettings = new UserSettings(); UserSettings userSettings = new UserSettings();
userSettings.setSettings(JacksonUtil.newObjectNode().put("text", RandomStringUtils.randomAlphanumeric(10))); userSettings.setSettings(JacksonUtil.newObjectNode().put("text", RandomStringUtils.randomAlphanumeric(10)));
userSettings.setUserId(userId); userSettings.setUserId(userId);
return userSettingsDao.saveSettings(SYSTEM_TENANT_ID, userSettings); return userSettingsDao.save(SYSTEM_TENANT_ID, userSettings);
} }
private User saveUser(UUID tenantId, UUID customerId) { private User saveUser(UUID tenantId, UUID customerId) {