| const express = require('express'); |
| const { |
| createFileLimiters, |
| configMiddleware, |
| requireJwtAuth, |
| uaParser, |
| checkBan, |
| } = require('~/server/middleware'); |
| const { avatar: asstAvatarRouter } = require('~/server/routes/assistants/v1'); |
| const { avatar: agentAvatarRouter } = require('~/server/routes/agents/v1'); |
| const { createMulterInstance } = require('./multer'); |
|
|
| const files = require('./files'); |
| const images = require('./images'); |
| const avatar = require('./avatar'); |
| const speech = require('./speech'); |
|
|
| const initialize = async () => { |
| const router = express.Router(); |
| router.use(requireJwtAuth); |
| router.use(configMiddleware); |
| router.use(checkBan); |
| router.use(uaParser); |
|
|
| const upload = await createMulterInstance(); |
| router.post('/speech/stt', upload.single('audio')); |
|
|
| |
| router.use('/speech', speech); |
|
|
| const { fileUploadIpLimiter, fileUploadUserLimiter } = createFileLimiters(); |
| router.post('*', fileUploadIpLimiter, fileUploadUserLimiter); |
| router.post('/', upload.single('file')); |
| router.post('/images', upload.single('file')); |
| router.post('/images/avatar', upload.single('file')); |
| router.post('/images/agents/:agent_id/avatar', upload.single('file')); |
| router.post('/images/assistants/:assistant_id/avatar', upload.single('file')); |
|
|
| router.use('/', files); |
| router.use('/images', images); |
| router.use('/images/avatar', avatar); |
| router.use('/images/agents', agentAvatarRouter); |
| router.use('/images/assistants', asstAvatarRouter); |
| return router; |
| }; |
|
|
| module.exports = { initialize }; |
|
|