Update cache when image info is updated
This commit is contained in:
parent
562838cfdb
commit
8e95b6ef9b
@ -145,10 +145,11 @@ public class ImageController extends BaseController {
|
||||
@PathVariable String type,
|
||||
@ApiParam(value = IMAGE_KEY_PARAM_DESCRIPTION, required = true)
|
||||
@PathVariable String key,
|
||||
@RequestBody TbResourceInfo newImageInfo) throws ThingsboardException {
|
||||
@RequestBody TbResourceInfo request) throws ThingsboardException {
|
||||
TbResourceInfo imageInfo = checkImageInfo(type, key, Operation.WRITE);
|
||||
imageInfo.setTitle(newImageInfo.getTitle());
|
||||
return tbImageService.save(imageInfo, getCurrentUser());
|
||||
TbResourceInfo newImageInfo = new TbResourceInfo(imageInfo);
|
||||
newImageInfo.setTitle(request.getTitle());
|
||||
return tbImageService.save(newImageInfo, imageInfo, getCurrentUser());
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
|
||||
@ -159,8 +160,9 @@ public class ImageController extends BaseController {
|
||||
@PathVariable String key,
|
||||
@PathVariable boolean isPublic) throws ThingsboardException {
|
||||
TbResourceInfo imageInfo = checkImageInfo(type, key, Operation.WRITE);
|
||||
imageInfo.setPublic(isPublic);
|
||||
return tbImageService.save(imageInfo, getCurrentUser());
|
||||
TbResourceInfo newImageInfo = new TbResourceInfo(imageInfo);
|
||||
newImageInfo.setPublic(isPublic);
|
||||
return tbImageService.save(newImageInfo, imageInfo, getCurrentUser());
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER')")
|
||||
|
||||
@ -134,12 +134,16 @@ public class DefaultTbImageService extends AbstractTbEntityService implements Tb
|
||||
}
|
||||
|
||||
@Override
|
||||
public TbResourceInfo save(TbResourceInfo imageInfo, User user) {
|
||||
public TbResourceInfo save(TbResourceInfo imageInfo, TbResourceInfo oldImageInfo, User user) {
|
||||
TenantId tenantId = imageInfo.getTenantId();
|
||||
TbResourceId imageId = imageInfo.getId();
|
||||
try {
|
||||
imageInfo = imageService.saveImageInfo(imageInfo);
|
||||
notificationEntityService.logEntityAction(tenantId, imageId, imageInfo, ActionType.UPDATED, user);
|
||||
|
||||
if (imageInfo.isPublic() != oldImageInfo.isPublic()) {
|
||||
evictFromCache(tenantId, List.of(ImageCacheKey.forPublicImage(imageInfo.getPublicResourceKey())));
|
||||
}
|
||||
return imageInfo;
|
||||
} catch (Exception e) {
|
||||
notificationEntityService.logEntityAction(tenantId, imageId, imageInfo, ActionType.UPDATED, user, e);
|
||||
|
||||
@ -25,7 +25,7 @@ public interface TbImageService {
|
||||
|
||||
TbResourceInfo save(TbResource image, User user) throws Exception;
|
||||
|
||||
TbResourceInfo save(TbResourceInfo imageInfo, User user);
|
||||
TbResourceInfo save(TbResourceInfo imageInfo, TbResourceInfo oldImageInfo, User user);
|
||||
|
||||
TbImageDeleteResult delete(TbResourceInfo imageInfo, User user, boolean force);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user