diff options
author | Chocobozzz <me@florianbigard.com> | 2018-01-03 17:25:47 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-01-03 17:35:00 +0100 |
commit | cf117aaafc1e9ae1ab4c388fc5d2e5ba9349efee (patch) | |
tree | ab51ac2f2c7ec8dfc7fcde99565a4430874da599 /server | |
parent | 265ba139ebf56bbdc1c65f6ea4f367774c691fc0 (diff) | |
download | PeerTube-cf117aaafc1e9ae1ab4c388fc5d2e5ba9349efee.tar.gz PeerTube-cf117aaafc1e9ae1ab4c388fc5d2e5ba9349efee.tar.zst PeerTube-cf117aaafc1e9ae1ab4c388fc5d2e5ba9349efee.zip |
Add avatar in comments
Diffstat (limited to 'server')
-rw-r--r-- | server/helpers/custom-validators/activitypub/actor.ts | 6 | ||||
-rw-r--r-- | server/models/video/video-comment.ts | 10 | ||||
-rw-r--r-- | server/tests/api/videos/video-comments.ts | 16 |
3 files changed, 21 insertions, 11 deletions
diff --git a/server/helpers/custom-validators/activitypub/actor.ts b/server/helpers/custom-validators/activitypub/actor.ts index 8820bb2a4..e1a4b5b8f 100644 --- a/server/helpers/custom-validators/activitypub/actor.ts +++ b/server/helpers/custom-validators/activitypub/actor.ts | |||
@@ -1,8 +1,6 @@ | |||
1 | import * as validator from 'validator' | 1 | import * as validator from 'validator' |
2 | import { CONSTRAINTS_FIELDS } from '../../../initializers' | 2 | import { CONSTRAINTS_FIELDS } from '../../../initializers' |
3 | import { isAccountNameValid } from '../accounts' | ||
4 | import { exists } from '../misc' | 3 | import { exists } from '../misc' |
5 | import { isVideoChannelNameValid } from '../video-channels' | ||
6 | import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc' | 4 | import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc' |
7 | 5 | ||
8 | function isActorEndpointsObjectValid (endpointObject: any) { | 6 | function isActorEndpointsObjectValid (endpointObject: any) { |
@@ -32,10 +30,6 @@ function isActorPreferredUsernameValid (preferredUsername: string) { | |||
32 | return exists(preferredUsername) && validator.matches(preferredUsername, actorNameRegExp) | 30 | return exists(preferredUsername) && validator.matches(preferredUsername, actorNameRegExp) |
33 | } | 31 | } |
34 | 32 | ||
35 | function isActorNameValid (name: string) { | ||
36 | return isAccountNameValid(name) || isVideoChannelNameValid(name) | ||
37 | } | ||
38 | |||
39 | function isActorPrivateKeyValid (privateKey: string) { | 33 | function isActorPrivateKeyValid (privateKey: string) { |
40 | return exists(privateKey) && | 34 | return exists(privateKey) && |
41 | typeof privateKey === 'string' && | 35 | typeof privateKey === 'string' && |
diff --git a/server/models/video/video-comment.ts b/server/models/video/video-comment.ts index 63675c20b..d2d8945c3 100644 --- a/server/models/video/video-comment.ts +++ b/server/models/video/video-comment.ts | |||
@@ -9,6 +9,7 @@ import { isActivityPubUrlValid } from '../../helpers/custom-validators/activityp | |||
9 | import { CONSTRAINTS_FIELDS } from '../../initializers' | 9 | import { CONSTRAINTS_FIELDS } from '../../initializers' |
10 | import { AccountModel } from '../account/account' | 10 | import { AccountModel } from '../account/account' |
11 | import { ActorModel } from '../activitypub/actor' | 11 | import { ActorModel } from '../activitypub/actor' |
12 | import { AvatarModel } from '../avatar/avatar' | ||
12 | import { ServerModel } from '../server/server' | 13 | import { ServerModel } from '../server/server' |
13 | import { getSort, throwIfNotValid } from '../utils' | 14 | import { getSort, throwIfNotValid } from '../utils' |
14 | import { VideoModel } from './video' | 15 | import { VideoModel } from './video' |
@@ -46,6 +47,10 @@ enum ScopeNames { | |||
46 | { | 47 | { |
47 | model: () => ServerModel, | 48 | model: () => ServerModel, |
48 | required: false | 49 | required: false |
50 | }, | ||
51 | { | ||
52 | model: () => AvatarModel, | ||
53 | required: false | ||
49 | } | 54 | } |
50 | ] | 55 | ] |
51 | } | 56 | } |
@@ -243,10 +248,7 @@ export class VideoCommentModel extends Model<VideoCommentModel> { | |||
243 | createdAt: this.createdAt, | 248 | createdAt: this.createdAt, |
244 | updatedAt: this.updatedAt, | 249 | updatedAt: this.updatedAt, |
245 | totalReplies: this.get('totalReplies') || 0, | 250 | totalReplies: this.get('totalReplies') || 0, |
246 | account: { | 251 | account: this.Account.toFormattedJSON() |
247 | name: this.Account.name, | ||
248 | host: this.Account.Actor.getHost() | ||
249 | } | ||
250 | } as VideoComment | 252 | } as VideoComment |
251 | } | 253 | } |
252 | 254 | ||
diff --git a/server/tests/api/videos/video-comments.ts b/server/tests/api/videos/video-comments.ts index 3b6578f04..604a3027d 100644 --- a/server/tests/api/videos/video-comments.ts +++ b/server/tests/api/videos/video-comments.ts | |||
@@ -3,7 +3,11 @@ | |||
3 | import * as chai from 'chai' | 3 | import * as chai from 'chai' |
4 | import 'mocha' | 4 | import 'mocha' |
5 | import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' | 5 | import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' |
6 | import { dateIsValid, flushTests, killallServers, runServer, ServerInfo, setAccessTokensToServers, uploadVideo } from '../../utils/index' | 6 | import { testVideoImage } from '../../utils' |
7 | import { | ||
8 | dateIsValid, flushTests, killallServers, runServer, ServerInfo, setAccessTokensToServers, updateMyAvatar, | ||
9 | uploadVideo | ||
10 | } from '../../utils/index' | ||
7 | import { | 11 | import { |
8 | addVideoCommentReply, addVideoCommentThread, getVideoCommentThreads, | 12 | addVideoCommentReply, addVideoCommentThread, getVideoCommentThreads, |
9 | getVideoThreadComments | 13 | getVideoThreadComments |
@@ -29,6 +33,12 @@ describe('Test video comments', function () { | |||
29 | const res = await uploadVideo(server.url, server.accessToken, {}) | 33 | const res = await uploadVideo(server.url, server.accessToken, {}) |
30 | videoUUID = res.body.video.uuid | 34 | videoUUID = res.body.video.uuid |
31 | videoId = res.body.video.id | 35 | videoId = res.body.video.id |
36 | |||
37 | await updateMyAvatar({ | ||
38 | url: server.url, | ||
39 | accessToken: server.accessToken, | ||
40 | fixture: 'avatar.png' | ||
41 | }) | ||
32 | }) | 42 | }) |
33 | 43 | ||
34 | it('Should not have threads on this video', async function () { | 44 | it('Should not have threads on this video', async function () { |
@@ -70,6 +80,10 @@ describe('Test video comments', function () { | |||
70 | expect(comment.id).to.equal(comment.threadId) | 80 | expect(comment.id).to.equal(comment.threadId) |
71 | expect(comment.account.name).to.equal('root') | 81 | expect(comment.account.name).to.equal('root') |
72 | expect(comment.account.host).to.equal('localhost:9001') | 82 | expect(comment.account.host).to.equal('localhost:9001') |
83 | |||
84 | const test = await testVideoImage(server.url, 'avatar-resized', comment.account.avatar.path, '.png') | ||
85 | expect(test).to.equal(true) | ||
86 | |||
73 | expect(comment.totalReplies).to.equal(0) | 87 | expect(comment.totalReplies).to.equal(0) |
74 | expect(dateIsValid(comment.createdAt as string)).to.be.true | 88 | expect(dateIsValid(comment.createdAt as string)).to.be.true |
75 | expect(dateIsValid(comment.updatedAt as string)).to.be.true | 89 | expect(dateIsValid(comment.updatedAt as string)).to.be.true |