mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-20 02:10:15 +01:00
refactor: use Constants value for GLOBAL_PROJECT_NAME (enum)
This commit is contained in:
parent
7d303b3581
commit
72dfcb9dc9
5 changed files with 16 additions and 6 deletions
|
|
@ -1,6 +1,9 @@
|
||||||
const { model } = require('mongoose');
|
const { model } = require('mongoose');
|
||||||
|
const { Constants } = require('librechat-data-provider');
|
||||||
const projectSchema = require('~/models/schema/projectSchema');
|
const projectSchema = require('~/models/schema/projectSchema');
|
||||||
|
|
||||||
|
const { GLOBAL_PROJECT_NAME } = Constants;
|
||||||
|
|
||||||
const Project = model('Project', projectSchema);
|
const Project = model('Project', projectSchema);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,7 +36,7 @@ const getProjectByName = async function (projectName, fieldsToSelect = null) {
|
||||||
const update = { $setOnInsert: { name: projectName } };
|
const update = { $setOnInsert: { name: projectName } };
|
||||||
const options = {
|
const options = {
|
||||||
new: true,
|
new: true,
|
||||||
upsert: projectName === 'instance',
|
upsert: projectName === GLOBAL_PROJECT_NAME,
|
||||||
lean: true,
|
lean: true,
|
||||||
select: fieldsToSelect,
|
select: fieldsToSelect,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
const { ObjectId } = require('mongodb');
|
const { ObjectId } = require('mongodb');
|
||||||
const { SystemRoles, SystemCategories } = require('librechat-data-provider');
|
const { SystemRoles, SystemCategories, Constants } = require('librechat-data-provider');
|
||||||
const {
|
const {
|
||||||
getProjectByName,
|
getProjectByName,
|
||||||
addGroupIdsToProject,
|
addGroupIdsToProject,
|
||||||
|
|
@ -9,6 +9,8 @@ const {
|
||||||
const { Prompt, PromptGroup } = require('./schema/promptSchema');
|
const { Prompt, PromptGroup } = require('./schema/promptSchema');
|
||||||
const { logger } = require('~/config');
|
const { logger } = require('~/config');
|
||||||
|
|
||||||
|
const { GLOBAL_PROJECT_NAME } = Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a pipeline for the aggregation to get prompt groups
|
* Create a pipeline for the aggregation to get prompt groups
|
||||||
* @param {Object} query
|
* @param {Object} query
|
||||||
|
|
@ -123,7 +125,7 @@ const getAllPromptGroups = async (req, filter) => {
|
||||||
let combinedQuery = query;
|
let combinedQuery = query;
|
||||||
|
|
||||||
if (searchShared) {
|
if (searchShared) {
|
||||||
const project = await getProjectByName('instance', 'promptGroupIds');
|
const project = await getProjectByName(GLOBAL_PROJECT_NAME, 'promptGroupIds');
|
||||||
if (project && project.promptGroupIds.length > 0) {
|
if (project && project.promptGroupIds.length > 0) {
|
||||||
const projectQuery = { _id: { $in: project.promptGroupIds }, ...query };
|
const projectQuery = { _id: { $in: project.promptGroupIds }, ...query };
|
||||||
delete projectQuery.author;
|
delete projectQuery.author;
|
||||||
|
|
@ -177,7 +179,7 @@ const getPromptGroups = async (req, filter) => {
|
||||||
|
|
||||||
if (searchShared) {
|
if (searchShared) {
|
||||||
// const projects = req.user.projects || []; // TODO: handle multiple projects
|
// const projects = req.user.projects || []; // TODO: handle multiple projects
|
||||||
const project = await getProjectByName('instance', 'promptGroupIds');
|
const project = await getProjectByName(GLOBAL_PROJECT_NAME, 'promptGroupIds');
|
||||||
if (project && project.promptGroupIds.length > 0) {
|
if (project && project.promptGroupIds.length > 0) {
|
||||||
const projectQuery = { _id: { $in: project.promptGroupIds }, ...query };
|
const projectQuery = { _id: { $in: project.promptGroupIds }, ...query };
|
||||||
delete projectQuery.author;
|
delete projectQuery.author;
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
const { CacheKeys, defaultSocialLogins } = require('librechat-data-provider');
|
const { CacheKeys, defaultSocialLogins, Constants } = require('librechat-data-provider');
|
||||||
const { getLdapConfig } = require('~/server/services/Config/ldap');
|
const { getLdapConfig } = require('~/server/services/Config/ldap');
|
||||||
const { getProjectByName } = require('~/models/Project');
|
const { getProjectByName } = require('~/models/Project');
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
const { getLogStores } = require('~/cache');
|
const { getLogStores } = require('~/cache');
|
||||||
const { logger } = require('~/config');
|
const { logger } = require('~/config');
|
||||||
|
|
||||||
|
const { GLOBAL_PROJECT_NAME } = Constants;
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const emailLoginEnabled =
|
const emailLoginEnabled =
|
||||||
process.env.ALLOW_EMAIL_LOGIN === undefined || isEnabled(process.env.ALLOW_EMAIL_LOGIN);
|
process.env.ALLOW_EMAIL_LOGIN === undefined || isEnabled(process.env.ALLOW_EMAIL_LOGIN);
|
||||||
|
|
@ -32,7 +34,7 @@ router.get('/', async function (req, res) {
|
||||||
return today.getMonth() === 1 && today.getDate() === 11;
|
return today.getMonth() === 1 && today.getDate() === 11;
|
||||||
};
|
};
|
||||||
|
|
||||||
const instanceProject = await getProjectByName('instance', '_id');
|
const instanceProject = await getProjectByName(GLOBAL_PROJECT_NAME, '_id');
|
||||||
|
|
||||||
const ldap = getLdapConfig();
|
const ldap = getLdapConfig();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ const checkPromptCreate = generateCheckAccess(PermissionTypes.PROMPTS, [
|
||||||
Permissions.USE,
|
Permissions.USE,
|
||||||
Permissions.CREATE,
|
Permissions.CREATE,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const checkGlobalPromptShare = generateCheckAccess(
|
const checkGlobalPromptShare = generateCheckAccess(
|
||||||
PermissionTypes.PROMPTS,
|
PermissionTypes.PROMPTS,
|
||||||
[Permissions.USE, Permissions.CREATE],
|
[Permissions.USE, Permissions.CREATE],
|
||||||
|
|
|
||||||
|
|
@ -1037,6 +1037,8 @@ export enum Constants {
|
||||||
SAVED_TAG = 'Saved',
|
SAVED_TAG = 'Saved',
|
||||||
/** Max number of Conversation starters for Agents/Assistants */
|
/** Max number of Conversation starters for Agents/Assistants */
|
||||||
MAX_CONVO_STARTERS = 4,
|
MAX_CONVO_STARTERS = 4,
|
||||||
|
/** Global/instance Project Name */
|
||||||
|
GLOBAL_PROJECT_NAME = 'instance',
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum LocalStorageKeys {
|
export enum LocalStorageKeys {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue