peertube-plugin-livechat/server/lib/routers/api.ts

45 lines
1.2 KiB
TypeScript
Raw Normal View History

2021-04-29 16:31:48 +00:00
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
2021-04-30 14:48:16 +00:00
router.get('/room', async (req: Request, res: Response, _next: NextFunction) => {
const jid: string = req.query.jid as string || ''
logger.info(`Requesting room information for room '${jid}'.`)
2021-04-29 16:31:48 +00:00
// 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
}