improve ge chat by search cpace request type

This commit is contained in:
thierryverse 2025-11-18 21:11:29 +02:00
parent 1a954bc184
commit 68e4d9b23e
3 changed files with 22 additions and 11 deletions

View file

@ -38,7 +38,9 @@ export const activeSearchSpaceChatsAtom = atomWithQuery((get) => {
queryKey: cacheKeys.activeSearchSpace.chats(searchSpaceId ?? ""), queryKey: cacheKeys.activeSearchSpace.chats(searchSpaceId ?? ""),
enabled: !!searchSpaceId && !!authToken, enabled: !!searchSpaceId && !!authToken,
queryFn: async () => { queryFn: async () => {
return chatsApiService.getChatsBySearchSpace({ search_space_id: Number(searchSpaceId) }); return chatsApiService.getChatsBySearchSpace({
queryParams: { search_space_id: searchSpaceId! },
});
}, },
}; };
}); });

View file

@ -20,11 +20,16 @@ export const chatDetails = chatSummary.extend({
export const getChatDetailsRequest = chatSummary.pick({ id: true }); export const getChatDetailsRequest = chatSummary.pick({ id: true });
export const getChatsBySearchSpaceRequest = chatSummary export const getChatsBySearchSpaceRequest = z.object({
.pick({ queryParams: paginationQueryParams
search_space_id: true, .extend({
}) search_space_id: z.number().or(z.string()),
.merge(paginationQueryParams); })
.transform((entries) =>
Object.fromEntries(Object.entries(entries).map(([k, v]) => [k, v.toString()]))
)
.nullish(),
});
export const deleteChatResponse = z.object({ export const deleteChatResponse = z.object({
message: z.literal("Chat deleted successfully"), message: z.literal("Chat deleted successfully"),
@ -38,7 +43,10 @@ export const createChatRequest = chatDetails.omit({
state_version: true, state_version: true,
}); });
export const updateChatRequest = chatDetails.omit({ created_at: true, state_version: true }); export const updateChatRequest = chatDetails.omit({
created_at: true,
state_version: true,
});
export type ChatSummary = z.infer<typeof chatSummary>; export type ChatSummary = z.infer<typeof chatSummary>;
export type ChatDetails = z.infer<typeof chatDetails> & { messages: Message[] }; export type ChatDetails = z.infer<typeof chatDetails> & { messages: Message[] };

View file

@ -45,10 +45,11 @@ class ChatApiService {
throw new ValidationError(`Invalid request: ${errorMessage}`); throw new ValidationError(`Invalid request: ${errorMessage}`);
} }
return baseApiService.get( const queryParams = parsedRequest.data.queryParams
`/api/v1/chats?search_space_id=${request.search_space_id}`, ? new URLSearchParams(parsedRequest.data.queryParams).toString()
z.array(chatSummary) : undefined;
);
return baseApiService.get(`/api/v1/chats?${queryParams}`, z.array(chatSummary));
}; };
deleteChat = async (request: DeleteChatRequest) => { deleteChat = async (request: DeleteChatRequest) => {