1
0
Fork 0

Fix like/dislike federation

This commit is contained in:
Chocobozzz 2019-08-01 14:26:49 +02:00
parent 29d4e1375f
commit a21e25ff64
No known key found for this signature in database
GPG key ID: 583A612D890159BE
2 changed files with 18 additions and 16 deletions

View file

@ -34,19 +34,20 @@ async function processDislike (activity: ActivityCreate | ActivityDislike, byAct
const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, url)
if (existingRate && existingRate.type === 'dislike') return
await AccountVideoRateModel.create({
type: 'dislike' as 'dislike',
videoId: video.id,
accountId: byAccount.id,
url
}, { transaction: t })
await video.increment('dislikes', { transaction: t })
if (existingRate && existingRate.type === 'like') {
await video.decrement('likes', { transaction: t })
}
const rate = existingRate || new AccountVideoRateModel()
rate.type = 'dislike'
rate.videoId = video.id
rate.accountId = byAccount.id
rate.url = url
await rate.save({ transaction: t })
if (video.isOwned()) {
// Don't resend the activity to the sender
const exceptions = [ byActor ]

View file

@ -34,19 +34,20 @@ async function processLikeVideo (byActor: ActorModel, activity: ActivityLike) {
const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, url)
if (existingRate && existingRate.type === 'like') return
await AccountVideoRateModel.create({
type: 'like' as 'like',
videoId: video.id,
accountId: byAccount.id,
url
}, { transaction: t })
await video.increment('likes', { transaction: t })
if (existingRate && existingRate.type === 'dislike') {
await video.decrement('dislikes', { transaction: t })
}
await video.increment('likes', { transaction: t })
const rate = existingRate || new AccountVideoRateModel()
rate.type = 'like'
rate.videoId = video.id
rate.accountId = byAccount.id
rate.url = url
await rate.save({ transaction: t })
if (video.isOwned()) {
// Don't resend the activity to the sender
const exceptions = [ byActor ]