Moderation configuration screen: WIP.

This commit is contained in:
John Livingston
2023-08-08 18:26:40 +02:00
parent efb8710f67
commit 02728bb38d
10 changed files with 177 additions and 7 deletions

View File

@ -75,6 +75,20 @@ async function isUserAdmin (options: RegisterServerOptions, res: Response): Prom
return true
}
async function isUserAdminOrModerator (options: RegisterServerOptions, res: Response): Promise<boolean> {
const user = await options.peertubeHelpers.user.getAuthUser(res)
if (!user) {
return false
}
if (user.blocked) {
return false
}
if (user.role !== 0 && user.role !== 1) {
return false
}
return true
}
type Unpack<T> = T extends Promise<infer U | undefined> ? U : T
type AuthUser = Unpack<ReturnType<PeerTubeHelpers['user']['getAuthUser']>>
@ -95,6 +109,7 @@ export {
getBaseWebSocketRoute,
getBaseStaticRoute,
isUserAdmin,
isUserAdminOrModerator,
getUserNickname,
pluginName,
pluginShortName,