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