-
-
Notifications
You must be signed in to change notification settings - Fork 11.7k
/
Copy path_header.ts
38 lines (35 loc) · 1.2 KB
/
_header.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import {
LOBE_CHAT_ACCESS_CODE,
LOBE_USER_ID,
OPENAI_API_KEY_HEADER_KEY,
OPENAI_END_POINT,
} from '@/const/fetch';
import { isDeprecatedEdition } from '@/const/version';
import { aiProviderSelectors, useAiInfraStore } from '@/store/aiInfra';
import { useUserStore } from '@/store/user';
import { keyVaultsConfigSelectors } from '@/store/user/selectors';
/**
* TODO: Need to be removed after tts refactor
* @deprecated
*/
// eslint-disable-next-line no-undef
export const createHeaderWithOpenAI = (header?: HeadersInit): HeadersInit => {
const state = useUserStore.getState();
let keyVaults: Record<string, any> = {};
// TODO: remove this condition in V2.0
if (isDeprecatedEdition) {
keyVaults = keyVaultsConfigSelectors.getVaultByProvider('openai' as any)(
useUserStore.getState(),
);
} else {
keyVaults = aiProviderSelectors.providerKeyVaults('openai')(useAiInfraStore.getState()) || {};
}
// eslint-disable-next-line no-undef
return {
...header,
[LOBE_CHAT_ACCESS_CODE]: keyVaultsConfigSelectors.password(state),
[LOBE_USER_ID]: state.user?.id || '',
[OPENAI_API_KEY_HEADER_KEY]: keyVaults.apiKey || '',
[OPENAI_END_POINT]: keyVaults.baseURL || '',
};
};