diff options
author | Chocobozzz <me@florianbigard.com> | 2019-08-01 14:19:18 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-08-01 14:19:18 +0200 |
commit | 29d4e1375fdac88595347184c3d1b214804794b0 (patch) | |
tree | 4f66651218c1a7dee579d006e6e396f141382228 /server/lib/activitypub | |
parent | 16b5525950c27172b8426e03cbb1c59794cfc44c (diff) | |
download | PeerTube-29d4e1375fdac88595347184c3d1b214804794b0.tar.gz PeerTube-29d4e1375fdac88595347184c3d1b214804794b0.tar.zst PeerTube-29d4e1375fdac88595347184c3d1b214804794b0.zip |
Fix HLS transcoding
Diffstat (limited to 'server/lib/activitypub')
-rw-r--r-- | server/lib/activitypub/process/process-dislike.ts | 4 | ||||
-rw-r--r-- | server/lib/activitypub/process/process-like.ts | 4 | ||||
-rw-r--r-- | server/lib/activitypub/process/process-undo.ts | 10 |
3 files changed, 12 insertions, 6 deletions
diff --git a/server/lib/activitypub/process/process-dislike.ts b/server/lib/activitypub/process/process-dislike.ts index ed8afd3d2..c46180617 100644 --- a/server/lib/activitypub/process/process-dislike.ts +++ b/server/lib/activitypub/process/process-dislike.ts | |||
@@ -43,6 +43,10 @@ async function processDislike (activity: ActivityCreate | ActivityDislike, byAct | |||
43 | 43 | ||
44 | await video.increment('dislikes', { transaction: t }) | 44 | await video.increment('dislikes', { transaction: t }) |
45 | 45 | ||
46 | if (existingRate && existingRate.type === 'like') { | ||
47 | await video.decrement('likes', { transaction: t }) | ||
48 | } | ||
49 | |||
46 | if (video.isOwned()) { | 50 | if (video.isOwned()) { |
47 | // Don't resend the activity to the sender | 51 | // Don't resend the activity to the sender |
48 | const exceptions = [ byActor ] | 52 | const exceptions = [ byActor ] |
diff --git a/server/lib/activitypub/process/process-like.ts b/server/lib/activitypub/process/process-like.ts index 8b97aae55..5b2ab4b66 100644 --- a/server/lib/activitypub/process/process-like.ts +++ b/server/lib/activitypub/process/process-like.ts | |||
@@ -43,6 +43,10 @@ async function processLikeVideo (byActor: ActorModel, activity: ActivityLike) { | |||
43 | 43 | ||
44 | await video.increment('likes', { transaction: t }) | 44 | await video.increment('likes', { transaction: t }) |
45 | 45 | ||
46 | if (existingRate && existingRate.type === 'dislike') { | ||
47 | await video.decrement('dislikes', { transaction: t }) | ||
48 | } | ||
49 | |||
46 | if (video.isOwned()) { | 50 | if (video.isOwned()) { |
47 | // Don't resend the activity to the sender | 51 | // Don't resend the activity to the sender |
48 | const exceptions = [ byActor ] | 52 | const exceptions = [ byActor ] |
diff --git a/server/lib/activitypub/process/process-undo.ts b/server/lib/activitypub/process/process-undo.ts index 2d48848fe..692c51904 100644 --- a/server/lib/activitypub/process/process-undo.ts +++ b/server/lib/activitypub/process/process-undo.ts | |||
@@ -59,9 +59,8 @@ async function processUndoLike (byActor: ActorModel, activity: ActivityUndo) { | |||
59 | return sequelizeTypescript.transaction(async t => { | 59 | return sequelizeTypescript.transaction(async t => { |
60 | if (!byActor.Account) throw new Error('Unknown account ' + byActor.url) | 60 | if (!byActor.Account) throw new Error('Unknown account ' + byActor.url) |
61 | 61 | ||
62 | let rate = await AccountVideoRateModel.loadByUrl(likeActivity.id, t) | 62 | const rate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byActor.Account.id, video.id, likeActivity.id, t) |
63 | if (!rate) rate = await AccountVideoRateModel.load(byActor.Account.id, video.id, t) | 63 | if (!rate || rate.type !== 'like') throw new Error(`Unknown like by account ${byActor.Account.id} for video ${video.id}.`) |
64 | if (!rate) throw new Error(`Unknown rate by account ${byActor.Account.id} for video ${video.id}.`) | ||
65 | 64 | ||
66 | await rate.destroy({ transaction: t }) | 65 | await rate.destroy({ transaction: t }) |
67 | await video.decrement('likes', { transaction: t }) | 66 | await video.decrement('likes', { transaction: t }) |
@@ -85,9 +84,8 @@ async function processUndoDislike (byActor: ActorModel, activity: ActivityUndo) | |||
85 | return sequelizeTypescript.transaction(async t => { | 84 | return sequelizeTypescript.transaction(async t => { |
86 | if (!byActor.Account) throw new Error('Unknown account ' + byActor.url) | 85 | if (!byActor.Account) throw new Error('Unknown account ' + byActor.url) |
87 | 86 | ||
88 | let rate = await AccountVideoRateModel.loadByUrl(dislike.id, t) | 87 | const rate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byActor.Account.id, video.id, dislike.id, t) |
89 | if (!rate) rate = await AccountVideoRateModel.load(byActor.Account.id, video.id, t) | 88 | if (!rate || rate.type !== 'dislike') throw new Error(`Unknown dislike by account ${byActor.Account.id} for video ${video.id}.`) |
90 | if (!rate) throw new Error(`Unknown rate by account ${byActor.Account.id} for video ${video.id}.`) | ||
91 | 89 | ||
92 | await rate.destroy({ transaction: t }) | 90 | await rate.destroy({ transaction: t }) |
93 | await video.decrement('dislikes', { transaction: t }) | 91 | await video.decrement('dislikes', { transaction: t }) |