diff options
author | Chocobozzz <me@florianbigard.com> | 2019-08-01 10:15:28 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2019-08-01 10:15:28 +0200 |
commit | 970ceac0a6bf4990b8924738591df4949491ec9b (patch) | |
tree | 444070d8409fced91971c4401e65640d6fd13cbf /server/lib | |
parent | bfbd912886eba17b4aa9a40dcef2fddc685d85bf (diff) | |
download | PeerTube-970ceac0a6bf4990b8924738591df4949491ec9b.tar.gz PeerTube-970ceac0a6bf4990b8924738591df4949491ec9b.tar.zst PeerTube-970ceac0a6bf4990b8924738591df4949491ec9b.zip |
Fix multiple server tests
Diffstat (limited to 'server/lib')
-rw-r--r-- | server/lib/activitypub/process/process-dislike.ts | 21 | ||||
-rw-r--r-- | server/lib/activitypub/process/process-like.ts | 24 | ||||
-rw-r--r-- | server/lib/activitypub/video-comments.ts | 2 | ||||
-rw-r--r-- | server/lib/video-comment.ts | 6 |
4 files changed, 28 insertions, 25 deletions
diff --git a/server/lib/activitypub/process/process-dislike.ts b/server/lib/activitypub/process/process-dislike.ts index bfd69e07a..ed8afd3d2 100644 --- a/server/lib/activitypub/process/process-dislike.ts +++ b/server/lib/activitypub/process/process-dislike.ts | |||
@@ -29,20 +29,21 @@ async function processDislike (activity: ActivityCreate | ActivityDislike, byAct | |||
29 | const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: dislikeObject }) | 29 | const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: dislikeObject }) |
30 | 30 | ||
31 | return sequelizeTypescript.transaction(async t => { | 31 | return sequelizeTypescript.transaction(async t => { |
32 | const rate = { | 32 | const url = getVideoDislikeActivityPubUrl(byActor, video) |
33 | |||
34 | const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, url) | ||
35 | if (existingRate && existingRate.type === 'dislike') return | ||
36 | |||
37 | await AccountVideoRateModel.create({ | ||
33 | type: 'dislike' as 'dislike', | 38 | type: 'dislike' as 'dislike', |
34 | videoId: video.id, | 39 | videoId: video.id, |
35 | accountId: byAccount.id | 40 | accountId: byAccount.id, |
36 | } | 41 | url |
42 | }, { transaction: t }) | ||
37 | 43 | ||
38 | const [ , created ] = await AccountVideoRateModel.findOrCreate({ | 44 | await video.increment('dislikes', { transaction: t }) |
39 | where: rate, | ||
40 | defaults: Object.assign({}, rate, { url: getVideoDislikeActivityPubUrl(byActor, video) }), | ||
41 | transaction: t | ||
42 | }) | ||
43 | if (created === true) await video.increment('dislikes', { transaction: t }) | ||
44 | 45 | ||
45 | if (video.isOwned() && created === true) { | 46 | if (video.isOwned()) { |
46 | // Don't resend the activity to the sender | 47 | // Don't resend the activity to the sender |
47 | const exceptions = [ byActor ] | 48 | const exceptions = [ byActor ] |
48 | 49 | ||
diff --git a/server/lib/activitypub/process/process-like.ts b/server/lib/activitypub/process/process-like.ts index 2a04167d7..8b97aae55 100644 --- a/server/lib/activitypub/process/process-like.ts +++ b/server/lib/activitypub/process/process-like.ts | |||
@@ -29,19 +29,21 @@ async function processLikeVideo (byActor: ActorModel, activity: ActivityLike) { | |||
29 | const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: videoUrl }) | 29 | const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: videoUrl }) |
30 | 30 | ||
31 | return sequelizeTypescript.transaction(async t => { | 31 | return sequelizeTypescript.transaction(async t => { |
32 | const rate = { | 32 | const url = getVideoLikeActivityPubUrl(byActor, video) |
33 | |||
34 | const existingRate = await AccountVideoRateModel.loadByAccountAndVideoOrUrl(byAccount.id, video.id, url) | ||
35 | if (existingRate && existingRate.type === 'like') return | ||
36 | |||
37 | await AccountVideoRateModel.create({ | ||
33 | type: 'like' as 'like', | 38 | type: 'like' as 'like', |
34 | videoId: video.id, | 39 | videoId: video.id, |
35 | accountId: byAccount.id | 40 | accountId: byAccount.id, |
36 | } | 41 | url |
37 | const [ , created ] = await AccountVideoRateModel.findOrCreate({ | 42 | }, { transaction: t }) |
38 | where: rate, | 43 | |
39 | defaults: Object.assign({}, rate, { url: getVideoLikeActivityPubUrl(byActor, video) }), | 44 | await video.increment('likes', { transaction: t }) |
40 | transaction: t | 45 | |
41 | }) | 46 | if (video.isOwned()) { |
42 | if (created === true) await video.increment('likes', { transaction: t }) | ||
43 | |||
44 | if (video.isOwned() && created === true) { | ||
45 | // Don't resend the activity to the sender | 47 | // Don't resend the activity to the sender |
46 | const exceptions = [ byActor ] | 48 | const exceptions = [ byActor ] |
47 | 49 | ||
diff --git a/server/lib/activitypub/video-comments.ts b/server/lib/activitypub/video-comments.ts index 2f26ddefd..921abdb8d 100644 --- a/server/lib/activitypub/video-comments.ts +++ b/server/lib/activitypub/video-comments.ts | |||
@@ -54,7 +54,7 @@ async function addVideoComment (videoInstance: VideoModel, commentUrl: string) { | |||
54 | }) | 54 | }) |
55 | 55 | ||
56 | if (sanitizeAndCheckVideoCommentObject(body) === false) { | 56 | if (sanitizeAndCheckVideoCommentObject(body) === false) { |
57 | logger.debug('Remote video comment JSON is not valid.', { body }) | 57 | logger.debug('Remote video comment JSON %s is not valid.', commentUrl, { body }) |
58 | return { created: false } | 58 | return { created: false } |
59 | } | 59 | } |
60 | 60 | ||
diff --git a/server/lib/video-comment.ts b/server/lib/video-comment.ts index bfe22d225..449aa74cb 100644 --- a/server/lib/video-comment.ts +++ b/server/lib/video-comment.ts | |||
@@ -27,10 +27,10 @@ async function createVideoComment (obj: { | |||
27 | inReplyToCommentId, | 27 | inReplyToCommentId, |
28 | videoId: obj.video.id, | 28 | videoId: obj.video.id, |
29 | accountId: obj.account.id, | 29 | accountId: obj.account.id, |
30 | url: 'fake url' | 30 | url: new Date().toISOString() |
31 | }, { transaction: t, validate: false } as any) // FIXME: sequelize typings | 31 | }, { transaction: t, validate: false }) |
32 | 32 | ||
33 | comment.set('url', getVideoCommentActivityPubUrl(obj.video, comment)) | 33 | comment.url = getVideoCommentActivityPubUrl(obj.video, comment) |
34 | 34 | ||
35 | const savedComment = await comment.save({ transaction: t }) | 35 | const savedComment = await comment.save({ transaction: t }) |
36 | savedComment.InReplyToVideoComment = obj.inReplyToComment | 36 | savedComment.InReplyToVideoComment = obj.inReplyToComment |