Minor:refactor fetching assetsCount for individual fields (#23762)

This commit is contained in:
sonika-shah 2025-10-07 16:14:13 +05:30 committed by GitHub
parent 47e953f9d3
commit 83c63e92b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -93,7 +93,7 @@ public class DomainRepository extends EntityRepository<Domain> {
@Override
public void setFields(Domain entity, Fields fields) {
entity.withAssets(fields.contains(FIELD_ASSETS) ? getAssets(entity) : null);
entity.withAssetsCount(fields.contains(FIELD_ASSETS_COUNT) ? getAssets(entity).size() : 0);
entity.withAssetsCount(fields.contains(FIELD_ASSETS_COUNT) ? getAssetsCount(entity) : null);
entity.withParent(getParent(entity));
}
@ -192,6 +192,23 @@ public class DomainRepository extends EntityRepository<Domain> {
return result.entities();
}
private int getAssetsCount(Domain entity) {
if (inheritedFieldEntitySearch == null) {
LOG.warn("Search is unavailable for domain assets count. Returning 0 for consistency.");
return 0;
}
InheritedFieldQuery query = InheritedFieldQuery.forDomain(entity.getFullyQualifiedName());
return inheritedFieldEntitySearch.getCountForField(
query,
() -> {
LOG.warn(
"Search fallback triggered for domain {} count. Returning 0 for consistency.",
entity.getFullyQualifiedName());
return 0;
});
}
public BulkOperationResult bulkAddAssets(String domainName, BulkAssets request) {
Domain domain = getByName(null, domainName, getFields("id"));
return bulkAssetsOperation(domain.getId(), DOMAIN, Relationship.HAS, request, true);