added search for oauth2 clients, domains, mobile apps
This commit is contained in:
parent
7a2a194074
commit
8093049555
@ -123,11 +123,11 @@ public class DomainServiceImpl extends AbstractEntityService implements DomainSe
|
||||
log.trace("Executing findDomainInfosByTenantId [{}]", tenantId);
|
||||
PageData<Domain> pageData = domainDao.findByTenantId(tenantId, pageLink);
|
||||
List<DomainInfo> domainInfos = new ArrayList<>();
|
||||
pageData.getData().stream().sorted(Comparator.comparing(BaseData::getUuidId)).forEach(domain -> {
|
||||
for (Domain domain : pageData.getData()) {
|
||||
domainInfos.add(new DomainInfo(domain, oauth2ClientDao.findByDomainId(domain.getUuidId()).stream()
|
||||
.map(OAuth2ClientInfo::new)
|
||||
.collect(Collectors.toList())));
|
||||
});
|
||||
}
|
||||
return new PageData<>(domainInfos, pageData.getTotalPages(), pageData.getTotalElements(), pageData.hasNext());
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@ import org.hibernate.exception.ConstraintViolationException;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.thingsboard.server.common.data.BaseData;
|
||||
import org.thingsboard.server.common.data.EntityType;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.HasId;
|
||||
@ -95,11 +94,11 @@ public class MobileAppServiceImpl extends AbstractEntityService implements Mobil
|
||||
log.trace("Executing findMobileAppInfosByTenantId [{}]", tenantId);
|
||||
PageData<MobileApp> pageData = mobileAppDao.findByTenantId(tenantId, pageLink);
|
||||
List<MobileAppInfo> mobileAppInfos = new ArrayList<>();
|
||||
pageData.getData().stream().sorted(Comparator.comparing(BaseData::getUuidId)).forEach(mobileApp -> {
|
||||
for (MobileApp mobileApp : pageData.getData()) {
|
||||
mobileAppInfos.add(new MobileAppInfo(mobileApp, oauth2ClientDao.findByMobileAppId(mobileApp.getUuidId()).stream()
|
||||
.map(OAuth2ClientInfo::new)
|
||||
.collect(Collectors.toList())));
|
||||
});
|
||||
}
|
||||
return new PageData<>(mobileAppInfos, pageData.getTotalPages(), pageData.getTotalElements(), pageData.hasNext());
|
||||
}
|
||||
|
||||
|
||||
@ -28,7 +28,11 @@ import java.util.UUID;
|
||||
|
||||
public interface DomainRepository extends JpaRepository<DomainEntity, UUID> {
|
||||
|
||||
Page<DomainEntity> findByTenantId(@Param("tenantId") UUID tenantId, Pageable pageable);
|
||||
@Query("SELECT d FROM DomainEntity d WHERE d.tenantId = :tenantId AND " +
|
||||
"(:searchText is NULL OR ilike(d.name, concat('%', :searchText, '%')) = true)")
|
||||
Page<DomainEntity> findByTenantId(@Param("tenantId") UUID tenantId,
|
||||
@Param("searchText") String searchText,
|
||||
Pageable pageable);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
|
||||
@ -57,7 +57,7 @@ public class JpaDomainDao extends JpaAbstractDao<DomainEntity, Domain> implement
|
||||
|
||||
@Override
|
||||
public PageData<Domain> findByTenantId(TenantId tenantId, PageLink pageLink) {
|
||||
return DaoUtil.toPageData(domainRepository.findByTenantId(tenantId.getId(), DaoUtil.toPageable(pageLink)));
|
||||
return DaoUtil.toPageData(domainRepository.findByTenantId(tenantId.getId(), pageLink.getTextSearch(), DaoUtil.toPageable(pageLink)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -57,7 +57,7 @@ public class JpaMobileAppDao extends JpaAbstractDao<MobileAppEntity, MobileApp>
|
||||
|
||||
@Override
|
||||
public PageData<MobileApp> findByTenantId(TenantId tenantId, PageLink pageLink) {
|
||||
return DaoUtil.toPageData(mobileAppRepository.findByTenantId(tenantId.getId(), DaoUtil.toPageable(pageLink)));
|
||||
return DaoUtil.toPageData(mobileAppRepository.findByTenantId(tenantId.getId(), pageLink.getTextSearch(), DaoUtil.toPageable(pageLink)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -28,7 +28,11 @@ import java.util.UUID;
|
||||
|
||||
public interface MobileAppRepository extends JpaRepository<MobileAppEntity, UUID> {
|
||||
|
||||
Page<MobileAppEntity> findByTenantId(@Param("tenantId") UUID tenantId, Pageable pageable);
|
||||
@Query("SELECT a FROM MobileAppEntity a WHERE a.tenantId = :tenantId AND " +
|
||||
"(:searchText is NULL OR ilike(a.pkgName, concat('%', :searchText, '%')) = true)")
|
||||
Page<MobileAppEntity> findByTenantId(@Param("tenantId") UUID tenantId,
|
||||
@Param("searchText") String searchText,
|
||||
Pageable pageable);
|
||||
|
||||
@Transactional
|
||||
@Modifying
|
||||
|
||||
@ -52,7 +52,7 @@ public class JpaOAuth2ClientDao extends JpaAbstractDao<OAuth2ClientEntity, OAuth
|
||||
|
||||
@Override
|
||||
public PageData<OAuth2Client> findByTenantId(UUID tenantId, PageLink pageLink) {
|
||||
return DaoUtil.toPageData(repository.findByTenantId(tenantId, DaoUtil.toPageable(pageLink)));
|
||||
return DaoUtil.toPageData(repository.findByTenantId(tenantId, pageLink.getTextSearch(), DaoUtil.toPageable(pageLink)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -29,13 +29,17 @@ import java.util.UUID;
|
||||
|
||||
public interface OAuth2ClientRepository extends JpaRepository<OAuth2ClientEntity, UUID> {
|
||||
|
||||
Page<OAuth2ClientEntity> findByTenantId(@Param("tenantId") UUID tenantId, Pageable pageable);
|
||||
@Query("SELECT с FROM OAuth2ClientEntity с WHERE с.tenantId = :tenantId AND " +
|
||||
"(:searchText is NULL OR ilike(с.title, concat('%', :searchText, '%')) = true)")
|
||||
Page<OAuth2ClientEntity> findByTenantId(@Param("tenantId") UUID tenantId,
|
||||
@Param("searchText") String searchText,
|
||||
Pageable pageable);
|
||||
|
||||
@Query("SELECT c " +
|
||||
"FROM OAuth2ClientEntity c " +
|
||||
"LEFT JOIN DomainOauth2ClientEntity dc on c.id = dc.oauth2ClientId " +
|
||||
"LEFT JOIN DomainEntity domain on dc.domainId = domain.id " +
|
||||
"AND domain.name = :domainName " +
|
||||
"WHERE domain.name = :domainName " +
|
||||
"AND (:platformFilter IS NULL OR c.platforms IS NULL OR c.platforms = '' OR c.platforms LIKE :platformFilter)")
|
||||
List<OAuth2ClientEntity> findEnabledByDomainNameAndPlatformType(@Param("domainName") String domainName,
|
||||
@Param("platformFilter") String platformFilter);
|
||||
@ -44,7 +48,7 @@ public interface OAuth2ClientRepository extends JpaRepository<OAuth2ClientEntity
|
||||
"FROM OAuth2ClientEntity c " +
|
||||
"LEFT JOIN MobileAppOauth2ClientEntity mc on c.id = mc.oauth2ClientId " +
|
||||
"LEFT JOIN MobileAppEntity app on mc.mobileAppId = app.id " +
|
||||
"AND app.pkgName = :pkgName " +
|
||||
"WHERE app.pkgName = :pkgName " +
|
||||
"AND (:platformFilter IS NULL OR c.platforms IS NULL OR c.platforms = '' OR c.platforms LIKE :platformFilter)")
|
||||
List<OAuth2ClientEntity> findEnabledByPkgNameAndPlatformType(@Param("pkgName") String pkgName,
|
||||
@Param("platformFilter") String platformFilter);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user