From 2cb03dc1f4e01ba491c36caff30c33fe9c5bad89 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 6 Apr 2021 17:01:35 +0200 Subject: Add banners support --- server/lib/activitypub/process/process-update.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'server/lib/activitypub/process/process-update.ts') diff --git a/server/lib/activitypub/process/process-update.ts b/server/lib/activitypub/process/process-update.ts index 849f70b94..ad3bb392d 100644 --- a/server/lib/activitypub/process/process-update.ts +++ b/server/lib/activitypub/process/process-update.ts @@ -6,7 +6,7 @@ import { sequelizeTypescript } from '../../../initializers/database' import { AccountModel } from '../../../models/account/account' import { ActorModel } from '../../../models/activitypub/actor' import { VideoChannelModel } from '../../../models/video/video-channel' -import { getAvatarInfoIfExists, updateActorAvatarInstance, updateActorInstance } from '../actor' +import { getImageInfoIfExists, updateActorImageInstance, updateActorInstance } from '../actor' import { getOrCreateVideoAndAccountAndChannel, getOrCreateVideoChannelFromVideoObject, updateVideoFromAP } from '../videos' import { sanitizeAndCheckVideoTorrentObject } from '../../../helpers/custom-validators/activitypub/videos' import { isCacheFileObjectValid } from '../../../helpers/custom-validators/activitypub/cache-file' @@ -17,6 +17,7 @@ import { createOrUpdateVideoPlaylist } from '../playlist' import { APProcessorOptions } from '../../../types/activitypub-processor.model' import { MActorSignature, MAccountIdActor } from '../../../types/models' import { isRedundancyAccepted } from '@server/lib/redundancy' +import { ActorImageType } from '@shared/models' async function processUpdateActivity (options: APProcessorOptions) { const { activity, byActor } = options @@ -119,7 +120,8 @@ async function processUpdateActor (actor: ActorModel, activity: ActivityUpdate) let accountOrChannelFieldsSave: object // Fetch icon? - const avatarInfo = await getAvatarInfoIfExists(actorAttributesToUpdate) + const avatarInfo = getImageInfoIfExists(actorAttributesToUpdate, ActorImageType.AVATAR) + const bannerInfo = getImageInfoIfExists(actorAttributesToUpdate, ActorImageType.BANNER) try { await sequelizeTypescript.transaction(async t => { @@ -132,10 +134,12 @@ async function processUpdateActor (actor: ActorModel, activity: ActivityUpdate) await updateActorInstance(actor, actorAttributesToUpdate) - if (avatarInfo !== undefined) { - const avatarOptions = Object.assign({}, avatarInfo, { onDisk: false }) + for (const imageInfo of [ avatarInfo, bannerInfo ]) { + if (!imageInfo) continue - await updateActorAvatarInstance(actor, avatarOptions, t) + const imageOptions = Object.assign({}, imageInfo, { onDisk: false }) + + await updateActorImageInstance(actor, imageOptions, t) } await actor.save({ transaction: t }) -- cgit v1.2.3