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.User;
|
||||||
import org.thingsboard.server.common.data.id.CustomerId;
|
import org.thingsboard.server.common.data.id.CustomerId;
|
||||||
import org.thingsboard.server.common.data.id.DashboardId;
|
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.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.oauth2.OAuth2MapperConfig;
|
import org.thingsboard.server.common.data.oauth2.OAuth2MapperConfig;
|
||||||
import org.thingsboard.server.common.data.oauth2.OAuth2Registration;
|
import org.thingsboard.server.common.data.oauth2.OAuth2Registration;
|
||||||
@ -206,11 +205,7 @@ public abstract class AbstractOAuth2ClientMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Optional<DashboardId> getDashboardId(TenantId tenantId, String dashboardName) {
|
private Optional<DashboardId> getDashboardId(TenantId tenantId, String dashboardName) {
|
||||||
PageLink searchTextLink = new PageLink(1, 0, dashboardName);
|
return Optional.of(dashboardService.findFirstDashboardInfoByTenantIdAndName(tenantId, dashboardName).getId());
|
||||||
PageData<DashboardInfo> dashboardsPage = dashboardService.findDashboardsByTenantId(tenantId, searchTextLink);
|
|
||||||
return dashboardsPage.getData().stream()
|
|
||||||
.findAny()
|
|
||||||
.map(IdBased::getId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Optional<DashboardId> getDashboardId(TenantId tenantId, CustomerId customerId, String dashboardName) {
|
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);
|
Dashboard unassignDashboardFromEdge(TenantId tenantId, DashboardId dashboardId, EdgeId edgeId);
|
||||||
|
|
||||||
PageData<DashboardInfo> findDashboardsByTenantIdAndEdgeId(TenantId tenantId, EdgeId edgeId, PageLink pageLink);
|
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);
|
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.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.page.PageData;
|
import org.thingsboard.server.common.data.page.PageData;
|
||||||
import org.thingsboard.server.common.data.page.PageLink;
|
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.EntityRelation;
|
||||||
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
import org.thingsboard.server.common.data.relation.RelationTypeGroup;
|
||||||
import org.thingsboard.server.common.data.tenant.profile.DefaultTenantProfileConfiguration;
|
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);
|
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 =
|
private DataValidator<Dashboard> dashboardValidator =
|
||||||
new DataValidator<Dashboard>() {
|
new DataValidator<Dashboard>() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -29,6 +29,9 @@ import java.util.UUID;
|
|||||||
*/
|
*/
|
||||||
public interface DashboardInfoRepository extends PagingAndSortingRepository<DashboardInfoEntity, 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 " +
|
@Query("SELECT di FROM DashboardInfoEntity di WHERE di.tenantId = :tenantId " +
|
||||||
"AND LOWER(di.searchText) LIKE LOWER(CONCAT(:searchText, '%'))")
|
"AND LOWER(di.searchText) LIKE LOWER(CONCAT(:searchText, '%'))")
|
||||||
Page<DashboardInfoEntity> findByTenantId(@Param("tenantId") UUID tenantId,
|
Page<DashboardInfoEntity> findByTenantId(@Param("tenantId") UUID tenantId,
|
||||||
|
|||||||
@ -83,4 +83,9 @@ public class JpaDashboardInfoDao extends JpaAbstractSearchTextDao<DashboardInfoE
|
|||||||
Objects.toString(pageLink.getTextSearch(), ""),
|
Objects.toString(pageLink.getTextSearch(), ""),
|
||||||
DaoUtil.toPageable(pageLink)));
|
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