diff options
Diffstat (limited to 'client/src/app/videos/shared')
-rw-r--r-- | client/src/app/videos/shared/video.model.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/client/src/app/videos/shared/video.model.ts b/client/src/app/videos/shared/video.model.ts index 5ed622dce..3c588c446 100644 --- a/client/src/app/videos/shared/video.model.ts +++ b/client/src/app/videos/shared/video.model.ts | |||
@@ -1,3 +1,5 @@ | |||
1 | import { User } from '../../shared'; | ||
2 | |||
1 | export class Video { | 3 | export class Video { |
2 | author: string; | 4 | author: string; |
3 | by: string; | 5 | by: string; |
@@ -16,6 +18,7 @@ export class Video { | |||
16 | views: number; | 18 | views: number; |
17 | likes: number; | 19 | likes: number; |
18 | dislikes: number; | 20 | dislikes: number; |
21 | nsfw: boolean; | ||
19 | 22 | ||
20 | private static createByString(author: string, podHost: string) { | 23 | private static createByString(author: string, podHost: string) { |
21 | return author + '@' + podHost; | 24 | return author + '@' + podHost; |
@@ -47,6 +50,7 @@ export class Video { | |||
47 | views: number, | 50 | views: number, |
48 | likes: number, | 51 | likes: number, |
49 | dislikes: number, | 52 | dislikes: number, |
53 | nsfw: boolean | ||
50 | }) { | 54 | }) { |
51 | this.author = hash.author; | 55 | this.author = hash.author; |
52 | this.createdAt = new Date(hash.createdAt); | 56 | this.createdAt = new Date(hash.createdAt); |
@@ -64,11 +68,17 @@ export class Video { | |||
64 | this.views = hash.views; | 68 | this.views = hash.views; |
65 | this.likes = hash.likes; | 69 | this.likes = hash.likes; |
66 | this.dislikes = hash.dislikes; | 70 | this.dislikes = hash.dislikes; |
71 | this.nsfw = hash.nsfw; | ||
67 | 72 | ||
68 | this.by = Video.createByString(hash.author, hash.podHost); | 73 | this.by = Video.createByString(hash.author, hash.podHost); |
69 | } | 74 | } |
70 | 75 | ||
71 | isRemovableBy(user) { | 76 | isRemovableBy(user: User) { |
72 | return this.isLocal === true && user && this.author === user.username; | 77 | return this.isLocal === true && user && this.author === user.username; |
73 | } | 78 | } |
79 | |||
80 | isVideoNSFWForUser(user: User) { | ||
81 | // If the video is NSFW and the user is not logged in, or the user does not want to display NSFW videos... | ||
82 | return (this.nsfw && (!user || user.displayNSFW === false)); | ||
83 | } | ||
74 | } | 84 | } |