|
|
@@ -1,76 +0,0 @@
|
|
|
-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 onOIDCClicked(auth_url, client_id, openInNewTab = false) {
|
|
|
- const state = await getOAuthState();
|
|
|
- if (!state) return;
|
|
|
- const redirect_uri = `${window.location.origin}/oauth/oidc`;
|
|
|
- const response_type = 'code';
|
|
|
- const scope = 'openid profile email';
|
|
|
- const url = `${auth_url}?client_id=${client_id}&redirect_uri=${redirect_uri}&response_type=${response_type}&scope=${scope}&state=${state}`;
|
|
|
- if (openInNewTab) {
|
|
|
- window.open(url);
|
|
|
- } else {
|
|
|
- window.location.href = url;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-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 [];
|
|
|
-}
|