mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-20 10:20:15 +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
4
api/cache/banViolation.js
vendored
4
api/cache/banViolation.js
vendored
|
|
@ -1,8 +1,8 @@
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { ViolationTypes } = require('librechat-data-provider');
|
const { ViolationTypes } = require('librechat-data-provider');
|
||||||
const { deleteAllUserSessions } = require('@librechat/data-schemas');
|
|
||||||
const { isEnabled, math, removePorts } = require('~/server/utils');
|
const { isEnabled, math, removePorts } = require('~/server/utils');
|
||||||
|
const { deleteAllUserSessions } = require('~/models');
|
||||||
const getLogStores = require('./getLogStores');
|
const getLogStores = require('./getLogStores');
|
||||||
const { logger } = require('~/config');
|
|
||||||
|
|
||||||
const { BAN_VIOLATIONS, BAN_INTERVAL } = process.env ?? {};
|
const { BAN_VIOLATIONS, BAN_INTERVAL } = process.env ?? {};
|
||||||
const interval = math(BAN_INTERVAL, 20);
|
const interval = math(BAN_INTERVAL, 20);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const { MeiliSearch } = require('meilisearch');
|
const { MeiliSearch } = require('meilisearch');
|
||||||
const { Message, Conversation, logger } = require('@librechat/data-schemas');
|
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
|
|
||||||
|
const Conversation = mongoose.models.Conversation;
|
||||||
|
const Message = mongoose.models.Message;
|
||||||
|
|
||||||
const searchEnabled = isEnabled(process.env.SEARCH);
|
const searchEnabled = isEnabled(process.env.SEARCH);
|
||||||
const indexingDisabled = isEnabled(process.env.MEILI_NO_SYNC);
|
const indexingDisabled = isEnabled(process.env.MEILI_NO_SYNC);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { actionSchema } = require('@librechat/data-schemas');
|
const Action = mongoose.models.Action;
|
||||||
|
|
||||||
const Action = mongoose.model('action', actionSchema);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update an action with new data without overwriting existing properties,
|
* Update an action with new data without overwriting existing properties,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const crypto = require('node:crypto');
|
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 { SystemRoles, Tools, actionDelimiter } = require('librechat-data-provider');
|
||||||
const { GLOBAL_PROJECT_NAME, EPHEMERAL_AGENT_ID, mcp_delimiter } =
|
const { GLOBAL_PROJECT_NAME, EPHEMERAL_AGENT_ID, mcp_delimiter } =
|
||||||
require('librechat-data-provider').Constants;
|
require('librechat-data-provider').Constants;
|
||||||
|
|
@ -13,7 +13,8 @@ const {
|
||||||
} = require('./Project');
|
} = require('./Project');
|
||||||
const getLogStores = require('~/cache/getLogStores');
|
const getLogStores = require('~/cache/getLogStores');
|
||||||
const { getActions } = require('./Action');
|
const { getActions } = require('./Action');
|
||||||
const { logger } = require('~/config');
|
|
||||||
|
const Agent = mongoose.models.Agent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an agent with the provided data.
|
* Create an agent with the provided data.
|
||||||
|
|
|
||||||
|
|
@ -8,19 +8,21 @@ process.env.CREDS_IV = '0123456789abcdef';
|
||||||
|
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { v4: uuidv4 } = require('uuid');
|
const { v4: uuidv4 } = require('uuid');
|
||||||
const { Agent } = require('@librechat/data-schemas');
|
|
||||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||||
const {
|
const {
|
||||||
addAgentResourceFile,
|
|
||||||
removeAgentResourceFiles,
|
|
||||||
createAgent,
|
|
||||||
updateAgent,
|
|
||||||
getAgent,
|
getAgent,
|
||||||
|
updateAgent,
|
||||||
deleteAgent,
|
deleteAgent,
|
||||||
|
createAgent,
|
||||||
getListAgents,
|
getListAgents,
|
||||||
updateAgentProjects,
|
updateAgentProjects,
|
||||||
|
addAgentResourceFile,
|
||||||
|
removeAgentResourceFiles,
|
||||||
} = require('./Agent');
|
} = require('./Agent');
|
||||||
|
|
||||||
|
const Agent = mongoose.models.Agent;
|
||||||
|
|
||||||
describe('Agent Resource File Operations', () => {
|
describe('Agent Resource File Operations', () => {
|
||||||
let mongoServer;
|
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,
|
* 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.
|
* 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 { 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.
|
* Searches for a conversation by conversationId and returns a lean document with only conversationId and user.
|
||||||
* @param {string} conversationId - The conversation's ID.
|
* @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.
|
* Retrieves all conversation tags for a user.
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { File } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { EToolResources } = require('librechat-data-provider');
|
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.
|
* Finds a file by its file_id with additional query options.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
const { z } = require('zod');
|
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();
|
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) => {
|
const getPreset = async (user, presetId) => {
|
||||||
try {
|
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 { 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.
|
* 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 { 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 { SystemRoles, SystemCategories, Constants } = require('librechat-data-provider');
|
||||||
const {
|
const {
|
||||||
getProjectByName,
|
getProjectByName,
|
||||||
|
|
@ -9,6 +10,9 @@ const {
|
||||||
} = require('./Project');
|
} = require('./Project');
|
||||||
const { escapeRegExp } = require('~/server/utils');
|
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
|
* Create a pipeline for the aggregation to get prompt groups
|
||||||
* @param {Object} query
|
* @param {Object} query
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,12 @@ const {
|
||||||
permissionsSchema,
|
permissionsSchema,
|
||||||
removeNullishValues,
|
removeNullishValues,
|
||||||
} = require('librechat-data-provider');
|
} = 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 getLogStores = require('~/cache/getLogStores');
|
||||||
|
|
||||||
|
const Role = mongoose.models.Role;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve a role by name and convert the found role document to a plain object.
|
* 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,
|
* 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 mongoose = require('mongoose');
|
||||||
const { Role, logger } = require('@librechat/data-schemas');
|
|
||||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||||
const {
|
const {
|
||||||
SystemRoles,
|
SystemRoles,
|
||||||
|
|
@ -10,6 +9,8 @@ const {
|
||||||
const { getRoleByName, updateAccessPermissions, initializeRoles } = require('~/models/Role');
|
const { getRoleByName, updateAccessPermissions, initializeRoles } = require('~/models/Role');
|
||||||
const getLogStores = require('~/cache/getLogStores');
|
const getLogStores = require('~/cache/getLogStores');
|
||||||
|
|
||||||
|
const Role = mongoose.models.Role;
|
||||||
|
|
||||||
// Mock the cache
|
// Mock the cache
|
||||||
jest.mock('~/cache/getLogStores', () =>
|
jest.mock('~/cache/getLogStores', () =>
|
||||||
jest.fn().mockReturnValue({
|
jest.fn().mockReturnValue({
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
const { nanoid } = require('nanoid');
|
const { nanoid } = require('nanoid');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const { Constants } = require('librechat-data-provider');
|
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 { getMessages } = require('./Message');
|
||||||
|
|
||||||
|
const Conversation = mongoose.models.Conversation;
|
||||||
|
const SharedLink = mongoose.models.SharedLink;
|
||||||
|
|
||||||
class ShareServiceError extends Error {
|
class ShareServiceError extends Error {
|
||||||
constructor(message, code) {
|
constructor(message, code) {
|
||||||
super(message);
|
super(message);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
const { Token } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
const { encryptV2 } = require('~/server/utils/crypto');
|
const { encryptV2 } = require('~/server/utils/crypto');
|
||||||
|
|
||||||
|
const Token = mongoose.models.Token;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the OAuth token by creating or updating the token.
|
* Handles the OAuth token by creating or updating the token.
|
||||||
* @param {object} fields
|
* @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
|
* Create a new tool call
|
||||||
* @param {IToolCallData} toolCallData - The tool call data
|
* @param {IToolCallData} toolCallData - The tool call data
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
const mongoose = require('mongoose');
|
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 { getBalanceConfig } = require('~/server/services/Config');
|
||||||
const { getMultiplier, getCacheMultiplier } = require('./tx');
|
const { getMultiplier, getCacheMultiplier } = require('./tx');
|
||||||
|
|
||||||
|
const Transaction = mongoose.models.Transaction;
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
|
||||||
const cancelRate = 1.15;
|
const cancelRate = 1.15;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { Balance } = require('@librechat/data-schemas');
|
|
||||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||||
const { spendTokens, spendStructuredTokens } = require('./spendTokens');
|
const { spendTokens, spendStructuredTokens } = require('./spendTokens');
|
||||||
const { getBalanceConfig } = require('~/server/services/Config');
|
const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
const { getMultiplier, getCacheMultiplier } = require('./tx');
|
const { getMultiplier, getCacheMultiplier } = require('./tx');
|
||||||
const { createTransaction } = require('./Transaction');
|
const { createTransaction } = require('./Transaction');
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
|
||||||
// Mock the custom config module so we can control the balance flag.
|
// Mock the custom config module so we can control the balance flag.
|
||||||
jest.mock('~/server/services/Config');
|
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 { ViolationTypes } = require('librechat-data-provider');
|
||||||
const { createAutoRefillTransaction } = require('./Transaction');
|
const { createAutoRefillTransaction } = require('./Transaction');
|
||||||
const { logViolation } = require('~/cache');
|
const { logViolation } = require('~/cache');
|
||||||
const { getMultiplier } = require('./tx');
|
const { getMultiplier } = require('./tx');
|
||||||
const { logger } = require('~/config');
|
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
|
||||||
function isInvalidDate(date) {
|
function isInvalidDate(date) {
|
||||||
return isNaN(date);
|
return isNaN(date);
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { Message } = require('@librechat/data-schemas');
|
|
||||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||||
const { getMessages, bulkSaveMessages } = require('./Message');
|
const { getMessages, bulkSaveMessages } = require('./Message');
|
||||||
|
|
||||||
|
const Message = mongoose.models.Message;
|
||||||
|
|
||||||
// Original version of buildTree function
|
// Original version of buildTree function
|
||||||
function buildTree({ messages, fileMap }) {
|
function buildTree({ messages, fileMap }) {
|
||||||
if (messages === null) {
|
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 { comparePassword } = require('./userMethods');
|
||||||
const {
|
const {
|
||||||
findFileById,
|
findFileById,
|
||||||
|
|
@ -21,6 +25,7 @@ const { getConvoTitle, getConvo, saveConvo, deleteConvos } = require('./Conversa
|
||||||
const { getPreset, getPresets, savePreset, deletePresets } = require('./Preset');
|
const { getPreset, getPresets, savePreset, deletePresets } = require('./Preset');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
...methods,
|
||||||
comparePassword,
|
comparePassword,
|
||||||
findFileById,
|
findFileById,
|
||||||
createFile,
|
createFile,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
const mongoose = require('mongoose');
|
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 { getRandomValues, hashToken } = require('~/server/utils/crypto');
|
||||||
|
|
||||||
|
const Token = mongoose.models.Token;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @module inviteUser
|
* @module inviteUser
|
||||||
* @description This module provides functions to create and get user invites
|
* @description This module provides functions to create and get user invites
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||||
const { Transaction, Balance } = require('@librechat/data-schemas');
|
|
||||||
const { spendTokens, spendStructuredTokens } = require('./spendTokens');
|
const { spendTokens, spendStructuredTokens } = require('./spendTokens');
|
||||||
const { createTransaction, createAutoRefillTransaction } = require('./Transaction');
|
const { createTransaction, createAutoRefillTransaction } = require('./Transaction');
|
||||||
|
const Transaction = mongoose.models.Transaction;
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
|
||||||
// Mock the logger to prevent console output during tests
|
// Mock the logger to prevent console output during tests
|
||||||
jest.mock('~/config', () => ({
|
jest.mock('~/config', () => ({
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
const cookies = require('cookie');
|
const cookies = require('cookie');
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const openIdClient = require('openid-client');
|
const openIdClient = require('openid-client');
|
||||||
const { User, Session, logger } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const {
|
const {
|
||||||
registerUser,
|
registerUser,
|
||||||
resetPassword,
|
resetPassword,
|
||||||
|
|
@ -12,6 +13,9 @@ const {
|
||||||
const { getOpenIdConfig } = require('~/strategies');
|
const { getOpenIdConfig } = require('~/strategies');
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
|
|
||||||
|
const Session = mongoose.models.Session;
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
const registrationController = async (req, res) => {
|
const registrationController = async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const response = await registerUser(req.body);
|
const response = await registerUser(req.body);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
const { Balance } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
|
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
|
||||||
async function balanceController(req, res) {
|
async function balanceController(req, res) {
|
||||||
const balanceData = await Balance.findOne(
|
const balanceData = await Balance.findOne(
|
||||||
{ user: req.user.id },
|
{ user: req.user.id },
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const {
|
const {
|
||||||
generateTOTPSecret,
|
generateTOTPSecret,
|
||||||
generateBackupCodes,
|
generateBackupCodes,
|
||||||
|
|
@ -9,6 +10,8 @@ const {
|
||||||
const { encryptV3 } = require('~/server/utils/crypto');
|
const { encryptV3 } = require('~/server/utils/crypto');
|
||||||
const safeAppTitle = (process.env.APP_TITLE || 'LibreChat').replace(/\s+/g, '');
|
const safeAppTitle = (process.env.APP_TITLE || 'LibreChat').replace(/\s+/g, '');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable 2FA for the user by generating a new TOTP secret and backup codes.
|
* Enable 2FA for the user by generating a new TOTP secret and backup codes.
|
||||||
* The secret is encrypted and stored, and 2FA is marked as disabled until confirmed.
|
* The secret is encrypted and stored, and 2FA is marked as disabled until confirmed.
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ const {
|
||||||
webSearchKeys,
|
webSearchKeys,
|
||||||
extractWebSearchEnvVars,
|
extractWebSearchEnvVars,
|
||||||
} = require('librechat-data-provider');
|
} = require('librechat-data-provider');
|
||||||
const { User, Session, Transaction, Balance, logger } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { getFiles, deleteFiles, deleteConvos, deletePresets, deleteMessages } = require('~/models');
|
const { getFiles, deleteFiles, deleteConvos, deletePresets, deleteMessages } = require('~/models');
|
||||||
const { updateUserPluginAuth, deleteUserPluginAuth } = require('~/server/services/PluginService');
|
const { updateUserPluginAuth, deleteUserPluginAuth } = require('~/server/services/PluginService');
|
||||||
const { updateUserPluginsService, deleteUserKey } = require('~/server/services/UserService');
|
const { updateUserPluginsService, deleteUserKey } = require('~/server/services/UserService');
|
||||||
|
|
@ -14,6 +15,11 @@ const { processDeleteRequest } = require('~/server/services/Files/process');
|
||||||
const { deleteAllSharedLinks } = require('~/models/Share');
|
const { deleteAllSharedLinks } = require('~/models/Share');
|
||||||
const { deleteToolCalls } = require('~/models/ToolCall');
|
const { deleteToolCalls } = require('~/models/ToolCall');
|
||||||
|
|
||||||
|
const Transaction = mongoose.models.Transaction;
|
||||||
|
const Session = mongoose.models.Session;
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
const getUserController = async (req, res) => {
|
const getUserController = async (req, res) => {
|
||||||
/** @type {MongoUser} */
|
/** @type {MongoUser} */
|
||||||
const userData = req.user.toObject != null ? req.user.toObject() : { ...req.user };
|
const userData = req.user.toObject != null ? req.user.toObject() : { ...req.user };
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const {
|
const {
|
||||||
verifyTOTP,
|
verifyTOTP,
|
||||||
verifyBackupCode,
|
verifyBackupCode,
|
||||||
getTOTPSecret,
|
getTOTPSecret,
|
||||||
} = require('~/server/services/twoFactorService');
|
} = require('~/server/services/twoFactorService');
|
||||||
const { setAuthTokens } = require('~/server/services/AuthService');
|
const { setAuthTokens } = require('~/server/services/AuthService');
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Verifies the 2FA code during login using a temporary token.
|
* Verifies the 2FA code during login using a temporary token.
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
const { Keyv } = require('keyv');
|
const { Keyv } = require('keyv');
|
||||||
const uap = require('ua-parser-js');
|
const uap = require('ua-parser-js');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { ViolationTypes } = require('librechat-data-provider');
|
const { ViolationTypes } = require('librechat-data-provider');
|
||||||
const { isEnabled, removePorts } = require('~/server/utils');
|
const { isEnabled, removePorts } = require('~/server/utils');
|
||||||
const keyvMongo = require('~/cache/keyvMongo');
|
const keyvMongo = require('~/cache/keyvMongo');
|
||||||
const denyRequest = require('./denyRequest');
|
const denyRequest = require('./denyRequest');
|
||||||
const { getLogStores } = require('~/cache');
|
const { getLogStores } = require('~/cache');
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
const banCache = new Keyv({ store: keyvMongo, namespace: ViolationTypes.BAN, ttl: 0 });
|
const banCache = new Keyv({ store: keyvMongo, namespace: ViolationTypes.BAN, ttl: 0 });
|
||||||
const message = 'Your account has been temporarily banned due to violations of our service.';
|
const message = 'Your account has been temporarily banned due to violations of our service.';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
const { deleteTokens } = require('@librechat/data-schemas');
|
|
||||||
const { getInvite } = require('~/models/inviteUser');
|
const { getInvite } = require('~/models/inviteUser');
|
||||||
|
const { deleteTokens } = require('~/models');
|
||||||
|
|
||||||
async function checkInviteUser(req, res, next) {
|
async function checkInviteUser(req, res, next) {
|
||||||
const token = req.body.token;
|
const token = req.body.token;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
const { Balance, logger } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { getBalanceConfig } = require('~/server/services/Config');
|
const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
|
|
||||||
|
const Balance = mongoose.models.Balance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Middleware to synchronize user balance settings with current balance configuration.
|
* Middleware to synchronize user balance settings with current balance configuration.
|
||||||
* @function
|
* @function
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
const express = require('express');
|
const express = require('express');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { ContentTypes } = require('librechat-data-provider');
|
const { ContentTypes } = require('librechat-data-provider');
|
||||||
const { Message, logger } = require('@librechat/data-schemas');
|
|
||||||
const {
|
const {
|
||||||
saveConvo,
|
saveConvo,
|
||||||
saveMessage,
|
saveMessage,
|
||||||
|
|
@ -15,6 +16,8 @@ const { cleanUpPrimaryKeyValue } = require('~/lib/utils/misc');
|
||||||
const { getConvosQueried } = require('~/models/Conversation');
|
const { getConvosQueried } = require('~/models/Conversation');
|
||||||
const { countTokens } = require('~/server/utils');
|
const { countTokens } = require('~/server/utils');
|
||||||
|
|
||||||
|
const Message = mongoose.models.Message;
|
||||||
|
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
router.use(requireJwtAuth);
|
router.use(requireJwtAuth);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
const { nanoid } = require('nanoid');
|
const { nanoid } = require('nanoid');
|
||||||
const { tool } = require('@langchain/core/tools');
|
const { tool } = require('@langchain/core/tools');
|
||||||
const { findToken } = require('@librechat/data-schemas');
|
|
||||||
const { GraphEvents, sleep } = require('@librechat/agents');
|
const { GraphEvents, sleep } = require('@librechat/agents');
|
||||||
const {
|
const {
|
||||||
Time,
|
Time,
|
||||||
|
|
@ -20,7 +19,7 @@ const { getActions, deleteActions } = require('~/models/Action');
|
||||||
const { deleteAssistant } = require('~/models/Assistant');
|
const { deleteAssistant } = require('~/models/Assistant');
|
||||||
const { logAxiosError } = require('~/utils');
|
const { logAxiosError } = require('~/utils');
|
||||||
const { getLogStores } = require('~/cache');
|
const { getLogStores } = require('~/cache');
|
||||||
const db = require('~/lib/db/connectDb');
|
const { findToken } = require('~/models');
|
||||||
|
|
||||||
const JWT_SECRET = process.env.JWT_SECRET;
|
const JWT_SECRET = process.env.JWT_SECRET;
|
||||||
const toolNameRegex = /^[a-zA-Z0-9_-]+$/;
|
const toolNameRegex = /^[a-zA-Z0-9_-]+$/;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
const bcrypt = require('bcryptjs');
|
const bcrypt = require('bcryptjs');
|
||||||
const { webcrypto } = require('node:crypto');
|
const { webcrypto } = require('node:crypto');
|
||||||
|
const { SystemRoles, errorsToString } = require('librechat-data-provider');
|
||||||
const {
|
const {
|
||||||
findUser,
|
findUser,
|
||||||
createUser,
|
createUser,
|
||||||
|
|
@ -15,8 +16,7 @@ const {
|
||||||
generateToken,
|
generateToken,
|
||||||
deleteUserById,
|
deleteUserById,
|
||||||
generateRefreshToken,
|
generateRefreshToken,
|
||||||
} = require('@librechat/data-schemas');
|
} = require('~/models');
|
||||||
const { SystemRoles, errorsToString } = require('librechat-data-provider');
|
|
||||||
const { isEnabled, checkEmailConfig, sendEmail } = require('~/server/utils');
|
const { isEnabled, checkEmailConfig, sendEmail } = require('~/server/utils');
|
||||||
const { isEmailDomainAllowed } = require('~/server/services/domains');
|
const { isEmailDomainAllowed } = require('~/server/services/domains');
|
||||||
const { getBalanceConfig } = require('~/server/services/Config');
|
const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const sharp = require('sharp');
|
const sharp = require('sharp');
|
||||||
const { updateUser, logger } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { resizeImageBuffer } = require('../images/resize');
|
const { resizeImageBuffer } = require('../images/resize');
|
||||||
const { updateFile } = require('~/models/File');
|
const { updateUser, updateFile } = require('~/models');
|
||||||
const { saveBufferToAzure } = require('./crud');
|
const { saveBufferToAzure } = require('./crud');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const sharp = require('sharp');
|
const sharp = require('sharp');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { resizeImageBuffer } = require('../images/resize');
|
const { resizeImageBuffer } = require('../images/resize');
|
||||||
|
const { updateUser, updateFile } = require('~/models');
|
||||||
const { saveBufferToFirebase } = require('./crud');
|
const { saveBufferToFirebase } = require('./crud');
|
||||||
const { updateFile } = require('~/models/File');
|
|
||||||
const { logger, updateUser } = require('@librechat/data-schemas');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts an image file to the target format. The function first resizes the image based on the specified
|
* Converts an image file to the target format. The function first resizes the image based on the specified
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const sharp = require('sharp');
|
const sharp = require('sharp');
|
||||||
const { updateUser } = require('@librechat/data-schemas');
|
|
||||||
const { resizeImageBuffer } = require('../images/resize');
|
const { resizeImageBuffer } = require('../images/resize');
|
||||||
const { updateFile } = require('~/models/File');
|
const { updateUser, updateFile } = require('~/models');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts an image file to the target format. The function first resizes the image based on the specified
|
* Converts an image file to the target format. The function first resizes the image based on the specified
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const sharp = require('sharp');
|
const sharp = require('sharp');
|
||||||
const { logger, updateUser } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { resizeImageBuffer } = require('../images/resize');
|
const { resizeImageBuffer } = require('../images/resize');
|
||||||
const { updateFile } = require('~/models/File');
|
const { updateUser, updateFile } = require('~/models');
|
||||||
const { saveBufferToS3 } = require('./crud');
|
const { saveBufferToS3 } = require('./crud');
|
||||||
|
|
||||||
const defaultBasePath = 'images';
|
const defaultBasePath = 'images';
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
const { PluginAuth } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
const { encrypt, decrypt } = require('~/server/utils/');
|
const { encrypt, decrypt } = require('~/server/utils/');
|
||||||
const { logger } = require('~/config');
|
const { logger } = require('~/config');
|
||||||
|
|
||||||
|
const PluginAuth = mongoose.models.PluginAuth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asynchronously retrieves and decrypts the authentication value for a user's plugin, based on a specified authentication field.
|
* Asynchronously retrieves and decrypts the authentication value for a user's plugin, based on a specified authentication field.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { ErrorTypes } = require('librechat-data-provider');
|
const { ErrorTypes } = require('librechat-data-provider');
|
||||||
const { Key, logger, updateUser } = require('@librechat/data-schemas');
|
|
||||||
const { encrypt, decrypt } = require('~/server/utils/crypto');
|
const { encrypt, decrypt } = require('~/server/utils/crypto');
|
||||||
|
const { updateUser } = require('~/models');
|
||||||
|
|
||||||
|
const Key = mongoose.models.Key;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the plugins for a user based on the action specified (install/uninstall).
|
* Updates the plugins for a user based on the action specified (install/uninstall).
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const { webcrypto } = require('node:crypto');
|
const { webcrypto } = require('node:crypto');
|
||||||
const { User } = require('@librechat/data-schemas');
|
|
||||||
const { hashBackupCode, decryptV3, decryptV2 } = require('~/server/utils/crypto');
|
const { hashBackupCode, decryptV3, decryptV2 } = require('~/server/utils/crypto');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
// Base32 alphabet for TOTP secret encoding.
|
// Base32 alphabet for TOTP secret encoding.
|
||||||
const BASE32_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
|
const BASE32_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
const mongoose = require('mongoose');
|
const mongoose = require('mongoose');
|
||||||
const { MongoMemoryServer } = require('mongodb-memory-server');
|
|
||||||
const jwt = require('jsonwebtoken');
|
const jwt = require('jsonwebtoken');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { Strategy: AppleStrategy } = require('passport-apple');
|
const { Strategy: AppleStrategy } = require('passport-apple');
|
||||||
const socialLogin = require('./socialLogin');
|
const { MongoMemoryServer } = require('mongodb-memory-server');
|
||||||
const { createSocialUser, handleExistingUser } = require('./process');
|
const { createSocialUser, handleExistingUser } = require('./process');
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
const socialLogin = require('./socialLogin');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
// Mocking external dependencies
|
// Mocking external dependencies
|
||||||
jest.mock('jsonwebtoken');
|
jest.mock('jsonwebtoken');
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { SystemRoles } = require('librechat-data-provider');
|
const { SystemRoles } = require('librechat-data-provider');
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
|
||||||
const { Strategy: JwtStrategy, ExtractJwt } = require('passport-jwt');
|
const { Strategy: JwtStrategy, ExtractJwt } = require('passport-jwt');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
// JWT strategy
|
// JWT strategy
|
||||||
const jwtLogin = () =>
|
const jwtLogin = () =>
|
||||||
new JwtStrategy(
|
new JwtStrategy(
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const LdapStrategy = require('passport-ldapauth');
|
const LdapStrategy = require('passport-ldapauth');
|
||||||
const { SystemRoles } = require('librechat-data-provider');
|
const { SystemRoles } = require('librechat-data-provider');
|
||||||
const { User, createUser, findUser, updateUser } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
|
const { createUser, findUser, updateUser } = require('~/models');
|
||||||
const { getBalanceConfig } = require('~/server/services/Config');
|
const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
const logger = require('~/utils/logger');
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
LDAP_URL,
|
LDAP_URL,
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
const mongoose = require('mongoose');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { errorsToString } = require('librechat-data-provider');
|
const { errorsToString } = require('librechat-data-provider');
|
||||||
const { Strategy: PassportLocalStrategy } = require('passport-local');
|
const { Strategy: PassportLocalStrategy } = require('passport-local');
|
||||||
const { isEnabled, checkEmailConfig } = require('~/server/utils');
|
const { isEnabled, checkEmailConfig } = require('~/server/utils');
|
||||||
const { comparePassword } = require('~/models');
|
const { comparePassword } = require('~/models');
|
||||||
const { loginSchema } = require('./validators');
|
const { loginSchema } = require('./validators');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
// Unix timestamp for 2024-06-07 15:20:18 Eastern Time
|
// Unix timestamp for 2024-06-07 15:20:18 Eastern Time
|
||||||
const verificationEnabledTimestamp = 1717788018;
|
const verificationEnabledTimestamp = 1717788018;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,18 @@
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const passport = require('passport');
|
const passport = require('passport');
|
||||||
const client = require('openid-client');
|
const client = require('openid-client');
|
||||||
const jwtDecode = require('jsonwebtoken/decode');
|
const jwtDecode = require('jsonwebtoken/decode');
|
||||||
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { CacheKeys } = require('librechat-data-provider');
|
const { CacheKeys } = require('librechat-data-provider');
|
||||||
const { HttpsProxyAgent } = require('https-proxy-agent');
|
const { HttpsProxyAgent } = require('https-proxy-agent');
|
||||||
const { User, logger } = require('@librechat/data-schemas');
|
|
||||||
const { Strategy: OpenIDStrategy } = require('openid-client/passport');
|
const { Strategy: OpenIDStrategy } = require('openid-client/passport');
|
||||||
const { getStrategyFunctions } = require('~/server/services/Files/strategies');
|
const { getStrategyFunctions } = require('~/server/services/Files/strategies');
|
||||||
const getLogStores = require('~/cache/getLogStores');
|
const getLogStores = require('~/cache/getLogStores');
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
|
|
||||||
|
const User = mongoose.models.User;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {import('openid-client').ClientMetadata} ClientMetadata
|
* @typedef {import('openid-client').ClientMetadata} ClientMetadata
|
||||||
* @typedef {import('openid-client').Configuration} Configuration
|
* @typedef {import('openid-client').Configuration} Configuration
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
const mongoose = require('mongoose');
|
||||||
const jwtDecode = require('jsonwebtoken/decode');
|
const jwtDecode = require('jsonwebtoken/decode');
|
||||||
const { setupOpenId } = require('./openidStrategy');
|
const { setupOpenId } = require('./openidStrategy');
|
||||||
const { getBalanceConfig } = require('~/server/services/Config');
|
const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
|
|
@ -7,7 +8,6 @@ const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
const mockCreateUser = jest.fn();
|
const mockCreateUser = jest.fn();
|
||||||
const mockFindUser = jest.fn();
|
const mockFindUser = jest.fn();
|
||||||
const mockUpdateUser = jest.fn();
|
const mockUpdateUser = jest.fn();
|
||||||
let User;
|
|
||||||
|
|
||||||
const mockModels = {
|
const mockModels = {
|
||||||
User: {
|
User: {
|
||||||
|
|
@ -132,8 +132,7 @@ describe('setupOpenId', () => {
|
||||||
picture: 'https://example.com/avatar.png',
|
picture: 'https://example.com/avatar.png',
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
const { registerModels } = require('@librechat/data-schemas');
|
const User = mongoose.models.User;
|
||||||
User = registerModels().User;
|
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
// Clear previous mock calls and reset implementations
|
// Clear previous mock calls and reset implementations
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
const { FileSources } = require('librechat-data-provider');
|
const { FileSources } = require('librechat-data-provider');
|
||||||
const { updateUser, createUser, getUserById } = require('@librechat/data-schemas');
|
|
||||||
const { getStrategyFunctions } = require('~/server/services/Files/strategies');
|
const { getStrategyFunctions } = require('~/server/services/Files/strategies');
|
||||||
const { resizeAvatar } = require('~/server/services/Files/images/avatar');
|
const { resizeAvatar } = require('~/server/services/Files/images/avatar');
|
||||||
|
const { updateUser, createUser, getUserById } = require('~/models');
|
||||||
const { getBalanceConfig } = require('~/server/services/Config');
|
const { getBalanceConfig } = require('~/server/services/Config');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
const { findUser, logger } = require('@librechat/data-schemas');
|
const { logger } = require('@librechat/data-schemas');
|
||||||
const { createSocialUser, handleExistingUser } = require('./process');
|
const { createSocialUser, handleExistingUser } = require('./process');
|
||||||
const { isEnabled } = require('~/server/utils');
|
const { isEnabled } = require('~/server/utils');
|
||||||
|
const { findUser } = require('~/models');
|
||||||
|
|
||||||
const socialLogin =
|
const socialLogin =
|
||||||
(provider, getProfileDetails) => async (accessToken, refreshToken, idToken, profile, cb) => {
|
(provider, getProfileDetails) => async (accessToken, refreshToken, idToken, profile, cb) => {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
export { createModels } from './models';
|
export { createModels } from './models';
|
||||||
export { createMethods } from './methods';
|
export { createMethods } from './methods';
|
||||||
export type * from './types';
|
export type * from './types';
|
||||||
|
export { default as logger } from './config/winston';
|
||||||
|
export { default as meiliLogger } from './config/meiliLogger';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue