diff options
Diffstat (limited to 'shared/models')
-rw-r--r-- | shared/models/index.ts | 1 | ||||
-rw-r--r-- | shared/models/joinpeertube/index.ts | 1 | ||||
-rw-r--r-- | shared/models/joinpeertube/versions.model.ts | 5 | ||||
-rw-r--r-- | shared/models/plugins/client-hook.model.ts | 21 | ||||
-rw-r--r-- | shared/models/plugins/server-hook.model.ts | 20 | ||||
-rw-r--r-- | shared/models/server/emailer.model.ts | 53 | ||||
-rw-r--r-- | shared/models/server/job.model.ts | 2 | ||||
-rw-r--r-- | shared/models/users/user-notification-setting.model.ts | 3 | ||||
-rw-r--r-- | shared/models/users/user-notification.model.ts | 18 |
9 files changed, 111 insertions, 13 deletions
diff --git a/shared/models/index.ts b/shared/models/index.ts index 2214f7ca3..f105303f4 100644 --- a/shared/models/index.ts +++ b/shared/models/index.ts | |||
@@ -7,6 +7,7 @@ export * from './redundancy' | |||
7 | export * from './users' | 7 | export * from './users' |
8 | export * from './videos' | 8 | export * from './videos' |
9 | export * from './feeds' | 9 | export * from './feeds' |
10 | export * from './joinpeertube' | ||
10 | export * from './overviews' | 11 | export * from './overviews' |
11 | export * from './plugins' | 12 | export * from './plugins' |
12 | export * from './search' | 13 | export * from './search' |
diff --git a/shared/models/joinpeertube/index.ts b/shared/models/joinpeertube/index.ts new file mode 100644 index 000000000..9681c35ad --- /dev/null +++ b/shared/models/joinpeertube/index.ts | |||
@@ -0,0 +1 @@ | |||
export * from './versions.model' | |||
diff --git a/shared/models/joinpeertube/versions.model.ts b/shared/models/joinpeertube/versions.model.ts new file mode 100644 index 000000000..60a769150 --- /dev/null +++ b/shared/models/joinpeertube/versions.model.ts | |||
@@ -0,0 +1,5 @@ | |||
1 | export interface JoinPeerTubeVersions { | ||
2 | peertube: { | ||
3 | latestVersion: string | ||
4 | } | ||
5 | } | ||
diff --git a/shared/models/plugins/client-hook.model.ts b/shared/models/plugins/client-hook.model.ts index 7b7144676..f8ca32771 100644 --- a/shared/models/plugins/client-hook.model.ts +++ b/shared/models/plugins/client-hook.model.ts | |||
@@ -85,8 +85,27 @@ export const clientActionHookObject = { | |||
85 | // Fired when the registration page is being initialized | 85 | // Fired when the registration page is being initialized |
86 | 'action:signup.register.init': true, | 86 | 'action:signup.register.init': true, |
87 | 87 | ||
88 | // Fired when the video upload page is being initalized | ||
89 | 'action:video-upload.init': true, | ||
90 | // Fired when the video import by URL page is being initalized | ||
91 | 'action:video-url-import.init': true, | ||
92 | // Fired when the video import by torrent/magnet URI page is being initalized | ||
93 | 'action:video-torrent-import.init': true, | ||
94 | // Fired when the "Go Live" page is being initalized | ||
95 | 'action:go-live.init': true, | ||
96 | |||
97 | // Fired when the user explicitely logged in/logged out | ||
98 | 'action:auth-user.logged-in': true, | ||
99 | 'action:auth-user.logged-out': true, | ||
100 | // Fired when the application loaded user information (using tokens from the local storage or after a successful login) | ||
101 | 'action:auth-user.information-loaded': true, | ||
102 | |||
103 | // Fired when the modal to download a video/caption is shown | ||
104 | 'action:modal.video-download.shown': true, | ||
105 | |||
88 | // ####### Embed hooks ####### | 106 | // ####### Embed hooks ####### |
89 | // In embed scope, peertube helpers are not available | 107 | // /!\ In embed scope, peertube helpers are not available |
108 | // ########################### | ||
90 | 109 | ||
91 | // Fired when the embed loaded the player | 110 | // Fired when the embed loaded the player |
92 | 'action:embed.player.loaded': true | 111 | 'action:embed.player.loaded': true |
diff --git a/shared/models/plugins/server-hook.model.ts b/shared/models/plugins/server-hook.model.ts index 082b4b591..88277af5a 100644 --- a/shared/models/plugins/server-hook.model.ts +++ b/shared/models/plugins/server-hook.model.ts | |||
@@ -18,6 +18,16 @@ export const serverFilterHookObject = { | |||
18 | 'filter:api.user.me.videos.list.params': true, | 18 | 'filter:api.user.me.videos.list.params': true, |
19 | 'filter:api.user.me.videos.list.result': true, | 19 | 'filter:api.user.me.videos.list.result': true, |
20 | 20 | ||
21 | // Filter params/results to search videos/channels in the DB or on the remote index | ||
22 | 'filter:api.search.videos.local.list.params': true, | ||
23 | 'filter:api.search.videos.local.list.result': true, | ||
24 | 'filter:api.search.videos.index.list.params': true, | ||
25 | 'filter:api.search.videos.index.list.result': true, | ||
26 | 'filter:api.search.video-channels.local.list.params': true, | ||
27 | 'filter:api.search.video-channels.local.list.result': true, | ||
28 | 'filter:api.search.video-channels.index.list.params': true, | ||
29 | 'filter:api.search.video-channels.index.list.result': true, | ||
30 | |||
21 | // Filter the result of the get function | 31 | // Filter the result of the get function |
22 | // Used to get detailed video information (video watch page for example) | 32 | // Used to get detailed video information (video watch page for example) |
23 | 'filter:api.video.get.result': true, | 33 | 'filter:api.video.get.result': true, |
@@ -50,7 +60,15 @@ export const serverFilterHookObject = { | |||
50 | 'filter:video.auto-blacklist.result': true, | 60 | 'filter:video.auto-blacklist.result': true, |
51 | 61 | ||
52 | // Filter result used to check if a user can register on the instance | 62 | // Filter result used to check if a user can register on the instance |
53 | 'filter:api.user.signup.allowed.result': true | 63 | 'filter:api.user.signup.allowed.result': true, |
64 | |||
65 | // Filter result used to check if video/torrent download is allowed | ||
66 | 'filter:api.download.video.allowed.result': true, | ||
67 | 'filter:api.download.torrent.allowed.result': true, | ||
68 | |||
69 | // Filter result to check if the embed is allowed for a particular request | ||
70 | 'filter:html.embed.video.allowed.result': true, | ||
71 | 'filter:html.embed.video-playlist.allowed.result': true | ||
54 | } | 72 | } |
55 | 73 | ||
56 | export type ServerFilterHookName = keyof typeof serverFilterHookObject | 74 | export type ServerFilterHookName = keyof typeof serverFilterHookObject |
diff --git a/shared/models/server/emailer.model.ts b/shared/models/server/emailer.model.ts index 069ef0bab..39512d306 100644 --- a/shared/models/server/emailer.model.ts +++ b/shared/models/server/emailer.model.ts | |||
@@ -1,12 +1,49 @@ | |||
1 | export type SendEmailOptions = { | 1 | type From = string | { name?: string, address: string } |
2 | to: string[] | ||
3 | 2 | ||
4 | template?: string | 3 | interface Base extends Partial<SendEmailDefaultMessageOptions> { |
4 | to: string[] | string | ||
5 | } | ||
6 | |||
7 | interface MailTemplate extends Base { | ||
8 | template: string | ||
5 | locals?: { [key: string]: any } | 9 | locals?: { [key: string]: any } |
10 | text?: undefined | ||
11 | } | ||
12 | |||
13 | interface MailText extends Base { | ||
14 | text: string | ||
6 | 15 | ||
7 | // override defaults | 16 | locals?: Partial<SendEmailDefaultLocalsOptions> & { |
8 | subject?: string | 17 | title?: string |
9 | text?: string | 18 | action?: { |
10 | from?: string | { name?: string, address: string } | 19 | url: string |
11 | replyTo?: string | 20 | text: string |
21 | } | ||
22 | } | ||
12 | } | 23 | } |
24 | |||
25 | interface SendEmailDefaultLocalsOptions { | ||
26 | instanceName: string | ||
27 | text: string | ||
28 | subject: string | ||
29 | } | ||
30 | |||
31 | interface SendEmailDefaultMessageOptions { | ||
32 | to: string[] | string | ||
33 | from: From | ||
34 | subject: string | ||
35 | replyTo: string | ||
36 | } | ||
37 | |||
38 | export type SendEmailDefaultOptions = { | ||
39 | template: 'common' | ||
40 | |||
41 | message: SendEmailDefaultMessageOptions | ||
42 | |||
43 | locals: SendEmailDefaultLocalsOptions & { | ||
44 | WEBSERVER: any | ||
45 | EMAIL: any | ||
46 | } | ||
47 | } | ||
48 | |||
49 | export type SendEmailOptions = MailTemplate | MailText | ||
diff --git a/shared/models/server/job.model.ts b/shared/models/server/job.model.ts index 83ef84457..e4acfee8d 100644 --- a/shared/models/server/job.model.ts +++ b/shared/models/server/job.model.ts | |||
@@ -59,7 +59,7 @@ export type ActivitypubHttpFetcherPayload = { | |||
59 | export type ActivitypubHttpUnicastPayload = { | 59 | export type ActivitypubHttpUnicastPayload = { |
60 | uri: string | 60 | uri: string |
61 | signatureActorId?: number | 61 | signatureActorId?: number |
62 | body: any | 62 | body: object |
63 | contextType?: ContextType | 63 | contextType?: ContextType |
64 | } | 64 | } |
65 | 65 | ||
diff --git a/shared/models/users/user-notification-setting.model.ts b/shared/models/users/user-notification-setting.model.ts index 473148062..977e6b985 100644 --- a/shared/models/users/user-notification-setting.model.ts +++ b/shared/models/users/user-notification-setting.model.ts | |||
@@ -24,4 +24,7 @@ export interface UserNotificationSetting { | |||
24 | 24 | ||
25 | abuseStateChange: UserNotificationSettingValue | 25 | abuseStateChange: UserNotificationSettingValue |
26 | abuseNewMessage: UserNotificationSettingValue | 26 | abuseNewMessage: UserNotificationSettingValue |
27 | |||
28 | newPeerTubeVersion: UserNotificationSettingValue | ||
29 | newPluginVersion: UserNotificationSettingValue | ||
27 | } | 30 | } |
diff --git a/shared/models/users/user-notification.model.ts b/shared/models/users/user-notification.model.ts index e2f2234e4..8b33e3fbd 100644 --- a/shared/models/users/user-notification.model.ts +++ b/shared/models/users/user-notification.model.ts | |||
@@ -1,7 +1,8 @@ | |||
1 | import { FollowState } from '../actors' | 1 | import { FollowState } from '../actors' |
2 | import { AbuseState } from '../moderation' | 2 | import { AbuseState } from '../moderation' |
3 | import { PluginType } from '../plugins' | ||
3 | 4 | ||
4 | export enum UserNotificationType { | 5 | export const enum UserNotificationType { |
5 | NEW_VIDEO_FROM_SUBSCRIPTION = 1, | 6 | NEW_VIDEO_FROM_SUBSCRIPTION = 1, |
6 | NEW_COMMENT_ON_MY_VIDEO = 2, | 7 | NEW_COMMENT_ON_MY_VIDEO = 2, |
7 | NEW_ABUSE_FOR_MODERATORS = 3, | 8 | NEW_ABUSE_FOR_MODERATORS = 3, |
@@ -26,7 +27,10 @@ export enum UserNotificationType { | |||
26 | 27 | ||
27 | ABUSE_STATE_CHANGE = 15, | 28 | ABUSE_STATE_CHANGE = 15, |
28 | 29 | ||
29 | ABUSE_NEW_MESSAGE = 16 | 30 | ABUSE_NEW_MESSAGE = 16, |
31 | |||
32 | NEW_PLUGIN_VERSION = 17, | ||
33 | NEW_PEERTUBE_VERSION = 18 | ||
30 | } | 34 | } |
31 | 35 | ||
32 | export interface VideoInfo { | 36 | export interface VideoInfo { |
@@ -108,6 +112,16 @@ export interface UserNotification { | |||
108 | } | 112 | } |
109 | } | 113 | } |
110 | 114 | ||
115 | plugin?: { | ||
116 | name: string | ||
117 | type: PluginType | ||
118 | latestVersion: string | ||
119 | } | ||
120 | |||
121 | peertube?: { | ||
122 | latestVersion: string | ||
123 | } | ||
124 | |||
111 | createdAt: string | 125 | createdAt: string |
112 | updatedAt: string | 126 | updatedAt: string |
113 | } | 127 | } |