mirror of
https://github.com/open-webui/open-webui
synced 2025-02-26 07:09:07 +00:00
refac
This commit is contained in:
parent
4c756b5501
commit
76c8602324
@ -136,7 +136,9 @@ class MessageUserModel(MessageModel):
|
|||||||
|
|
||||||
|
|
||||||
@router.get("/{id}/messages", response_model=list[MessageUserModel])
|
@router.get("/{id}/messages", response_model=list[MessageUserModel])
|
||||||
async def get_channel_messages(id: str, page: int = 1, user=Depends(get_verified_user)):
|
async def get_channel_messages(
|
||||||
|
id: str, skip: int = 0, limit: int = 50, user=Depends(get_verified_user)
|
||||||
|
):
|
||||||
channel = Channels.get_channel_by_id(id)
|
channel = Channels.get_channel_by_id(id)
|
||||||
if not channel:
|
if not channel:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
@ -148,9 +150,6 @@ async def get_channel_messages(id: str, page: int = 1, user=Depends(get_verified
|
|||||||
status_code=status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.DEFAULT()
|
status_code=status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.DEFAULT()
|
||||||
)
|
)
|
||||||
|
|
||||||
limit = 50
|
|
||||||
skip = (page - 1) * limit
|
|
||||||
|
|
||||||
message_list = Messages.get_messages_by_channel_id(id, skip, limit)
|
message_list = Messages.get_messages_by_channel_id(id, skip, limit)
|
||||||
users = {}
|
users = {}
|
||||||
|
|
||||||
|
@ -166,10 +166,10 @@ export const deleteChannelById = async (token: string = '', channel_id: string)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export const getChannelMessages = async (token: string = '', channel_id: string, page: number = 1) => {
|
export const getChannelMessages = async (token: string = '', channel_id: string, skip: number = 0, limit: number = 50) => {
|
||||||
let error = null;
|
let error = null;
|
||||||
|
|
||||||
const res = await fetch(`${WEBUI_API_BASE_URL}/channels/${channel_id}/messages?page=${page}`, {
|
const res = await fetch(`${WEBUI_API_BASE_URL}/channels/${channel_id}/messages?skip=${skip}&limit=${limit}`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: {
|
headers: {
|
||||||
Accept: 'application/json',
|
Accept: 'application/json',
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
let messagesContainerElement = null;
|
let messagesContainerElement = null;
|
||||||
|
|
||||||
let top = false;
|
let top = false;
|
||||||
let page = 1;
|
|
||||||
|
|
||||||
let channel = null;
|
let channel = null;
|
||||||
let messages = null;
|
let messages = null;
|
||||||
@ -31,7 +30,6 @@
|
|||||||
|
|
||||||
const initHandler = async () => {
|
const initHandler = async () => {
|
||||||
top = false;
|
top = false;
|
||||||
page = 1;
|
|
||||||
messages = null;
|
messages = null;
|
||||||
channel = null;
|
channel = null;
|
||||||
|
|
||||||
@ -40,7 +38,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (channel) {
|
if (channel) {
|
||||||
messages = await getChannelMessages(localStorage.token, id, page);
|
messages = await getChannelMessages(localStorage.token, id, 0);
|
||||||
|
|
||||||
if (messages) {
|
if (messages) {
|
||||||
messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight;
|
messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight;
|
||||||
@ -117,16 +115,14 @@
|
|||||||
{messages}
|
{messages}
|
||||||
{top}
|
{top}
|
||||||
onLoad={async () => {
|
onLoad={async () => {
|
||||||
page += 1;
|
const newMessages = await getChannelMessages(localStorage.token, id, messages.length);
|
||||||
|
|
||||||
const newMessages = await getChannelMessages(localStorage.token, id, page);
|
messages = [...messages, ...newMessages];
|
||||||
|
|
||||||
if (newMessages.length === 0) {
|
if (newMessages.length < 50) {
|
||||||
top = true;
|
top = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
messages = [...messages, ...newMessages];
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{/key}
|
{/key}
|
||||||
|
Loading…
Reference in New Issue
Block a user