|
1 | 1 | import express from 'express' |
2 | 2 | import openaiAssistantsVectorStoreController from '../../controllers/openai-assistants-vector-store' |
3 | 3 | import { getMulterStorage } from '../../utils' |
| 4 | +import { checkPermission, checkAnyPermission } from '../../enterprise/rbac/PermissionCheck' |
4 | 5 |
|
5 | 6 | const router = express.Router() |
6 | 7 |
|
7 | 8 | // CREATE |
8 | | -router.post('/', openaiAssistantsVectorStoreController.createAssistantVectorStore) |
| 9 | +router.post('/', checkPermission('assistants:create'), openaiAssistantsVectorStoreController.createAssistantVectorStore) |
9 | 10 |
|
10 | 11 | // READ |
11 | | -router.get('/:id', openaiAssistantsVectorStoreController.getAssistantVectorStore) |
| 12 | +router.get('/:id', checkPermission('assistants:view'), openaiAssistantsVectorStoreController.getAssistantVectorStore) |
12 | 13 |
|
13 | 14 | // LIST |
14 | | -router.get('/', openaiAssistantsVectorStoreController.listAssistantVectorStore) |
| 15 | +router.get('/', checkPermission('assistants:view'), openaiAssistantsVectorStoreController.listAssistantVectorStore) |
15 | 16 |
|
16 | 17 | // UPDATE |
17 | | -router.put(['/', '/:id'], openaiAssistantsVectorStoreController.updateAssistantVectorStore) |
| 18 | +router.put( |
| 19 | + ['/', '/:id'], |
| 20 | + checkAnyPermission('assistants:create,assistants:update'), |
| 21 | + openaiAssistantsVectorStoreController.updateAssistantVectorStore |
| 22 | +) |
18 | 23 |
|
19 | 24 | // DELETE |
20 | | -router.delete(['/', '/:id'], openaiAssistantsVectorStoreController.deleteAssistantVectorStore) |
21 | | - |
22 | | -// POST |
23 | | -router.post('/:id', getMulterStorage().array('files'), openaiAssistantsVectorStoreController.uploadFilesToAssistantVectorStore) |
24 | | - |
25 | | -// DELETE |
26 | | -router.patch(['/', '/:id'], openaiAssistantsVectorStoreController.deleteFilesFromAssistantVectorStore) |
| 25 | +router.delete(['/', '/:id'], checkPermission('assistants:delete'), openaiAssistantsVectorStoreController.deleteAssistantVectorStore) |
| 26 | + |
| 27 | +// UPLOAD FILES — permission check must precede multer to reject unauthorized requests before file parsing |
| 28 | +router.post( |
| 29 | + '/:id', |
| 30 | + checkAnyPermission('assistants:create,assistants:update'), |
| 31 | + getMulterStorage().array('files'), |
| 32 | + openaiAssistantsVectorStoreController.uploadFilesToAssistantVectorStore |
| 33 | +) |
| 34 | + |
| 35 | +// DELETE FILES |
| 36 | +router.patch(['/', '/:id'], checkPermission('assistants:update'), openaiAssistantsVectorStoreController.deleteFilesFromAssistantVectorStore) |
27 | 37 |
|
28 | 38 | export default router |
0 commit comments