MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / getOptions

Function getOptions

web/src/components/settings/SystemSetting.js:82–131  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

80 const [emailToAdd, setEmailToAdd] = useState('');
81
82 const getOptions = async () => {
83 setLoading(true);
84 const res = await API.get('/api/option/');
85 const { success, message, data } = res.data;
86 if (success) {
87 let newInputs = {};
88 data.forEach((item) => {
89 switch (item.key) {
90 case 'TopupGroupRatio':
91 item.value = JSON.stringify(JSON.parse(item.value), null, 2);
92 break;
93 case 'EmailDomainWhitelist':
94 setEmailDomainWhitelist(item.value ? item.value.split(',') : []);
95 break;
96 case 'PasswordLoginEnabled':
97 case 'PasswordRegisterEnabled':
98 case 'EmailVerificationEnabled':
99 case 'GitHubOAuthEnabled':
100 case 'WeChatAuthEnabled':
101 case 'TelegramOAuthEnabled':
102 case 'RegisterEnabled':
103 case 'TurnstileCheckEnabled':
104 case 'EmailDomainRestrictionEnabled':
105 case 'EmailAliasRestrictionEnabled':
106 case 'SMTPSSLEnabled':
107 case 'LinuxDOOAuthEnabled':
108 case 'oidc.enabled':
109 case 'WorkerAllowHttpImageRequestEnabled':
110 item.value = toBoolean(item.value);
111 break;
112 case 'Price':
113 case 'MinTopUp':
114 item.value = parseFloat(item.value);
115 break;
116 default:
117 break;
118 }
119 newInputs[item.key] = item.value;
120 });
121 setInputs(newInputs);
122 setOriginInputs(newInputs);
123 if (formApiRef.current) {
124 formApiRef.current.setValues(newInputs);
125 }
126 setIsLoaded(true);
127 } else {
128 showError(message);
129 }
130 setLoading(false);
131 };
132
133 useEffect(() => {
134 getOptions();

Callers 1

SystemSetting.jsFile · 0.70

Calls 2

toBooleanFunction · 0.90
showErrorFunction · 0.90

Tested by

no test coverage detected