mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-07 19:18:52 +01:00
feat: utitlize lean queries, remove migration script, index createdAt timestamps (#698)
* feat(mongoDb): utitlize lean queries and index createdAt timestamps for cosmosDB support * fix: remove unnecessary lean() method from deleteMany calls * fix: remove unnecessary lean() method from deleteMany calls * fix: remove lean() from queries that need hydration * chore(migrateDb.js): remove unused migration script fix(Preset.js): return lean documents when retrieving presets refactor(index.js): remove migration script from server initialization refactor(convos.js): remove toObject() when sending conversation object refactor(presets.js): remove toObject() when sending presets object
This commit is contained in:
parent
2f7658e39f
commit
19af2b06ce
13 changed files with 34 additions and 160 deletions
|
|
@ -1,7 +1,6 @@
|
|||
const express = require('express');
|
||||
const session = require('express-session');
|
||||
const connectDb = require('../lib/db/connectDb');
|
||||
const migrateDb = require('../lib/db/migrateDb');
|
||||
const indexSync = require('../lib/db/indexSync');
|
||||
const path = require('path');
|
||||
const cors = require('cors');
|
||||
|
|
@ -28,7 +27,6 @@ config.validate(); // Validate the config
|
|||
(async () => {
|
||||
await connectDb();
|
||||
console.log('Connected to MongoDB');
|
||||
await migrateDb();
|
||||
await indexSync();
|
||||
|
||||
const app = express();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ router.get('/:conversationId', requireJwtAuth, async (req, res) => {
|
|||
const convo = await getConvo(req.user.id, conversationId);
|
||||
|
||||
if (convo) {
|
||||
res.status(200).send(convo.toObject());
|
||||
res.status(200).send(convo);
|
||||
} else {
|
||||
res.status(404).end();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ const requireJwtAuth = require('../../middleware/requireJwtAuth');
|
|||
|
||||
router.get('/', requireJwtAuth, async (req, res) => {
|
||||
const presets = (await getPresets(req.user.id)).map((preset) => {
|
||||
return preset.toObject();
|
||||
return preset;
|
||||
});
|
||||
res.status(200).send(presets);
|
||||
});
|
||||
|
|
@ -20,7 +20,7 @@ router.post('/', requireJwtAuth, async (req, res) => {
|
|||
await savePreset(req.user.id, update);
|
||||
|
||||
const presets = (await getPresets(req.user.id)).map((preset) => {
|
||||
return preset.toObject();
|
||||
return preset;
|
||||
});
|
||||
res.status(201).send(presets);
|
||||
} catch (error) {
|
||||
|
|
@ -41,12 +41,8 @@ router.post('/delete', requireJwtAuth, async (req, res) => {
|
|||
|
||||
try {
|
||||
await deletePresets(req.user.id, filter);
|
||||
|
||||
const presets = (await getPresets(req.user.id)).map((preset) => preset.toObject());
|
||||
|
||||
// console.log('delete preset response', presets);
|
||||
const presets = await getPresets(req.user.id);
|
||||
res.status(201).send(presets);
|
||||
// res.status(201).send(dbResponse);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
res.status(500).send(error);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ const { encrypt, decrypt } = require('../../utils/');
|
|||
|
||||
const getUserPluginAuthValue = async (user, authField) => {
|
||||
try {
|
||||
const pluginAuth = await PluginAuth.findOne({ user, authField });
|
||||
const pluginAuth = await PluginAuth.findOne({ user, authField }).lean();
|
||||
if (!pluginAuth) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -43,7 +43,7 @@ const getUserPluginAuthValue = async (user, authField) => {
|
|||
const updateUserPluginAuth = async (userId, authField, pluginKey, value) => {
|
||||
try {
|
||||
const encryptedValue = encrypt(value);
|
||||
const pluginAuth = await PluginAuth.findOne({ userId, authField });
|
||||
const pluginAuth = await PluginAuth.findOne({ userId, authField }).lean();
|
||||
if (pluginAuth) {
|
||||
const pluginAuth = await PluginAuth.updateOne(
|
||||
{ userId, authField },
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ const registerUser = async (user) => {
|
|||
const { email, password, name, username } = user;
|
||||
|
||||
try {
|
||||
const existingUser = await User.findOne({ email });
|
||||
const existingUser = await User.findOne({ email }).lean();
|
||||
|
||||
if (existingUser) {
|
||||
console.info(
|
||||
|
|
@ -104,7 +104,7 @@ const registerUser = async (user) => {
|
|||
* @returns
|
||||
*/
|
||||
const requestPasswordReset = async (email) => {
|
||||
const user = await User.findOne({ email });
|
||||
const user = await User.findOne({ email }).lean();
|
||||
if (!user) {
|
||||
return new Error('Email does not exist');
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue