Merge remote-tracking branch 'origin/feature/image-resources' into feature/image-resources
This commit is contained in:
		
						commit
						3c16e908a3
					
				@ -44,7 +44,7 @@ public interface ImageService {
 | 
			
		||||
 | 
			
		||||
    TbImageDeleteResult deleteImage(TbResourceInfo imageInfo, boolean force);
 | 
			
		||||
 | 
			
		||||
    TbResourceInfo findImageByTenantIdAndEtag(TenantId tenantId, String etag);
 | 
			
		||||
    TbResourceInfo findSystemOrTenantImageByEtag(TenantId tenantId, String etag);
 | 
			
		||||
 | 
			
		||||
    boolean replaceBase64WithImageUrl(HasImage entity, String type);
 | 
			
		||||
    boolean replaceBase64WithImageUrl(Dashboard dashboard);
 | 
			
		||||
 | 
			
		||||
@ -259,8 +259,8 @@ public class BaseImageService extends BaseResourceService implements ImageServic
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public TbResourceInfo findImageByTenantIdAndEtag(TenantId tenantId, String etag) {
 | 
			
		||||
        return resourceInfoDao.findByTenantIdAndEtag(tenantId, ResourceType.IMAGE, etag);
 | 
			
		||||
    public TbResourceInfo findSystemOrTenantImageByEtag(TenantId tenantId, String etag) {
 | 
			
		||||
        return resourceInfoDao.findSystemOrTenantImageByEtag(tenantId, ResourceType.IMAGE, etag);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Transactional(propagation = Propagation.NOT_SUPPORTED)// we don't want transaction to rollback in case of an image processing failure
 | 
			
		||||
@ -417,10 +417,7 @@ public class BaseImageService extends BaseResourceService implements ImageServic
 | 
			
		||||
        String extension = ImageUtils.mediaTypeToFileExtension(mdMediaType);
 | 
			
		||||
        byte[] imageData = Base64.getDecoder().decode(base64Data);
 | 
			
		||||
        String etag = calculateEtag(imageData);
 | 
			
		||||
        var imageInfo = findImageByTenantIdAndEtag(tenantId, etag);
 | 
			
		||||
        if (imageInfo == null && !tenantId.isSysTenantId()) {
 | 
			
		||||
            imageInfo = findImageByTenantIdAndEtag(TenantId.SYS_TENANT_ID, etag);
 | 
			
		||||
        }
 | 
			
		||||
        var imageInfo = findSystemOrTenantImageByEtag(tenantId, etag);
 | 
			
		||||
        if (imageInfo == null) {
 | 
			
		||||
            TbResource image = new TbResource();
 | 
			
		||||
            image.setTenantId(tenantId);
 | 
			
		||||
 | 
			
		||||
@ -40,5 +40,5 @@ public interface TbResourceInfoDao extends Dao<TbResourceInfo> {
 | 
			
		||||
 | 
			
		||||
    List<TbResourceInfo> findByTenantIdAndEtagAndKeyStartingWith(TenantId tenantId, String etag, String query);
 | 
			
		||||
 | 
			
		||||
    TbResourceInfo findByTenantIdAndEtag(TenantId tenantId, ResourceType resourceType, String etag);
 | 
			
		||||
    TbResourceInfo findSystemOrTenantImageByEtag(TenantId tenantId, ResourceType resourceType, String etag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -106,7 +106,7 @@ public class JpaTbResourceInfoDao extends JpaAbstractDao<TbResourceInfoEntity, T
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public TbResourceInfo findByTenantIdAndEtag(TenantId tenantId, ResourceType resourceType, String etag) {
 | 
			
		||||
        return DaoUtil.getData(resourceInfoRepository.findByTenantIdAndEtag(TenantId.SYS_TENANT_ID.getId(), tenantId.getId(), resourceType.name(), etag));
 | 
			
		||||
    public TbResourceInfo findSystemOrTenantImageByEtag(TenantId tenantId, ResourceType resourceType, String etag) {
 | 
			
		||||
        return DaoUtil.getData(resourceInfoRepository.findSystemOrTenantImageByEtag(TenantId.SYS_TENANT_ID.getId(), tenantId.getId(), resourceType.name(), etag));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -66,8 +66,8 @@ public interface TbResourceInfoRepository extends JpaRepository<TbResourceInfoEn
 | 
			
		||||
    List<TbResourceInfoEntity> findByTenantIdAndEtagAndResourceKeyStartingWith(UUID tenantId, String etag, String query);
 | 
			
		||||
 | 
			
		||||
    @Query(value = "SELECT * FROM resource r WHERE (r.tenant_id = :systemTenantId OR r.tenant_id = :tenantId) AND r.resource_type = :resourceType AND r.etag = :etag LIMIT 1", nativeQuery = true)
 | 
			
		||||
    TbResourceInfoEntity findByTenantIdAndEtag(@Param("systemTenantId") UUID sysTenantId,
 | 
			
		||||
                                               @Param("tenantId") UUID tenantId,
 | 
			
		||||
                                               @Param("resourceType") String resourceType,
 | 
			
		||||
                                               @Param("etag") String etag);
 | 
			
		||||
    TbResourceInfoEntity findSystemOrTenantImageByEtag(@Param("systemTenantId") UUID sysTenantId,
 | 
			
		||||
                                                       @Param("tenantId") UUID tenantId,
 | 
			
		||||
                                                       @Param("resourceType") String resourceType,
 | 
			
		||||
                                                       @Param("etag") String etag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -259,7 +259,7 @@ export class ImageGalleryComponent extends PageComponent implements OnInit, OnDe
 | 
			
		||||
        }
 | 
			
		||||
      } else {
 | 
			
		||||
        this.gridImagesFilter = {
 | 
			
		||||
          search: isNotEmptyStr(value) ? encodeURI(value) : null,
 | 
			
		||||
          search: isNotEmptyStr(value) ? value.trim() : null,
 | 
			
		||||
          includeSystemImages: this.includeSystemImages
 | 
			
		||||
        };
 | 
			
		||||
        this.cd.markForCheck();
 | 
			
		||||
 | 
			
		||||
@ -111,8 +111,7 @@ export class ImportExportService {
 | 
			
		||||
    this.imageService.exportImage(type, key).subscribe(
 | 
			
		||||
      {
 | 
			
		||||
        next: (imageData) => {
 | 
			
		||||
          let name = imageData.title;
 | 
			
		||||
          name = name.toLowerCase().replace(/\W/g, '_');
 | 
			
		||||
          const name = imageData.fileName.split('.')[0];
 | 
			
		||||
          this.exportToPc(imageData, name);
 | 
			
		||||
        },
 | 
			
		||||
        error: (e) => {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user