Procházet zdrojové kódy

Implement SWR hooks to fetch and cache messages

Shun Miyazawa před 1 rokem
rodič
revize
ec0b68ca97

+ 13 - 0
apps/app/src/features/openai/client/stores/message.tsx

@@ -0,0 +1,13 @@
+import type OpenAI from 'openai';
+import type { SWRResponse } from 'swr';
+import useSWRImmutable from 'swr/immutable';
+
+import { apiv3Get } from '~/client/util/apiv3-client';
+
+export const useSWRxMessages = (aiAssistantId: string, threadId: string): SWRResponse<OpenAI.Beta.Threads.Messages.MessagesPage, Error> => {
+  const key = [`/openai/messages/${aiAssistantId}/${threadId}`];
+  return useSWRImmutable<OpenAI.Beta.Threads.Messages.MessagesPage>(
+    key,
+    ([endpoint]) => apiv3Get(endpoint).then(response => response.data.accessibleAiAssistants),
+  );
+};