Skip to content

Commit b93ccf3

Browse files
christopherholland-workdaychristopherholland-workdaygemini-code-assist[bot]yau-wd
authored
Add Permission Checks to Vector Store API's (#6045)
* Add Permission Checks to Vector Store API's * Update packages/server/src/routes/openai-assistants-vector-store/index.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Co-authored-by: christopherholland-workday <christopher.holland+evisort@workday.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: yau-wd <yau.ong@workday.com>
1 parent 9f96992 commit b93ccf3

2 files changed

Lines changed: 25 additions & 13 deletions

File tree

  • packages/server/src/routes
Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,38 @@
11
import express from 'express'
22
import openaiAssistantsVectorStoreController from '../../controllers/openai-assistants-vector-store'
33
import { getMulterStorage } from '../../utils'
4+
import { checkPermission, checkAnyPermission } from '../../enterprise/rbac/PermissionCheck'
45

56
const router = express.Router()
67

78
// CREATE
8-
router.post('/', openaiAssistantsVectorStoreController.createAssistantVectorStore)
9+
router.post('/', checkPermission('assistants:create'), openaiAssistantsVectorStoreController.createAssistantVectorStore)
910

1011
// READ
11-
router.get('/:id', openaiAssistantsVectorStoreController.getAssistantVectorStore)
12+
router.get('/:id', checkPermission('assistants:view'), openaiAssistantsVectorStoreController.getAssistantVectorStore)
1213

1314
// LIST
14-
router.get('/', openaiAssistantsVectorStoreController.listAssistantVectorStore)
15+
router.get('/', checkPermission('assistants:view'), openaiAssistantsVectorStoreController.listAssistantVectorStore)
1516

1617
// UPDATE
17-
router.put(['/', '/:id'], openaiAssistantsVectorStoreController.updateAssistantVectorStore)
18+
router.put(
19+
['/', '/:id'],
20+
checkAnyPermission('assistants:create,assistants:update'),
21+
openaiAssistantsVectorStoreController.updateAssistantVectorStore
22+
)
1823

1924
// 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)
2737

2838
export default router

packages/server/src/routes/openai-assistants/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import express from 'express'
22
import openaiAssistantsController from '../../controllers/openai-assistants'
3+
import { checkPermission } from '../../enterprise/rbac/PermissionCheck'
4+
35
const router = express.Router()
46

57
// CREATE
68

79
// READ
8-
router.get('/', openaiAssistantsController.getAllOpenaiAssistants)
9-
router.get(['/', '/:id'], openaiAssistantsController.getSingleOpenaiAssistant)
10+
router.get('/', checkPermission('assistants:view'), openaiAssistantsController.getAllOpenaiAssistants)
11+
router.get(['/', '/:id'], checkPermission('assistants:view'), openaiAssistantsController.getSingleOpenaiAssistant)
1012

1113
// UPDATE
1214

0 commit comments

Comments
 (0)