]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/plugins/server-hook.model.ts
Add plugin static files cache
[github/Chocobozzz/PeerTube.git] / shared / models / plugins / server-hook.model.ts
CommitLineData
a8b666e9
C
1// {hookType}:{api?}.{location}.{subLocation?}.{actionType}.{target}
2
7663e55a
C
3export const serverFilterHookObject = {
4 'filter:api.videos.list.params': true,
5 'filter:api.videos.list.result': true,
6 'filter:api.video.get.result': true,
b4055e1c 7
7663e55a
C
8 'filter:api.video.upload.accept.result': true,
9 'filter:api.video-thread.create.accept.result': true,
10 'filter:api.video-comment-reply.create.accept.result': true,
b4055e1c 11
7663e55a
C
12 'filter:api.video-threads.list.params': true,
13 'filter:api.video-threads.list.result': true,
b4055e1c 14
7663e55a
C
15 'filter:api.video-thread-comments.list.params': true,
16 'filter:api.video-thread-comments.list.result': true,
6691c522 17
7663e55a
C
18 'filter:video.auto-blacklist.result': true
19}
20
21export type ServerFilterHookName = keyof typeof serverFilterHookObject
b4055e1c 22
7663e55a
C
23export const serverActionHookObject = {
24 'action:application.listening': true,
b4055e1c 25
7663e55a
C
26 'action:api.video.updated': true,
27 'action:api.video.deleted': true,
28 'action:api.video.uploaded': true,
29 'action:api.video.viewed': true,
30
31 'action:api.video-thread.created': true,
32 'action:api.video-comment-reply.created': true,
33 'action:api.video-comment.deleted': true
34}
b4055e1c 35
7663e55a 36export type ServerActionHookName = keyof typeof serverActionHookObject
b4055e1c 37
7663e55a
C
38export const serverHookObject = Object.assign({}, serverFilterHookObject, serverActionHookObject)
39export type ServerHookName = keyof typeof serverHookObject
b4055e1c
C
40
41export interface ServerHook {
93cae479 42 runHook <T> (hookName: ServerHookName, result?: T, params?: any): Promise<T>
b4055e1c 43}