mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-11 00:33:40 +00:00
fix: circular dependency of ~/models
This commit is contained in:
parent
10bcf4702f
commit
fb0ca3eee7
8 changed files with 19 additions and 17 deletions
|
|
@ -8,8 +8,8 @@ const {
|
|||
initializeClient: initAzureClient,
|
||||
} = require('~/server/services/Endpoints/azureAssistants');
|
||||
const { initializeClient } = require('~/server/services/Endpoints/assistants');
|
||||
const { hasCapability } = require('~/server/middleware/roles/capabilities');
|
||||
const { getEndpointsConfig } = require('~/server/services/Config');
|
||||
const { hasCapability } = require('~/server/middleware');
|
||||
|
||||
/**
|
||||
* @param {ServerRequest} req
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const { logger, SystemCapabilities } = require('@librechat/data-schemas');
|
||||
const { hasCapability } = require('~/server/middleware');
|
||||
const { hasCapability } = require('~/server/middleware/roles/capabilities');
|
||||
const { getAssistant } = require('~/models');
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
const {
|
||||
hasCapability,
|
||||
requireCapability,
|
||||
hasConfigCapability,
|
||||
capabilityContextMiddleware,
|
||||
} = require('./capabilities');
|
||||
/**
|
||||
* NOTE: hasCapability, requireCapability, hasConfigCapability, and
|
||||
* capabilityContextMiddleware are intentionally NOT re-exported here.
|
||||
*
|
||||
* capabilities.js depends on ~/models, and the middleware barrel
|
||||
* (middleware/index.js) is frequently required by modules that are
|
||||
* themselves loaded while the barrel is still initialising — creating
|
||||
* a circular-require that silently returns an empty exports object.
|
||||
*
|
||||
* Always import capability helpers directly:
|
||||
* require('~/server/middleware/roles/capabilities')
|
||||
*/
|
||||
const checkAdmin = require('./admin');
|
||||
|
||||
module.exports = {
|
||||
checkAdmin,
|
||||
hasCapability,
|
||||
requireCapability,
|
||||
hasConfigCapability,
|
||||
capabilityContextMiddleware,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ const { CacheKeys } = require('librechat-data-provider');
|
|||
const { SystemCapabilities } = require('@librechat/data-schemas');
|
||||
const { getAdminPanelUrl, exchangeAdminCode, createSetBalanceConfig } = require('@librechat/api');
|
||||
const { loginController } = require('~/server/controllers/auth/LoginController');
|
||||
const { requireCapability } = require('~/server/middleware/roles/capabilities');
|
||||
const { createOAuthHandler } = require('~/server/controllers/auth/oauth');
|
||||
const { findBalanceByUser, upsertBalanceFields } = require('~/models');
|
||||
const { getAppConfig } = require('~/server/services/Config');
|
||||
const { requireCapability } = require('~/server/middleware');
|
||||
const getLogStores = require('~/cache/getLogStores');
|
||||
const { getOpenIdConfig } = require('~/strategies');
|
||||
const middleware = require('~/server/middleware');
|
||||
|
|
|
|||
|
|
@ -24,11 +24,11 @@ const {
|
|||
const { fileAccess } = require('~/server/middleware/accessResources/fileAccess');
|
||||
const { getStrategyFunctions } = require('~/server/services/Files/strategies');
|
||||
const { getOpenAIClient } = require('~/server/controllers/assistants/helpers');
|
||||
const { hasCapability } = require('~/server/middleware/roles/capabilities');
|
||||
const { checkPermission } = require('~/server/services/PermissionService');
|
||||
const { loadAuthValues } = require('~/server/services/Tools/credentials');
|
||||
const { hasAccessToFilesViaAgent } = require('~/server/services/Files');
|
||||
const { cleanFileName } = require('~/server/utils/files');
|
||||
const { hasCapability } = require('~/server/middleware');
|
||||
const { getLogStores } = require('~/cache');
|
||||
const { Readable } = require('stream');
|
||||
const db = require('~/models');
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ const {
|
|||
getPrompt,
|
||||
} = require('~/models');
|
||||
const {
|
||||
hasCapability,
|
||||
canAccessPromptGroupResource,
|
||||
canAccessPromptViaGroup,
|
||||
requireJwtAuth,
|
||||
|
|
@ -43,6 +42,7 @@ const {
|
|||
findAccessibleResources,
|
||||
grantPermission,
|
||||
} = require('~/server/services/PermissionService');
|
||||
const { hasCapability } = require('~/server/middleware/roles/capabilities');
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ jest.mock('~/models', () => {
|
|||
|
||||
jest.mock('~/server/middleware', () => ({
|
||||
requireJwtAuth: (req, res, next) => next(),
|
||||
hasCapability: jest.requireActual('~/server/middleware').hasCapability,
|
||||
canAccessPromptViaGroup: jest.requireActual('~/server/middleware').canAccessPromptViaGroup,
|
||||
canAccessPromptGroupResource:
|
||||
jest.requireActual('~/server/middleware').canAccessPromptGroupResource,
|
||||
|
|
|
|||
|
|
@ -12,8 +12,9 @@ const {
|
|||
peoplePickerPermissionsSchema,
|
||||
remoteAgentsPermissionsSchema,
|
||||
} = require('librechat-data-provider');
|
||||
const { hasCapability, requireCapability, requireJwtAuth } = require('~/server/middleware');
|
||||
const { hasCapability, requireCapability } = require('~/server/middleware/roles/capabilities');
|
||||
const { updateRoleByName, getRoleByName } = require('~/models');
|
||||
const { requireJwtAuth } = require('~/server/middleware');
|
||||
|
||||
const router = express.Router();
|
||||
router.use(requireJwtAuth);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue