50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
import { API, showError } from '../helpers';
|
|
|
|
export async function getOAuthState() {
|
|
const res = await API.get('/api/oauth/state');
|
|
const { success, message, data } = res.data;
|
|
if (success) {
|
|
return data;
|
|
} else {
|
|
showError(message);
|
|
return '';
|
|
}
|
|
}
|
|
|
|
export async function onGitHubOAuthClicked(github_client_id) {
|
|
const state = await getOAuthState();
|
|
if (!state) return;
|
|
window.open(
|
|
`https://github.com/login/oauth/authorize?client_id=${github_client_id}&state=${state}&scope=user:email`,
|
|
);
|
|
}
|
|
|
|
let channelModels = undefined;
|
|
export async function loadChannelModels() {
|
|
const res = await API.get('/api/models');
|
|
const { success, data } = res.data;
|
|
if (!success) {
|
|
return;
|
|
}
|
|
channelModels = data;
|
|
localStorage.setItem('channel_models', JSON.stringify(data));
|
|
}
|
|
|
|
export function getChannelModels(type) {
|
|
if (channelModels !== undefined && type in channelModels) {
|
|
if (!channelModels[type]) {
|
|
return [];
|
|
}
|
|
return channelModels[type];
|
|
}
|
|
let models = localStorage.getItem('channel_models');
|
|
if (!models) {
|
|
return [];
|
|
}
|
|
channelModels = JSON.parse(models);
|
|
if (type in channelModels) {
|
|
return channelModels[type];
|
|
}
|
|
return [];
|
|
}
|