-
Notifications
You must be signed in to change notification settings - Fork 0
/
keys.ts
102 lines (89 loc) · 2.9 KB
/
keys.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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
// fs doesnt work in expo.. sigh
// https://docs.expo.dev/versions/latest/sdk/filesystem/
// readFileSync is runtime, require is at compile time. need to standardise this
// this whole file is so bad pls fix
let values: any;
function loadSettingsFile() {
if (typeof process !== 'undefined' && process?.versions?.electron == undefined) {
// no fs in electron, error is annoying
return null;
}
return null;
// const fs = require('fs');
// let settingsJson;
// try {
// settingsJson = fs.readFileSync('local.settings.json', 'utf8');
// } catch (err) {
// console.info('Could not load local.settings.json file. Trying ../vanacloud.azurefunc/local.settings.json variables.');
// try {
// settingsJson = fs.readFileSync('../vanjacloud.azurefunc/local.settings.json', 'utf8');
// } catch (err) {
// console.info('also bad ../vanacloud.azurefunc/local.settings.json variables.');
// return null;
// }
// const settings = JSON.parse(settingsJson);
// return settings.Values;
// }
}
function loadFromCompileTimeKeys() {
if (typeof process !== 'undefined' && process?.versions?.electron == undefined) {
return null;
}
return null;
// try {
// return require('../../keys.json');
// } catch (err) {
// console.info('Could not load ../keys.json file.');
// return null;
// }
}
values = loadSettingsFile();
if (values == null) {
console.info('Could not load settings file. Falling back to ../keys.json variables.');
values = loadFromCompileTimeKeys();
if (values == null) {
console.info('Could not load ../keys.json file. Falling back to env variables.');
try {
values = loadFromProcessEnv()
console.info('Loaded env variables:',
Object.keys(values).map(k => `${k}: ${values[k]?.length}`));
} catch (err) {
console.warn('Could not load any keys variables.');
values = {
OPENAI_KEY: undefined,
NOTION_SECRET: undefined,
SPOTIFY_CLIENTID: undefined,
SPOTIFY_CLIENTSECRET: undefined,
AZURE_TRANSLATE_KEY: undefined,
HUGGINGFACE_KEY: undefined,
MEM_KEY: undefined
}
}
}
}
export default {
openai: values.OPENAI_KEY,
notion: values.NOTION_SECRET,
spotify: {
clientId: values.SPOTIFY_CLIENTID,
clientSecret: values.SPOTIFY_CLIENTSECRET
},
azure: {
translate: values.AZURE_TRANSLATE_KEY
},
huggingface: values.HUGGINGFACE_KEY,
mem: values.MEM_KEY
};
function loadFromProcessEnv(): any {
if (typeof process === 'undefined')
return null;
return {
OPENAI_KEY: process.env.OPENAI_KEY,
NOTION_SECRET: process.env.NOTION_SECRET,
SPOTIFY_CLIENTID: process.env.SPOTIFY_CLIENTID,
SPOTIFY_CLIENTSECRET: process.env.SPOTIFY_CLIENTSECRET,
AZURE_TRANSLATE_KEY: process.env.AZURE_TRANSLATE_KEY,
HUGGINGFACE_KEY: process.env.HUGGINGFACE_KEY,
MEM_KEY: process.env.MEM_KEY
};
}