From afe1365b0d6df54623c7e8f836088cad6ac2cd16 Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Thu, 5 Sep 2024 12:46:25 +0300 Subject: [PATCH 1/4] added sorting by title for oauth2 clients --- .../org/thingsboard/server/dao/domain/DomainServiceImpl.java | 2 ++ .../org/thingsboard/server/dao/mobile/MobileAppServiceImpl.java | 2 ++ .../thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java | 2 ++ 3 files changed, 6 insertions(+) diff --git a/dao/src/main/java/org/thingsboard/server/dao/domain/DomainServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/domain/DomainServiceImpl.java index b7a13313b7..8a735303a7 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/domain/DomainServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/domain/DomainServiceImpl.java @@ -36,6 +36,7 @@ import org.thingsboard.server.dao.eventsourcing.DeleteEntityEvent; import org.thingsboard.server.dao.eventsourcing.SaveEntityEvent; import org.thingsboard.server.dao.oauth2.OAuth2ClientDao; +import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -149,6 +150,7 @@ public class DomainServiceImpl extends AbstractEntityService implements DomainSe } List clients = oauth2ClientDao.findByDomainId(domain.getUuidId()).stream() .map(OAuth2ClientInfo::new) + .sorted(Comparator.comparing(OAuth2ClientInfo::getTitle)) .collect(Collectors.toList()); return new DomainInfo(domain, clients); } 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 1e89b3c645..66431a38dc 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 @@ -36,6 +36,7 @@ import org.thingsboard.server.dao.eventsourcing.DeleteEntityEvent; import org.thingsboard.server.dao.eventsourcing.SaveEntityEvent; import org.thingsboard.server.dao.oauth2.OAuth2ClientDao; +import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -143,6 +144,7 @@ public class MobileAppServiceImpl extends AbstractEntityService implements Mobil private MobileAppInfo getMobileAppInfo(MobileApp mobileApp) { List clients = oauth2ClientDao.findByMobileAppId(mobileApp.getUuidId()).stream() .map(OAuth2ClientInfo::new) + .sorted(Comparator.comparing(OAuth2ClientInfo::getTitle)) .collect(Collectors.toList()); return new MobileAppInfo(mobileApp, clients); } diff --git a/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java index 6ab4909421..52d2693d48 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java @@ -35,6 +35,7 @@ import org.thingsboard.server.dao.eventsourcing.DeleteEntityEvent; import org.thingsboard.server.dao.eventsourcing.SaveEntityEvent; import org.thingsboard.server.dao.service.DataValidator; +import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -126,6 +127,7 @@ public class OAuth2ClientServiceImpl extends AbstractEntityService implements OA return oauth2ClientDao.findByIds(tenantId.getId(), oAuth2ClientIds) .stream() .map(OAuth2ClientInfo::new) + .sorted(Comparator.comparing(OAuth2ClientInfo::getTitle)) .collect(Collectors.toList()); } From e832839a2ea5d1aaa632f0c990b504aee006b51a Mon Sep 17 00:00:00 2001 From: rusikv Date: Thu, 5 Sep 2024 14:05:19 +0300 Subject: [PATCH 2/4] UI: removed provider column from oauth2 clients table --- .../admin/oauth2/clients/clients-table-config.resolver.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.ts b/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.ts index d1d760d908..bace031fde 100644 --- a/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.ts +++ b/ui-ngx/src/app/modules/home/pages/admin/oauth2/clients/clients-table-config.resolver.ts @@ -66,8 +66,7 @@ export class ClientsTableConfigResolver implements Resolve('createdTime', 'common.created-time', this.datePipe, '170px'), - new EntityTableColumn('title', 'admin.oauth2.title', '170px'), - new EntityTableColumn('providerName', 'admin.oauth2.provider', '170px'), + new EntityTableColumn('title', 'admin.oauth2.title', '350px'), new EntityTableColumn('platforms', 'admin.oauth2.allowed-platforms', '100%', (clientInfo) => { return clientInfo.platforms && clientInfo.platforms.length ? From 452dca81475addbe1eb3636d0329217c8d196ebd Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Thu, 5 Sep 2024 15:03:01 +0300 Subject: [PATCH 3/4] deleted redundant annotations --- .../thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java index 52d2693d48..880329335c 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/oauth2/OAuth2ClientServiceImpl.java @@ -69,7 +69,6 @@ public class OAuth2ClientServiceImpl extends AbstractEntityService implements OA } @Override - @Transactional public OAuth2Client saveOAuth2Client(TenantId tenantId, OAuth2Client oAuth2Client) { log.trace("Executing saveOAuth2Client [{}]", oAuth2Client); oAuth2ClientDataValidator.validate(oAuth2Client, OAuth2Client::getTenantId); @@ -97,7 +96,6 @@ public class OAuth2ClientServiceImpl extends AbstractEntityService implements OA } @Override - @Transactional public void deleteOAuth2ClientById(TenantId tenantId, OAuth2ClientId oAuth2ClientId) { log.trace("Executing deleteOAuth2ClientById [{}]", oAuth2ClientId); oauth2ClientDao.removeById(tenantId, oAuth2ClientId.getId()); From c84b2fc3de5040fbbfbb6f06d320f703353a9868 Mon Sep 17 00:00:00 2001 From: dashevchenko Date: Fri, 6 Sep 2024 15:21:36 +0300 Subject: [PATCH 4/4] fixed tests --- .../thingsboard/server/controller/DomainControllerTest.java | 4 ++-- .../server/controller/MobileAppControllerTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/application/src/test/java/org/thingsboard/server/controller/DomainControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/DomainControllerTest.java index c899aeeddb..aed4a06fc8 100644 --- a/application/src/test/java/org/thingsboard/server/controller/DomainControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/DomainControllerTest.java @@ -107,8 +107,8 @@ public class DomainControllerTest extends AbstractControllerTest { doPut("/api/domain/" + savedDomain.getId() + "/oauth2Clients", List.of(savedOAuth2Client.getId().getId(), savedOAuth2Client2.getId().getId())); DomainInfo retrievedDomainInfo = doGet("/api/domain/info/{id}", DomainInfo.class, savedDomain.getId().getId()); - assertThat(retrievedDomainInfo).isEqualTo(new DomainInfo(savedDomain, List.of(new OAuth2ClientInfo(savedOAuth2Client), - new OAuth2ClientInfo(savedOAuth2Client2)))); + assertThat(retrievedDomainInfo).isEqualTo(new DomainInfo(savedDomain, List.of(new OAuth2ClientInfo(savedOAuth2Client2), + new OAuth2ClientInfo(savedOAuth2Client)))); doPut("/api/domain/" + savedDomain.getId() + "/oauth2Clients", List.of(savedOAuth2Client2.getId().getId())); DomainInfo retrievedDomainInfo2 = doGet("/api/domain/info/{id}", DomainInfo.class, savedDomain.getId().getId()); diff --git a/application/src/test/java/org/thingsboard/server/controller/MobileAppControllerTest.java b/application/src/test/java/org/thingsboard/server/controller/MobileAppControllerTest.java index d19178242a..6fd2d62d14 100644 --- a/application/src/test/java/org/thingsboard/server/controller/MobileAppControllerTest.java +++ b/application/src/test/java/org/thingsboard/server/controller/MobileAppControllerTest.java @@ -109,8 +109,8 @@ public class MobileAppControllerTest extends AbstractControllerTest { doPut("/api/mobileApp/" + savedMobileApp.getId() + "/oauth2Clients", List.of(savedOAuth2Client.getId().getId(), savedOAuth2Client2.getId().getId())); MobileAppInfo retrievedMobileAppInfo = doGet("/api/mobileApp/info/{id}", MobileAppInfo.class, savedMobileApp.getId().getId()); - assertThat(retrievedMobileAppInfo).isEqualTo(new MobileAppInfo(savedMobileApp, List.of(new OAuth2ClientInfo(savedOAuth2Client), - new OAuth2ClientInfo(savedOAuth2Client2)))); + assertThat(retrievedMobileAppInfo).isEqualTo(new MobileAppInfo(savedMobileApp, List.of(new OAuth2ClientInfo(savedOAuth2Client2), + new OAuth2ClientInfo(savedOAuth2Client)))); doPut("/api/mobileApp/" + savedMobileApp.getId() + "/oauth2Clients", List.of(savedOAuth2Client2.getId().getId())); MobileAppInfo retrievedMobileAppInfo2 = doGet("/api/mobileApp/info/{id}", MobileAppInfo.class, savedMobileApp.getId().getId());