mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-25 03:36:12 +01:00
WIP: first pass, massive refactor of model imports
This commit is contained in:
parent
c682d45fb2
commit
ab5450be8b
53 changed files with 179 additions and 72 deletions
|
|
@ -1,7 +1,5 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { actionSchema } = require('@librechat/data-schemas');
|
||||
|
||||
const Action = mongoose.model('action', actionSchema);
|
||||
const Action = mongoose.models.Action;
|
||||
|
||||
/**
|
||||
* Update an action with new data without overwriting existing properties,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
const mongoose = require('mongoose');
|
||||
const crypto = require('node:crypto');
|
||||
const { Agent } = require('@librechat/data-schemas');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { SystemRoles, Tools, actionDelimiter } = require('librechat-data-provider');
|
||||
const { GLOBAL_PROJECT_NAME, EPHEMERAL_AGENT_ID, mcp_delimiter } =
|
||||
require('librechat-data-provider').Constants;
|
||||
|
|
@ -13,7 +13,8 @@ const {
|
|||
} = require('./Project');
|
||||
const getLogStores = require('~/cache/getLogStores');
|
||||
const { getActions } = require('./Action');
|
||||
const { logger } = require('~/config');
|
||||
|
||||
const Agent = mongoose.models.Agent;
|
||||
|
||||
/**
|
||||
* Create an agent with the provided data.
|
||||
|
|
|
|||
|
|
@ -8,19 +8,21 @@ process.env.CREDS_IV = '0123456789abcdef';
|
|||
|
||||
const mongoose = require('mongoose');
|
||||
const { v4: uuidv4 } = require('uuid');
|
||||
const { Agent } = require('@librechat/data-schemas');
|
||||
|
||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||
const {
|
||||
addAgentResourceFile,
|
||||
removeAgentResourceFiles,
|
||||
createAgent,
|
||||
updateAgent,
|
||||
getAgent,
|
||||
updateAgent,
|
||||
deleteAgent,
|
||||
createAgent,
|
||||
getListAgents,
|
||||
updateAgentProjects,
|
||||
addAgentResourceFile,
|
||||
removeAgentResourceFiles,
|
||||
} = require('./Agent');
|
||||
|
||||
const Agent = mongoose.models.Agent;
|
||||
|
||||
describe('Agent Resource File Operations', () => {
|
||||
let mongoServer;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
const { Assistant } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const Assistant = mongoose.models.Assistant;
|
||||
|
||||
/**
|
||||
* Update an assistant with new data without overwriting existing properties,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
const { Banner, logger } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
|
||||
const Banner = mongoose.models.Banner;
|
||||
|
||||
/**
|
||||
* Retrieves the current active banner.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
const { Conversation, logger } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { getMessages, deleteMessages } = require('./Message');
|
||||
|
||||
const Conversation = mongoose.models.Conversation;
|
||||
|
||||
/**
|
||||
* Searches for a conversation by conversationId and returns a lean document with only conversationId and user.
|
||||
* @param {string} conversationId - The conversation's ID.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
const { ConversationTag, Conversation, logger } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
|
||||
const ConversationTag = mongoose.models.ConversationTag;
|
||||
const Conversation = mongoose.models.Conversation;
|
||||
|
||||
/**
|
||||
* Retrieves all conversation tags for a user.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { File } = require('@librechat/data-schemas');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { EToolResources } = require('librechat-data-provider');
|
||||
const { logger } = require('~/config');
|
||||
|
||||
const File = mongoose.models.File;
|
||||
|
||||
/**
|
||||
* Finds a file by its file_id with additional query options.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
const { z } = require('zod');
|
||||
const { Message, logger } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
|
||||
const Message = mongoose.models.Message;
|
||||
const idSchema = z.string().uuid();
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
const { Preset, logger } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
|
||||
const Preset = mongoose.models.Preset;
|
||||
|
||||
const getPreset = async (user, presetId) => {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
const { Project } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { GLOBAL_PROJECT_NAME } = require('librechat-data-provider').Constants;
|
||||
|
||||
const Project = mongoose.models.Project;
|
||||
|
||||
/**
|
||||
* Retrieve a project by ID and convert the found project document to a plain object.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { ObjectId } = require('mongodb');
|
||||
const { Prompt, PromptGroup, logger } = require('@librechat/data-schemas');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { SystemRoles, SystemCategories, Constants } = require('librechat-data-provider');
|
||||
const {
|
||||
getProjectByName,
|
||||
|
|
@ -9,6 +10,9 @@ const {
|
|||
} = require('./Project');
|
||||
const { escapeRegExp } = require('~/server/utils');
|
||||
|
||||
const PromptGroup = mongoose.models.PromptGroup;
|
||||
const Prompt = mongoose.models.Prompt;
|
||||
|
||||
/**
|
||||
* Create a pipeline for the aggregation to get prompt groups
|
||||
* @param {Object} query
|
||||
|
|
|
|||
|
|
@ -6,9 +6,12 @@ const {
|
|||
permissionsSchema,
|
||||
removeNullishValues,
|
||||
} = require('librechat-data-provider');
|
||||
const { Role, logger } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const getLogStores = require('~/cache/getLogStores');
|
||||
|
||||
const Role = mongoose.models.Role;
|
||||
|
||||
/**
|
||||
* Retrieve a role by name and convert the found role document to a plain object.
|
||||
* If the role with the given name doesn't exist and the name is a system defined role,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { Role, logger } = require('@librechat/data-schemas');
|
||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||
const {
|
||||
SystemRoles,
|
||||
|
|
@ -10,6 +9,8 @@ const {
|
|||
const { getRoleByName, updateAccessPermissions, initializeRoles } = require('~/models/Role');
|
||||
const getLogStores = require('~/cache/getLogStores');
|
||||
|
||||
const Role = mongoose.models.Role;
|
||||
|
||||
// Mock the cache
|
||||
jest.mock('~/cache/getLogStores', () =>
|
||||
jest.fn().mockReturnValue({
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
const { nanoid } = require('nanoid');
|
||||
const mongoose = require('mongoose');
|
||||
const { Constants } = require('librechat-data-provider');
|
||||
const { SharedLink, Conversation, logger } = require('@librechat/data-schemas');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { getMessages } = require('./Message');
|
||||
|
||||
const Conversation = mongoose.models.Conversation;
|
||||
const SharedLink = mongoose.models.SharedLink;
|
||||
|
||||
class ShareServiceError extends Error {
|
||||
constructor(message, code) {
|
||||
super(message);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
const { Token } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { encryptV2 } = require('~/server/utils/crypto');
|
||||
|
||||
const Token = mongoose.models.Token;
|
||||
|
||||
/**
|
||||
* Handles the OAuth token by creating or updating the token.
|
||||
* @param {object} fields
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
const { ToolCall } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const ToolCall = mongoose.models.ToolCall;
|
||||
|
||||
/**
|
||||
* Create a new tool call
|
||||
* @param {IToolCallData} toolCallData - The tool call data
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { Balance, Transaction, logger } = require('@librechat/data-schemas');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { getBalanceConfig } = require('~/server/services/Config');
|
||||
const { getMultiplier, getCacheMultiplier } = require('./tx');
|
||||
|
||||
const Transaction = mongoose.models.Transaction;
|
||||
const Balance = mongoose.models.Balance;
|
||||
|
||||
const cancelRate = 1.15;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { Balance } = require('@librechat/data-schemas');
|
||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||
const { spendTokens, spendStructuredTokens } = require('./spendTokens');
|
||||
const { getBalanceConfig } = require('~/server/services/Config');
|
||||
const { getMultiplier, getCacheMultiplier } = require('./tx');
|
||||
const { createTransaction } = require('./Transaction');
|
||||
const Balance = mongoose.models.Balance;
|
||||
|
||||
// Mock the custom config module so we can control the balance flag.
|
||||
jest.mock('~/server/services/Config');
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
const { Balance } = require('@librechat/data-schemas');
|
||||
const mongoose = require('mongoose');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { ViolationTypes } = require('librechat-data-provider');
|
||||
const { createAutoRefillTransaction } = require('./Transaction');
|
||||
const { logViolation } = require('~/cache');
|
||||
const { getMultiplier } = require('./tx');
|
||||
const { logger } = require('~/config');
|
||||
|
||||
const Balance = mongoose.models.Balance;
|
||||
|
||||
function isInvalidDate(date) {
|
||||
return isNaN(date);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { Message } = require('@librechat/data-schemas');
|
||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||
const { getMessages, bulkSaveMessages } = require('./Message');
|
||||
|
||||
const Message = mongoose.models.Message;
|
||||
|
||||
// Original version of buildTree function
|
||||
function buildTree({ messages, fileMap }) {
|
||||
if (messages === null) {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { createModels, createMethods } = require('@librechat/data-schemas');
|
||||
createModels(mongoose);
|
||||
const methods = createMethods(mongoose);
|
||||
const { comparePassword } = require('./userMethods');
|
||||
const {
|
||||
findFileById,
|
||||
|
|
@ -21,6 +25,7 @@ const { getConvoTitle, getConvo, saveConvo, deleteConvos } = require('./Conversa
|
|||
const { getPreset, getPresets, savePreset, deletePresets } = require('./Preset');
|
||||
|
||||
module.exports = {
|
||||
...methods,
|
||||
comparePassword,
|
||||
findFileById,
|
||||
createFile,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { Token, logger } = require('@librechat/data-schemas');
|
||||
const { logger } = require('@librechat/data-schemas');
|
||||
const { getRandomValues, hashToken } = require('~/server/utils/crypto');
|
||||
|
||||
const Token = mongoose.models.Token;
|
||||
|
||||
/**
|
||||
* @module inviteUser
|
||||
* @description This module provides functions to create and get user invites
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
const mongoose = require('mongoose');
|
||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||
const { Transaction, Balance } = require('@librechat/data-schemas');
|
||||
const { spendTokens, spendStructuredTokens } = require('./spendTokens');
|
||||
const { createTransaction, createAutoRefillTransaction } = require('./Transaction');
|
||||
const Transaction = mongoose.models.Transaction;
|
||||
const Balance = mongoose.models.Balance;
|
||||
|
||||
// Mock the logger to prevent console output during tests
|
||||
jest.mock('~/config', () => ({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue