mod_muc_http_defaults WIP.

This commit is contained in:
John Livingston
2021-04-29 18:31:48 +02:00
parent a4d671bf50
commit c19035c0b7
3 changed files with 55 additions and 10 deletions

43
server/lib/routers/api.ts Normal file
View File

@ -0,0 +1,43 @@
import type { Router, Request, Response, NextFunction } from 'express'
// See here for description: https://modules.prosody.im/mod_muc_http_defaults.html
interface RoomDefaults {
name: string
description: string
// language: string
// persistent: boolean
public: boolean
// members_only: boolean
// allow_member_invites: boolean
// public_jids: boolean
subject: string
// changesubject: boolean
// // historylength: number
// moderated: boolean
// archiving: boolean
// affiliations: RoomAffiliation[]
}
async function initApiRouter (options: RegisterServerOptions): Promise<Router> {
const { peertubeHelpers, getRouter } = options
const router = getRouter()
const logger = peertubeHelpers.logger
router.get('/room', async (_req: Request, res: Response, _next: NextFunction) => {
logger.info('Requesting room information for room ...')
// TODO: check if room is legit and fill informations
const roomDefaults: RoomDefaults = {
name: 'name_of_the_room',
description: 'room description',
public: false,
subject: 'subject'
}
res.json(roomDefaults)
})
return router
}
export {
initApiRouter
}

View File

@ -1,6 +1,7 @@
import type { NextFunction, Request, Response } from 'express'
import { initWebchatRouter } from './webchat'
import { initSettingsRouter } from './settings'
import { initApiRouter } from './api'
async function initRouters (options: RegisterServerOptions): Promise<void> {
const { getRouter } = options
@ -10,6 +11,7 @@ async function initRouters (options: RegisterServerOptions): Promise<void> {
router.use('/webchat', await initWebchatRouter(options))
router.use('/settings', await initSettingsRouter(options))
router.use('/api', await initApiRouter(options))
}
export {