From 7fed637506043e4432cbebe041ada0625171cceb Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 22 Apr 2020 16:07:04 +0200 Subject: Begin auth plugin support --- server/typings/express.ts | 13 ++++++++++++- server/typings/plugins/register-server-option.model.ts | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'server/typings') diff --git a/server/typings/express.ts b/server/typings/express.ts index f4188bf3d..ebccf7f7d 100644 --- a/server/typings/express.ts +++ b/server/typings/express.ts @@ -28,12 +28,23 @@ import { MVideoChangeOwnershipFull } from './models/video/video-change-ownership import { MPlugin, MServer } from '@server/typings/models/server' import { MServerBlocklist } from './models/server/server-blocklist' import { MOAuthTokenUser } from '@server/typings/models/oauth/oauth-token' +import { UserRole } from '@shared/models' declare module 'express' { - interface Response { locals: { + bypassLogin?: { + bypass: boolean + pluginName: string + user: { + username: string + email: string + displayName: string + role: UserRole + } + } + videoAll?: MVideoFullLight onlyImmutableVideo?: MVideoImmutable onlyVideo?: MVideoThumbnail diff --git a/server/typings/plugins/register-server-option.model.ts b/server/typings/plugins/register-server-option.model.ts index 813e93003..0c0993c14 100644 --- a/server/typings/plugins/register-server-option.model.ts +++ b/server/typings/plugins/register-server-option.model.ts @@ -9,6 +9,7 @@ import { Logger } from 'winston' import { Router } from 'express' import { PluginVideoPrivacyManager } from '@shared/models/plugins/plugin-video-privacy-manager.model' import { PluginPlaylistPrivacyManager } from '@shared/models/plugins/plugin-playlist-privacy-manager.model' +import { RegisterServerAuthPassOptions, RegisterServerAuthExternalOptions, RegisterServerAuthExternalResult } from '@shared/models/plugins/register-server-auth.model' export type PeerTubeHelpers = { logger: Logger @@ -38,6 +39,9 @@ export type RegisterServerOptions = { videoPrivacyManager: PluginVideoPrivacyManager playlistPrivacyManager: PluginPlaylistPrivacyManager + registerIdAndPassAuth: (options: RegisterServerAuthPassOptions) => void + registerExternalAuth: (options: RegisterServerAuthExternalOptions) => RegisterServerAuthExternalResult + // Get plugin router to create custom routes // Base routes of this router are // * /plugins/:pluginName/:pluginVersion/router/... -- cgit v1.2.3