fix: validation to avoid saving customGpt params to non-custom models

This commit is contained in:
Daniel Avila 2023-03-14 20:14:38 -04:00
parent 626a8fbd8e
commit 6192c2964e

View file

@ -18,10 +18,12 @@ const convoSchema = mongoose.Schema(
default: 'New Chat' default: 'New Chat'
}, },
jailbreakConversationId: { jailbreakConversationId: {
type: String type: String,
default: null
}, },
conversationSignature: { conversationSignature: {
type: String type: String,
default: null
}, },
clientId: { clientId: {
type: String type: String
@ -30,13 +32,16 @@ const convoSchema = mongoose.Schema(
type: String type: String
}, },
chatGptLabel: { chatGptLabel: {
type: String type: String,
default: null
}, },
promptPrefix: { promptPrefix: {
type: String type: String,
default: null
}, },
model: { model: {
type: String type: String,
required: true
}, },
suggestions: [{ type: String }], suggestions: [{ type: String }],
messages: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Message' }] messages: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Message' }]
@ -67,8 +72,14 @@ module.exports = {
if (newConversationId) { if (newConversationId) {
update.conversationId = newConversationId; update.conversationId = newConversationId;
} }
if (!update.jailbreakConversationId) if (!update.jailbreakConversationId) {
update.jailbreakConversationId = null update.jailbreakConversationId = null;
}
if (update.model !== 'chatgptCustom' && update.chatGptLabel && update.promptPrefix) {
console.log('Validation error: resetting chatgptCustom fields', update);
update.chatGptLabel = null;
update.promptPrefix = null;
}
return await Conversation.findOneAndUpdate( return await Conversation.findOneAndUpdate(
{ conversationId }, { conversationId },
@ -146,7 +157,7 @@ module.exports = {
} else { } else {
message.parentMessageId = oldId; message.parentMessageId = oldId;
} }
oldId = newId; oldId = newId;
message.messageId = newId; message.messageId = newId;
if (message.sender.toLowerCase() !== 'user' && !model) { if (message.sender.toLowerCase() !== 'user' && !model) {