Using types declarations from the official @peertube/peertube-types package.

This commit is contained in:
John Livingston
2022-01-11 01:29:33 +01:00
parent c1fb7b69ed
commit 7db856ce0f
35 changed files with 3131 additions and 275 deletions

View File

@ -1,3 +1,4 @@
import type { RegisterServerOptions, PeerTubeHelpers } from '@peertube/peertube-types'
import { Response } from 'express'
const packagejson: any = require('../../../package.json')
@ -39,7 +40,16 @@ async function isUserAdmin (options: RegisterServerOptions, res: Response): Prom
return true
}
async function getUserNickname (options: RegisterServerOptions, user: MUserDefault): Promise<string | undefined> {
// FIXME: @peertube/peertube-types@4.0.0-beta.3 is missing user.Account.name definition.
type Unpack<T> = T extends Promise<infer U | undefined> ? U : T
type AuthUser = Unpack<ReturnType<PeerTubeHelpers['user']['getAuthUser']>>
interface AuthUserFixed extends AuthUser {
Account?: {
name: string
}
}
async function getUserNickname (options: RegisterServerOptions, user: AuthUserFixed): Promise<string | undefined> {
const peertubeHelpers = options.peertubeHelpers
const logger = peertubeHelpers.logger