aboutsummaryrefslogblamecommitdiffhomepage
path: root/server/typings/express/index.d.ts
blob: a83619a0e64b40705812b03cc984eaed9f9426db (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11

                                                                 
                
                 






                            

                            






                                                                                                                                       
                                                                   





                                        
                         


                          







                        
                           

                          
                            


              
                      
 
             


                          
                         







                             

                                   

                             
                                
                                          



                                            

                            









                                       
                            
                                  
 
                                                 
 
                                           
 

                                                      
 
                                                  
                                                                           
 
                                                      
 

                                                
 

                                                          
 

                                                      
 
                               
 
                          
                            
 
                         
 
                      
 
                                             
 

                                      

               
                              


                   
                                     


                             

                                         
 

                                                      
                      


     
import { RegisterServerAuthExternalOptions } from '@server/types'
import {
  MAbuseMessage,
  MAbuseReporter,
  MAccountBlocklist,
  MActorUrl,
  MStreamingPlaylist,
  MVideoChangeOwnershipFull,
  MVideoFile,
  MVideoImmutable,
  MVideoPlaylistFull,
  MVideoPlaylistFullSummary,
  MVideoLive
} from '@server/types/models'
import { MOAuthTokenUser } from '@server/types/models/oauth/oauth-token'
import { MPlugin, MServer, MServerBlocklist } from '@server/types/models/server'
import { MVideoImportDefault } from '@server/types/models/video/video-import'
import { MVideoPlaylistElement, MVideoPlaylistElementVideoUrlPlaylistPrivacy } from '@server/types/models/video/video-playlist-element'
import { MAccountVideoRateAccountVideo } from '@server/types/models/video/video-rate'
import { UserRole } from '@shared/models'
import { RegisteredPlugin } from '../../lib/plugins/plugin-manager'
import {
  MAccountDefault,
  MActorAccountChannelId,
  MActorFollowActorsDefault,
  MActorFollowActorsDefaultSubscription,
  MActorFull,
  MChannelAccountDefault,
  MComment,
  MCommentOwnerVideoReply,
  MUserDefault,
  MVideoBlacklist,
  MVideoCaptionVideo,
  MVideoFullLight,
  MVideoIdThumbnail,
  MVideoRedundancyVideo,
  MVideoShareActor,
  MVideoThumbnail,
  MVideoWithRights
} from '../../types/models'

declare module 'express' {
  export interface Request {
    query: any
  }

  interface Response {

    locals: {
      bypassLogin?: {
        bypass: boolean
        pluginName: string
        authName?: string
        user: {
          username: string
          email: string
          displayName: string
          role: UserRole
        }
      }

      refreshTokenAuthName?: string

      explicitLogout: boolean

      videoAll?: MVideoFullLight
      onlyImmutableVideo?: MVideoImmutable
      onlyVideo?: MVideoThumbnail
      onlyVideoWithRights?: MVideoWithRights
      videoId?: MVideoIdThumbnail

      videoLive?: MVideoLive

      videoShare?: MVideoShareActor

      videoFile?: MVideoFile

      videoImport?: MVideoImportDefault

      videoBlacklist?: MVideoBlacklist

      videoCaption?: MVideoCaptionVideo

      abuse?: MAbuseReporter
      abuseMessage?: MAbuseMessage

      videoStreamingPlaylist?: MStreamingPlaylist

      videoChannel?: MChannelAccountDefault

      videoPlaylistFull?: MVideoPlaylistFull
      videoPlaylistSummary?: MVideoPlaylistFullSummary

      videoPlaylistElement?: MVideoPlaylistElement
      videoPlaylistElementAP?: MVideoPlaylistElementVideoUrlPlaylistPrivacy

      accountVideoRate?: MAccountVideoRateAccountVideo

      videoCommentFull?: MCommentOwnerVideoReply
      videoCommentThread?: MComment

      follow?: MActorFollowActorsDefault
      subscription?: MActorFollowActorsDefaultSubscription

      nextOwner?: MAccountDefault
      videoChangeOwnership?: MVideoChangeOwnershipFull

      account?: MAccountDefault

      actorUrl?: MActorUrl
      actorFull?: MActorFull

      user?: MUserDefault

      server?: MServer

      videoRedundancy?: MVideoRedundancyVideo

      accountBlock?: MAccountBlocklist
      serverBlock?: MServerBlocklist

      oauth?: {
        token: MOAuthTokenUser
      }

      signature?: {
        actor: MActorAccountChannelId
      }

      authenticated?: boolean

      registeredPlugin?: RegisteredPlugin

      externalAuth?: RegisterServerAuthExternalOptions

      plugin?: MPlugin
    }
  }
}