]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/types/plugins/register-server-auth.model.ts
External auth can set more user fields
[github/Chocobozzz/PeerTube.git] / server / types / plugins / register-server-auth.model.ts
index 31c71b0d01d905a6d3c53677ae960ac845f391c5..a17fc4b0fca7367344ccb1bb38a59351ed13a34d 100644 (file)
@@ -1,5 +1,5 @@
-import * as express from 'express'
-import { UserRole } from '@shared/models'
+import express from 'express'
+import { UserAdminFlag, UserRole } from '@shared/models'
 import { MOAuthToken, MUser } from '../models'
 
 export type RegisterServerAuthOptions = RegisterServerAuthPassOptions | RegisterServerAuthExternalOptions
@@ -9,6 +9,11 @@ export interface RegisterServerAuthenticatedResult {
   email: string
   role?: UserRole
   displayName?: string
+
+  adminFlags?: UserAdminFlag
+
+  videoQuota?: number
+  videoQuotaDaily?: number
 }
 
 export interface RegisterServerExternalAuthenticatedResult extends RegisterServerAuthenticatedResult {
@@ -21,7 +26,8 @@ interface RegisterServerAuthBase {
   authName: string
 
   // Called by PeerTube when a user from your plugin logged out
-  onLogout?(user: MUser): void
+  // Returns a redirectUrl sent to the client or nothing
+  onLogout?(user: MUser, req: express.Request): Promise<string>
 
   // Your plugin can hook PeerTube access/refresh token validity
   // So you can control for your plugin the user session lifetime