Implement of method to find dashboard by name and tenant ID, used to find correct dashboard in case multiple dashboard start with the same name.
This commit is contained in:
parent
8b70cbdb55
commit
7975e2a96a
@ -31,7 +31,6 @@ import org.thingsboard.server.common.data.Tenant;
|
||||
import org.thingsboard.server.common.data.User;
|
||||
import org.thingsboard.server.common.data.id.CustomerId;
|
||||
import org.thingsboard.server.common.data.id.DashboardId;
|
||||
import org.thingsboard.server.common.data.id.IdBased;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.oauth2.OAuth2MapperConfig;
|
||||
import org.thingsboard.server.common.data.oauth2.OAuth2Registration;
|
||||
@ -206,11 +205,7 @@ public abstract class AbstractOAuth2ClientMapper {
|
||||
}
|
||||
|
||||
private Optional<DashboardId> getDashboardId(TenantId tenantId, String dashboardName) {
|
||||
PageLink searchTextLink = new PageLink(1, 0, dashboardName);
|
||||
PageData<DashboardInfo> dashboardsPage = dashboardService.findDashboardsByTenantId(tenantId, searchTextLink);
|
||||
return dashboardsPage.getData().stream()
|
||||
.findAny()
|
||||
.map(IdBased::getId);
|
||||
return Optional.of(dashboardService.findFirstDashboardInfoByTenantIdAndName(tenantId, dashboardName).getId());
|
||||
}
|
||||
|
||||
private Optional<DashboardId> getDashboardId(TenantId tenantId, CustomerId customerId, String dashboardName) {
|
||||
|
||||
@ -58,4 +58,6 @@ public interface DashboardService {
|
||||
Dashboard unassignDashboardFromEdge(TenantId tenantId, DashboardId dashboardId, EdgeId edgeId);
|
||||
|
||||
PageData<DashboardInfo> findDashboardsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, PageLink pageLink);
|
||||
|
||||
DashboardInfo findFirstDashboardInfoByTenantIdAndName(TenantId tenantId, String name);
|
||||
}
|
||||
|
||||
@ -56,4 +56,6 @@ public interface DashboardInfoDao extends Dao<DashboardInfo> {
|
||||
*/
|
||||
PageData<DashboardInfo> findDashboardsByTenantIdAndEdgeId(UUID tenantId, UUID edgeId, PageLink pageLink);
|
||||
|
||||
DashboardInfo findFirstByTenantIdAndName(UUID tenantId, String name);
|
||||
|
||||
}
|
||||
|
||||
@ -34,7 +34,6 @@ import org.thingsboard.server.common.data.id.EdgeId;
|
||||
import org.thingsboard.server.common.data.id.TenantId;
|
||||
import org.thingsboard.server.common.data.page.PageData;
|
||||
import org.thingsboard.server.common.data.page.PageLink;
|
||||
import org.thingsboard.server.common.data.page.TimePageLink;
|
||||
import org.thingsboard.server.common.data.relation.EntityRelation;
|
||||
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
||||
import org.thingsboard.server.common.data.tenant.profile.DefaultTenantProfileConfiguration;
|
||||
@ -269,6 +268,11 @@ public class DashboardServiceImpl extends AbstractEntityService implements Dashb
|
||||
return dashboardInfoDao.findDashboardsByTenantIdAndEdgeId(tenantId.getId(), edgeId.getId(), pageLink);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DashboardInfo findFirstDashboardInfoByTenantIdAndName(TenantId tenantId, String name) {
|
||||
return dashboardInfoDao.findFirstByTenantIdAndName(tenantId.getId(), name);
|
||||
}
|
||||
|
||||
private DataValidator<Dashboard> dashboardValidator =
|
||||
new DataValidator<Dashboard>() {
|
||||
@Override
|
||||
|
||||
@ -29,6 +29,9 @@ import java.util.UUID;
|
||||
*/
|
||||
public interface DashboardInfoRepository extends PagingAndSortingRepository<DashboardInfoEntity, UUID> {
|
||||
|
||||
DashboardInfoEntity findFirstByTenantIdAndTitle(@Param("tenantId") UUID tenantId,
|
||||
@Param("name") String title);
|
||||
|
||||
@Query("SELECT di FROM DashboardInfoEntity di WHERE di.tenantId = :tenantId " +
|
||||
"AND LOWER(di.searchText) LIKE LOWER(CONCAT(:searchText, '%'))")
|
||||
Page<DashboardInfoEntity> findByTenantId(@Param("tenantId") UUID tenantId,
|
||||
|
||||
@ -83,4 +83,9 @@ public class JpaDashboardInfoDao extends JpaAbstractSearchTextDao<DashboardInfoE
|
||||
Objects.toString(pageLink.getTextSearch(), ""),
|
||||
DaoUtil.toPageable(pageLink)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public DashboardInfo findFirstByTenantIdAndName(UUID tenantId, String name) {
|
||||
return DaoUtil.getData(dashboardInfoRepository.findFirstByTenantIdAndTitle(tenantId, name));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user