WIP plugins: add ability to register plugins
[oweals/peertube.git] / server / typings / express.ts
1 import { VideoChannelModel } from '../models/video/video-channel'
2 import { VideoPlaylistModel } from '../models/video/video-playlist'
3 import { VideoPlaylistElementModel } from '../models/video/video-playlist-element'
4 import { UserModel } from '../models/account/user'
5 import { VideoModel } from '../models/video/video'
6 import { AccountModel } from '../models/account/account'
7 import { VideoChangeOwnershipModel } from '../models/video/video-change-ownership'
8 import { ActorModel } from '../models/activitypub/actor'
9 import { VideoCommentModel } from '../models/video/video-comment'
10 import { VideoShareModel } from '../models/video/video-share'
11 import { AccountVideoRateModel } from '../models/account/account-video-rate'
12 import { ActorFollowModel } from '../models/activitypub/actor-follow'
13 import { ServerModel } from '../models/server/server'
14 import { VideoFileModel } from '../models/video/video-file'
15 import { VideoRedundancyModel } from '../models/redundancy/video-redundancy'
16 import { ServerBlocklistModel } from '../models/server/server-blocklist'
17 import { AccountBlocklistModel } from '../models/account/account-blocklist'
18 import { VideoImportModel } from '../models/video/video-import'
19 import { VideoAbuseModel } from '../models/video/video-abuse'
20 import { VideoBlacklistModel } from '../models/video/video-blacklist'
21 import { VideoCaptionModel } from '../models/video/video-caption'
22 import { VideoStreamingPlaylistModel } from '../models/video/video-streaming-playlist'
23 import { RegisteredPlugin } from '../lib/plugins/plugin-manager'
24
25 declare module 'express' {
26
27
28   interface Response {
29     locals: {
30       video?: VideoModel
31       videoShare?: VideoShareModel
32       videoFile?: VideoFileModel
33
34       videoImport?: VideoImportModel
35
36       videoBlacklist?: VideoBlacklistModel
37
38       videoCaption?: VideoCaptionModel
39
40       videoAbuse?: VideoAbuseModel
41
42       videoStreamingPlaylist?: VideoStreamingPlaylistModel
43
44       videoChannel?: VideoChannelModel
45
46       videoPlaylist?: VideoPlaylistModel
47       videoPlaylistElement?: VideoPlaylistElementModel
48
49       accountVideoRate?: AccountVideoRateModel
50
51       videoComment?: VideoCommentModel
52       videoCommentThread?: VideoCommentModel
53
54       follow?: ActorFollowModel
55       subscription?: ActorFollowModel
56
57       nextOwner?: AccountModel
58       videoChangeOwnership?: VideoChangeOwnershipModel
59       account?: AccountModel
60       actor?: ActorModel
61       user?: UserModel
62
63       server?: ServerModel
64
65       videoRedundancy?: VideoRedundancyModel
66
67       accountBlock?: AccountBlocklistModel
68       serverBlock?: ServerBlocklistModel
69
70       oauth?: {
71         token: {
72           User: UserModel
73           user: UserModel
74         }
75       }
76
77       signature?: {
78         actor: ActorModel
79       }
80
81       authenticated?: boolean
82
83       registeredPlugin?: RegisteredPlugin
84     }
85   }
86 }