mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 17:00:15 +01:00
🗨️ refactor: Improve Prompts Query (#3138)
This commit is contained in:
parent
54db67449a
commit
5d8793c5d1
1 changed files with 9 additions and 5 deletions
|
|
@ -60,6 +60,10 @@ const createGroupPipeline = (query, skip, limit) => {
|
||||||
const getPromptGroups = async (req, filter) => {
|
const getPromptGroups = async (req, filter) => {
|
||||||
try {
|
try {
|
||||||
const { pageNumber = 1, pageSize = 10, name, ...query } = filter;
|
const { pageNumber = 1, pageSize = 10, name, ...query } = filter;
|
||||||
|
|
||||||
|
const validatedPageNumber = Math.max(parseInt(pageNumber, 10), 1);
|
||||||
|
const validatedPageSize = Math.max(parseInt(pageSize, 10), 1);
|
||||||
|
|
||||||
if (!query.author) {
|
if (!query.author) {
|
||||||
throw new Error('Author is required');
|
throw new Error('Author is required');
|
||||||
}
|
}
|
||||||
|
|
@ -93,8 +97,8 @@ const getPromptGroups = async (req, filter) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const skip = (parseInt(pageNumber, 10) - 1) * parseInt(pageSize, 10);
|
const skip = (validatedPageNumber - 1) * validatedPageSize;
|
||||||
const limit = parseInt(pageSize, 10);
|
const limit = validatedPageSize;
|
||||||
|
|
||||||
const promptGroupsPipeline = createGroupPipeline(combinedQuery, skip, limit);
|
const promptGroupsPipeline = createGroupPipeline(combinedQuery, skip, limit);
|
||||||
const totalPromptGroupsPipeline = [{ $match: combinedQuery }, { $count: 'total' }];
|
const totalPromptGroupsPipeline = [{ $match: combinedQuery }, { $count: 'total' }];
|
||||||
|
|
@ -110,9 +114,9 @@ const getPromptGroups = async (req, filter) => {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
promptGroups,
|
promptGroups,
|
||||||
pageNumber: pageNumber.toString(),
|
pageNumber: validatedPageNumber.toString(),
|
||||||
pageSize: pageSize.toString(),
|
pageSize: validatedPageSize.toString(),
|
||||||
pages: Math.ceil(totalPromptGroups / pageSize).toString(),
|
pages: Math.ceil(totalPromptGroups / validatedPageSize).toString(),
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error getting prompt groups', error);
|
console.error('Error getting prompt groups', error);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue