| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import { API, showError } from '../helpers';
- export async function getOAuthState() {
- let path = '/api/oauth/state';
- let affCode = localStorage.getItem('aff');
- if (affCode && affCode.length > 0) {
- path += `?aff=${affCode}`;
- }
- const res = await API.get(path);
- 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`,
- );
- }
- export async function onLinuxDOOAuthClicked(linuxdo_client_id) {
- const state = await getOAuthState();
- if (!state) return;
- window.open(
- `https://connect.linux.do/oauth2/authorize?response_type=code&client_id=${linuxdo_client_id}&state=${state}`,
- );
- }
- 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 [];
- }
|