aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/reviewDB/auth.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/reviewDB/auth.tsx')
-rw-r--r--src/plugins/reviewDB/auth.tsx78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/plugins/reviewDB/auth.tsx b/src/plugins/reviewDB/auth.tsx
deleted file mode 100644
index 1d95e47..0000000
--- a/src/plugins/reviewDB/auth.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Vencord, a Discord client mod
- * Copyright (c) 2023 Vendicated and contributors
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
-
-import { DataStore } from "@api/index";
-import { Logger } from "@utils/Logger";
-import { openModal } from "@utils/modal";
-import { findByPropsLazy } from "@webpack";
-import { showToast, Toasts, UserStore } from "@webpack/common";
-
-import { ReviewDBAuth } from "./entities";
-
-const DATA_STORE_KEY = "rdb-auth";
-
-const OAuth = findByPropsLazy("OAuth2AuthorizeModal");
-
-export let Auth: ReviewDBAuth = {};
-
-export async function initAuth() {
- Auth = await getAuth() ?? {};
-}
-
-export async function getAuth(): Promise<ReviewDBAuth | undefined> {
- const auth = await DataStore.get(DATA_STORE_KEY);
- return auth?.[UserStore.getCurrentUser()?.id];
-}
-
-export async function getToken() {
- const auth = await getAuth();
- return auth?.token;
-}
-
-export async function updateAuth(newAuth: ReviewDBAuth) {
- return DataStore.update(DATA_STORE_KEY, auth => {
- auth ??= {};
- Auth = auth[UserStore.getCurrentUser().id] ??= {};
-
- if (newAuth.token) Auth.token = newAuth.token;
- if (newAuth.user) Auth.user = newAuth.user;
-
- return auth;
- });
-}
-
-export function authorize(callback?: any) {
- openModal(props =>
- <OAuth.OAuth2AuthorizeModal
- {...props}
- scopes={["identify"]}
- responseType="code"
- redirectUri="https://manti.vendicated.dev/api/reviewdb/auth"
- permissions={0n}
- clientId="915703782174752809"
- cancelCompletesFlow={false}
- callback={async (response: any) => {
- try {
- const url = new URL(response.location);
- url.searchParams.append("clientMod", "vencord");
- const res = await fetch(url, {
- headers: new Headers({ Accept: "application/json" })
- });
- const { token, success } = await res.json();
- if (success) {
- updateAuth({ token });
- showToast("Successfully logged in!");
- callback?.();
- } else if (res.status === 1) {
- showToast("An Error occurred while logging in.", Toasts.Type.FAILURE);
- }
- } catch (e) {
- new Logger("ReviewDB").error("Failed to authorize", e);
- }
- }}
- />
- );
-}