mirror of https://github.com/Chocobozzz/PeerTube
Cleanup actor image without width
parent
9a3a23a834
commit
e0bfb72ce0
|
@ -13,20 +13,31 @@ type ImageInfo = {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function updateActorImages (actor: MActorImages, type: ActorImageType, imagesInfo: ImageInfo[], t: Transaction) {
|
async function updateActorImages (actor: MActorImages, type: ActorImageType, imagesInfo: ImageInfo[], t: Transaction) {
|
||||||
const avatarsOrBanners = type === ActorImageType.AVATAR
|
const getAvatarsOrBanners = () => {
|
||||||
? actor.Avatars
|
const result = type === ActorImageType.AVATAR
|
||||||
: actor.Banners
|
? actor.Avatars
|
||||||
|
: actor.Banners
|
||||||
|
|
||||||
|
return result || []
|
||||||
|
}
|
||||||
|
|
||||||
if (imagesInfo.length === 0) {
|
if (imagesInfo.length === 0) {
|
||||||
await deleteActorImages(actor, type, t)
|
await deleteActorImages(actor, type, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cleanup old images that did not have a width
|
||||||
|
for (const oldImageModel of getAvatarsOrBanners()) {
|
||||||
|
if (oldImageModel.width) continue
|
||||||
|
|
||||||
|
await safeDeleteActorImage(actor, oldImageModel, type, t)
|
||||||
|
}
|
||||||
|
|
||||||
for (const imageInfo of imagesInfo) {
|
for (const imageInfo of imagesInfo) {
|
||||||
const oldImageModel = (avatarsOrBanners || []).find(i => i.width === imageInfo.width)
|
const oldImageModel = getAvatarsOrBanners().find(i => imageInfo.width && i.width === imageInfo.width)
|
||||||
|
|
||||||
if (oldImageModel) {
|
if (oldImageModel) {
|
||||||
// Don't update the avatar if the file URL did not change
|
// Don't update the avatar if the file URL did not change
|
||||||
if (imageInfo?.fileUrl && oldImageModel.fileUrl === imageInfo.fileUrl) {
|
if (imageInfo.fileUrl && oldImageModel.fileUrl === imageInfo.fileUrl) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue