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);
|
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(HasImage entity, String type);
|
||||||
boolean replaceBase64WithImageUrl(Dashboard dashboard);
|
boolean replaceBase64WithImageUrl(Dashboard dashboard);
|
||||||
|
|||||||
@ -259,8 +259,8 @@ public class BaseImageService extends BaseResourceService implements ImageServic
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TbResourceInfo findImageByTenantIdAndEtag(TenantId tenantId, String etag) {
|
public TbResourceInfo findSystemOrTenantImageByEtag(TenantId tenantId, String etag) {
|
||||||
return resourceInfoDao.findByTenantIdAndEtag(tenantId, ResourceType.IMAGE, 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
|
@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);
|
String extension = ImageUtils.mediaTypeToFileExtension(mdMediaType);
|
||||||
byte[] imageData = Base64.getDecoder().decode(base64Data);
|
byte[] imageData = Base64.getDecoder().decode(base64Data);
|
||||||
String etag = calculateEtag(imageData);
|
String etag = calculateEtag(imageData);
|
||||||
var imageInfo = findImageByTenantIdAndEtag(tenantId, etag);
|
var imageInfo = findSystemOrTenantImageByEtag(tenantId, etag);
|
||||||
if (imageInfo == null && !tenantId.isSysTenantId()) {
|
|
||||||
imageInfo = findImageByTenantIdAndEtag(TenantId.SYS_TENANT_ID, etag);
|
|
||||||
}
|
|
||||||
if (imageInfo == null) {
|
if (imageInfo == null) {
|
||||||
TbResource image = new TbResource();
|
TbResource image = new TbResource();
|
||||||
image.setTenantId(tenantId);
|
image.setTenantId(tenantId);
|
||||||
|
|||||||
@ -40,5 +40,5 @@ public interface TbResourceInfoDao extends Dao<TbResourceInfo> {
|
|||||||
|
|
||||||
List<TbResourceInfo> findByTenantIdAndEtagAndKeyStartingWith(TenantId tenantId, String etag, String query);
|
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
|
@Override
|
||||||
public TbResourceInfo findByTenantIdAndEtag(TenantId tenantId, ResourceType resourceType, String etag) {
|
public TbResourceInfo findSystemOrTenantImageByEtag(TenantId tenantId, ResourceType resourceType, String etag) {
|
||||||
return DaoUtil.getData(resourceInfoRepository.findByTenantIdAndEtag(TenantId.SYS_TENANT_ID.getId(), tenantId.getId(), resourceType.name(), 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);
|
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)
|
@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,
|
TbResourceInfoEntity findSystemOrTenantImageByEtag(@Param("systemTenantId") UUID sysTenantId,
|
||||||
@Param("tenantId") UUID tenantId,
|
@Param("tenantId") UUID tenantId,
|
||||||
@Param("resourceType") String resourceType,
|
@Param("resourceType") String resourceType,
|
||||||
@Param("etag") String etag);
|
@Param("etag") String etag);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -259,7 +259,7 @@ export class ImageGalleryComponent extends PageComponent implements OnInit, OnDe
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.gridImagesFilter = {
|
this.gridImagesFilter = {
|
||||||
search: isNotEmptyStr(value) ? encodeURI(value) : null,
|
search: isNotEmptyStr(value) ? value.trim() : null,
|
||||||
includeSystemImages: this.includeSystemImages
|
includeSystemImages: this.includeSystemImages
|
||||||
};
|
};
|
||||||
this.cd.markForCheck();
|
this.cd.markForCheck();
|
||||||
|
|||||||
@ -111,8 +111,7 @@ export class ImportExportService {
|
|||||||
this.imageService.exportImage(type, key).subscribe(
|
this.imageService.exportImage(type, key).subscribe(
|
||||||
{
|
{
|
||||||
next: (imageData) => {
|
next: (imageData) => {
|
||||||
let name = imageData.title;
|
const name = imageData.fileName.split('.')[0];
|
||||||
name = name.toLowerCase().replace(/\W/g, '_');
|
|
||||||
this.exportToPc(imageData, name);
|
this.exportToPc(imageData, name);
|
||||||
},
|
},
|
||||||
error: (e) => {
|
error: (e) => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user