This commit is contained in:
Alex
2023-07-26 22:14:54 +01:00
parent 486a1bc9de
commit 382c3930a2
7 changed files with 337 additions and 25 deletions

View File

@@ -33,6 +33,29 @@ export async function getDocs(): Promise<Doc[] | null> {
}
}
export async function getConversations(): Promise<
{ name: string; id: string }[] | null
> {
try {
const apiHost =
import.meta.env.VITE_API_HOST || 'https://docsapi.arc53.com';
const response = await fetch(apiHost + '/api/get_conversations');
const data = await response.json();
const conversations: { name: string; id: string }[] = [];
data.forEach((conversation: object) => {
conversations.push(conversation as { name: string; id: string });
});
return conversations;
} catch (error) {
console.log(error);
return null;
}
}
export function getLocalApiKey(): string | null {
const key = localStorage.getItem('DocsGPTApiKey');
return key;

View File

@@ -10,6 +10,7 @@ interface Preference {
apiKey: string;
selectedDocs: Doc | null;
sourceDocs: Doc[] | null;
conversations: { name: string; id: string }[] | null;
}
const initialState: Preference = {
@@ -26,6 +27,7 @@ const initialState: Preference = {
model: 'openai_text-embedding-ada-002',
} as Doc,
sourceDocs: null,
conversations: null,
};
export const prefSlice = createSlice({
@@ -41,10 +43,14 @@ export const prefSlice = createSlice({
setSourceDocs: (state, action) => {
state.sourceDocs = action.payload;
},
setConversations: (state, action) => {
state.conversations = action.payload;
},
},
});
export const { setApiKey, setSelectedDocs, setSourceDocs } = prefSlice.actions;
export const { setApiKey, setSelectedDocs, setSourceDocs, setConversations } =
prefSlice.actions;
export default prefSlice.reducer;
export const prefListenerMiddleware = createListenerMiddleware();
@@ -74,3 +80,7 @@ export const selectSourceDocs = (state: RootState) =>
state.preference.sourceDocs;
export const selectSelectedDocs = (state: RootState) =>
state.preference.selectedDocs;
export const selectConversations = (state: RootState) =>
state.preference.conversations;
export const selectConversationId = (state: RootState) =>
state.conversation.conversationId;