mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-18 09:20:15 +01:00
🔖 feat: Conversation Bookmarks (#3344)
* feat: add tags property in Conversation model * feat: add ConversationTag model * feat: add the tags parameter to getConvosByPage * feat: add API route to ConversationTag * feat: add types of ConversationTag * feat: add data access functions for conversation tags * feat: add Bookmark table component * feat: Add an action to bookmark * feat: add Bookmark nav component * fix: failed test * refactor: made 'Saved' tag a constant * feat: add new bookmark to current conversation * chore: Add comment * fix: delete tag from conversations when it's deleted * fix: Update the query cache when the tag title is changed. * chore: fix typo * refactor: add description of rebuilding bookmarks * chore: remove unused variables * fix: position when adding a new bookmark * refactor: add comment, rename a function * refactor: add a unique constraint in ConversationTag * chore: add localizations
This commit is contained in:
parent
d4d56281e3
commit
e565e0faab
65 changed files with 3751 additions and 36 deletions
|
|
@ -424,7 +424,8 @@ export const listConversations = (
|
|||
// Assuming params has a pageNumber property
|
||||
const pageNumber = params?.pageNumber || '1'; // Default to page 1 if not provided
|
||||
const isArchived = params?.isArchived || false; // Default to false if not provided
|
||||
return request.get(endpoints.conversations(pageNumber, isArchived));
|
||||
const tags = params?.tags || []; // Default to an empty array if not provided
|
||||
return request.get(endpoints.conversations(pageNumber, isArchived, tags));
|
||||
};
|
||||
|
||||
export const listConversationsByQuery = (
|
||||
|
|
@ -541,3 +542,34 @@ export function updatePromptPermissions(
|
|||
): Promise<m.UpdatePromptPermResponse> {
|
||||
return request.put(endpoints.updatePromptPermissions(variables.roleName), variables.updates);
|
||||
}
|
||||
|
||||
/* Tags */
|
||||
export function getConversationTags(): Promise<t.TConversationTagsResponse> {
|
||||
return request.get(endpoints.conversationTags());
|
||||
}
|
||||
|
||||
export function createConversationTag(
|
||||
payload: t.TConversationTagRequest,
|
||||
): Promise<t.TConversationTagResponse> {
|
||||
return request.post(endpoints.conversationTags(), payload);
|
||||
}
|
||||
|
||||
export function updateConversationTag(
|
||||
tag: string,
|
||||
payload: t.TConversationTagRequest,
|
||||
): Promise<t.TConversationTagResponse> {
|
||||
return request.put(endpoints.conversationTags(tag), payload);
|
||||
}
|
||||
export function deleteConversationTag(tag: string): Promise<t.TConversationTagResponse> {
|
||||
return request.delete(endpoints.conversationTags(tag));
|
||||
}
|
||||
|
||||
export function addTagToConversation(
|
||||
conversationId: string,
|
||||
payload: t.TTagConversationRequest,
|
||||
): Promise<t.TTagConversationResponse> {
|
||||
return request.put(endpoints.addTagToConversation(conversationId), payload);
|
||||
}
|
||||
export function rebuildConversationTags(): Promise<t.TConversationTagsResponse> {
|
||||
return request.post(endpoints.conversationTags('rebuild'));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue