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:
Danny Avila 2023-07-25 19:27:55 -04:00 committed by GitHub
parent 2f7658e39f
commit 19af2b06ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 34 additions and 160 deletions

View file

@ -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();

View file

@ -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();
}

View file

@ -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);

View file

@ -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 },

View file

@ -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');
}