mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-09-22 06:00:56 +02:00

WIP: pre-granular-permissions commit
feat: Add category and support contact fields to Agent schema and UI components
Revert "feat: Add category and support contact fields to Agent schema and UI components"
This reverts commit c43a52b4c9
.
Fix: Update import for renderHook in useAgentCategories.spec.tsx
fix: Update icon rendering in AgentCategoryDisplay tests to use empty spans
refactor: Improve category synchronization logic and clean up AgentConfig component
refactor: Remove unused UI flow translations from translation.json
feat: agent marketplace features
🔐 feat: Granular Role-based Permissions + Entra ID Group Discovery (#7804)
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
const express = require('express');
|
|
const { requireJwtAuth, checkBan, generateCheckAccess } = require('~/server/middleware');
|
|
const { PermissionTypes, Permissions } = require('librechat-data-provider');
|
|
const marketplace = require('~/server/controllers/agents/marketplace');
|
|
|
|
const router = express.Router();
|
|
|
|
// Apply middleware for authentication and authorization
|
|
router.use(requireJwtAuth);
|
|
router.use(checkBan);
|
|
|
|
// Check if user has permission to use agents
|
|
const checkAgentAccess = generateCheckAccess(PermissionTypes.AGENTS, [Permissions.USE]);
|
|
router.use(checkAgentAccess);
|
|
|
|
/**
|
|
* Get all agent categories with counts
|
|
* @route GET /agents/marketplace/categories
|
|
*/
|
|
router.get('/categories', marketplace.getAgentCategories);
|
|
|
|
/**
|
|
* Get promoted/top picks agents with pagination
|
|
* @route GET /agents/marketplace/promoted
|
|
*/
|
|
router.get('/promoted', marketplace.getPromotedAgents);
|
|
|
|
/**
|
|
* Get all agents with pagination (for "all" category)
|
|
* @route GET /agents/marketplace/all
|
|
*/
|
|
router.get('/all', marketplace.getAllAgents);
|
|
|
|
/**
|
|
* Search agents with filters
|
|
* @route GET /agents/marketplace/search
|
|
*/
|
|
router.get('/search', marketplace.searchAgents);
|
|
|
|
/**
|
|
* Get agents by category with pagination
|
|
* @route GET /agents/marketplace/category/:category
|
|
*/
|
|
router.get('/category/:category', marketplace.getAgentsByCategory);
|
|
|
|
module.exports = router;
|