]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/users/user-notification.model.ts
Implement signup approval 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
e364e31e
C
35 MY_VIDEO_STUDIO_EDITION_FINISHED = 19,
36
37 NEW_USER_REGISTRATION_REQUEST = 20
cef534ed
C
38}
39
dc133480 40export interface VideoInfo {
cef534ed
C
41 id: number
42 uuid: string
29837f88 43 shortUUID: string
cef534ed
C
44 name: string
45}
46
d0800f76 47export interface AvatarInfo {
48 width: number
49 path: string
50}
51
457bb213
C
52export interface ActorInfo {
53 id: number
54 displayName: string
55 name: string
38967f7b 56 host: string
d0800f76 57
58 avatars: AvatarInfo[]
59 avatar: AvatarInfo
457bb213
C
60}
61
cef534ed
C
62export interface UserNotification {
63 id: number
64 type: UserNotificationType
65 read: boolean
66
67 video?: VideoInfo & {
457bb213 68 channel: ActorInfo
cef534ed
C
69 }
70
dc133480
C
71 videoImport?: {
72 id: number
73 video?: VideoInfo
74 torrentName?: string
75 magnetUri?: string
76 targetUrl?: string
77 }
78
cef534ed
C
79 comment?: {
80 id: number
dc133480 81 threadId: number
457bb213 82 account: ActorInfo
dc133480 83 video: VideoInfo
cef534ed
C
84 }
85
d95d1559 86 abuse?: {
cef534ed 87 id: number
594d3e48 88 state: AbuseState
d95d1559
C
89
90 video?: VideoInfo
91
92 comment?: {
93 threadId: number
94
29837f88 95 video: VideoInfo
d95d1559
C
96 }
97
98 account?: ActorInfo
cef534ed
C
99 }
100
101 videoBlacklist?: {
102 id: number
103 video: VideoInfo
104 }
105
457bb213 106 account?: ActorInfo
f7cc67b4
C
107
108 actorFollow?: {
109 id: number
457bb213 110 follower: ActorInfo
883993c8 111 state: FollowState
8424c402 112
f7cc67b4 113 following: {
8424c402 114 type: 'account' | 'channel' | 'instance'
f7cc67b4
C
115 name: string
116 displayName: string
8424c402 117 host: string
f7cc67b4
C
118 }
119 }
120
32a18cbf
C
121 plugin?: {
122 name: string
123 type: PluginType
124 latestVersion: string
125 }
126
127 peertube?: {
128 latestVersion: string
129 }
130
e364e31e
C
131 registration?: {
132 id: number
133 username: string
134 }
135
cef534ed
C
136 createdAt: string
137 updatedAt: string
138}