feat: fetch api service state
This commit is contained in:
@ -1,4 +1,6 @@
|
|||||||
|
import { getApiServiceCID } from "@/api/admin/apiServices";
|
||||||
import { codeApi } from "@/api/code";
|
import { codeApi } from "@/api/code";
|
||||||
|
import type { ApiService } from "@/types";
|
||||||
import { create } from "zustand";
|
import { create } from "zustand";
|
||||||
|
|
||||||
export interface OAuthState {
|
export interface OAuthState {
|
||||||
@ -9,8 +11,13 @@ export interface OAuthState {
|
|||||||
state: string;
|
state: string;
|
||||||
nonce: string;
|
nonce: string;
|
||||||
|
|
||||||
|
apiService: ApiService | null;
|
||||||
|
fetching: boolean;
|
||||||
|
|
||||||
parseSearchParams: (params: URLSearchParams) => void;
|
parseSearchParams: (params: URLSearchParams) => void;
|
||||||
selectSession: (token: string) => Promise<void>;
|
selectSession: (token: string) => Promise<void>;
|
||||||
|
|
||||||
|
fetchApiService: () => Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const useOAuth = create<OAuthState>((set, get) => ({
|
export const useOAuth = create<OAuthState>((set, get) => ({
|
||||||
@ -21,6 +28,25 @@ export const useOAuth = create<OAuthState>((set, get) => ({
|
|||||||
state: "",
|
state: "",
|
||||||
nonce: "",
|
nonce: "",
|
||||||
|
|
||||||
|
apiService: null,
|
||||||
|
fetching: false,
|
||||||
|
|
||||||
|
fetchApiService: async () => {
|
||||||
|
const { clientID } = get();
|
||||||
|
if (!clientID) return;
|
||||||
|
|
||||||
|
set({ fetching: true });
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await getApiServiceCID(clientID);
|
||||||
|
set({ apiService: response });
|
||||||
|
} catch (err) {
|
||||||
|
console.log("ERR: Failed to fetch api service by client id:", err);
|
||||||
|
} finally {
|
||||||
|
set({ fetching: false });
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
parseSearchParams: (params) => {
|
parseSearchParams: (params) => {
|
||||||
if (get().active) return;
|
if (get().active) return;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user