mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-16 16:30: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) => {
|
||||
try {
|
||||
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) {
|
||||
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 limit = parseInt(pageSize, 10);
|
||||
const skip = (validatedPageNumber - 1) * validatedPageSize;
|
||||
const limit = validatedPageSize;
|
||||
|
||||
const promptGroupsPipeline = createGroupPipeline(combinedQuery, skip, limit);
|
||||
const totalPromptGroupsPipeline = [{ $match: combinedQuery }, { $count: 'total' }];
|
||||
|
|
@ -110,9 +114,9 @@ const getPromptGroups = async (req, filter) => {
|
|||
|
||||
return {
|
||||
promptGroups,
|
||||
pageNumber: pageNumber.toString(),
|
||||
pageSize: pageSize.toString(),
|
||||
pages: Math.ceil(totalPromptGroups / pageSize).toString(),
|
||||
pageNumber: validatedPageNumber.toString(),
|
||||
pageSize: validatedPageSize.toString(),
|
||||
pages: Math.ceil(totalPromptGroups / validatedPageSize).toString(),
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('Error getting prompt groups', error);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue