]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/users/user-notification.model.ts
Support video views/viewers stats in server
[github/Chocobozzz/PeerTube.git] / shared / models / users / user-notification.model.ts
CommitLineData
883993c8 1import { FollowState } from '../actors'
594d3e48 2import { AbuseState } from '../moderation'
32a18cbf 3import { PluginType } from '../plugins'
883993c8 4
829523cf 5export const enum UserNotificationType {
cef534ed
C
6 NEW_VIDEO_FROM_SUBSCRIPTION = 1,
7 NEW_COMMENT_ON_MY_VIDEO = 2,
310b5219 8 NEW_ABUSE_FOR_MODERATORS = 3,
2f1548fd 9
cef534ed 10 BLACKLIST_ON_MY_VIDEO = 4,
dc133480 11 UNBLACKLIST_ON_MY_VIDEO = 5,
2f1548fd 12
dc133480 13 MY_VIDEO_PUBLISHED = 6,
2f1548fd 14
dc133480 15 MY_VIDEO_IMPORT_SUCCESS = 7,
f7cc67b4 16 MY_VIDEO_IMPORT_ERROR = 8,
2f1548fd 17
f7cc67b4
C
18 NEW_USER_REGISTRATION = 9,
19 NEW_FOLLOW = 10,
7ccddd7b
JM
20 COMMENT_MENTION = 11,
21
883993c8
C
22 VIDEO_AUTO_BLACKLIST_FOR_MODERATORS = 12,
23
8424c402
C
24 NEW_INSTANCE_FOLLOWER = 13,
25
594d3e48
C
26 AUTO_INSTANCE_FOLLOWING = 14,
27
28 ABUSE_STATE_CHANGE = 15,
29
32a18cbf
C
30 ABUSE_NEW_MESSAGE = 16,
31
32 NEW_PLUGIN_VERSION = 17,
1808a1f8
C
33 NEW_PEERTUBE_VERSION = 18,
34
92e66e04 35 MY_VIDEO_STUDIO_EDITION_FINISHED = 19
cef534ed
C
36}
37
dc133480 38export interface VideoInfo {
cef534ed
C
39 id: number
40 uuid: string
29837f88 41 shortUUID: string
cef534ed
C
42 name: string
43}
44
d0800f76 45export interface AvatarInfo {
46 width: number
47 path: string
48}
49
457bb213
C
50export interface ActorInfo {
51 id: number
52 displayName: string
53 name: string
38967f7b 54 host: string
d0800f76 55
56 avatars: AvatarInfo[]
57 avatar: AvatarInfo
457bb213
C
58}
59
cef534ed
C
60export interface UserNotification {
61 id: number
62 type: UserNotificationType
63 read: boolean
64
65 video?: VideoInfo & {
457bb213 66 channel: ActorInfo
cef534ed
C
67 }
68
dc133480
C
69 videoImport?: {
70 id: number
71 video?: VideoInfo
72 torrentName?: string
73 magnetUri?: string
74 targetUrl?: string
75 }
76
cef534ed
C
77 comment?: {
78 id: number
dc133480 79 threadId: number
457bb213 80 account: ActorInfo
dc133480 81 video: VideoInfo
cef534ed
C
82 }
83
d95d1559 84 abuse?: {
cef534ed 85 id: number
594d3e48 86 state: AbuseState
d95d1559
C
87
88 video?: VideoInfo
89
90 comment?: {
91 threadId: number
92
29837f88 93 video: VideoInfo
d95d1559
C
94 }
95
96 account?: ActorInfo
cef534ed
C
97 }
98
99 videoBlacklist?: {
100 id: number
101 video: VideoInfo
102 }
103
457bb213 104 account?: ActorInfo
f7cc67b4
C
105
106 actorFollow?: {
107 id: number
457bb213 108 follower: ActorInfo
883993c8 109 state: FollowState
8424c402 110
f7cc67b4 111 following: {
8424c402 112 type: 'account' | 'channel' | 'instance'
f7cc67b4
C
113 name: string
114 displayName: string
8424c402 115 host: string
f7cc67b4
C
116 }
117 }
118
32a18cbf
C
119 plugin?: {
120 name: string
121 type: PluginType
122 latestVersion: string
123 }
124
125 peertube?: {
126 latestVersion: string
127 }
128
cef534ed
C
129 createdAt: string
130 updatedAt: string
131}