diff --git a/store/tokens.ts b/store/tokens.ts deleted file mode 100644 index eff1100..0000000 --- a/store/tokens.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { AccessToken } from "@prisma/client"; -import { create } from "zustand"; - -// Token store - -type ResponseObject = { - ok: boolean; - data: object | string; -}; - -type TokenStore = { - tokens: Partial[]; - setTokens: (data: Partial[]) => void; - addToken: (body: Partial[]) => Promise; - revokeToken: (tokenId: number) => Promise; -}; - -const useTokenStore = create((set) => ({ - tokens: [], - setTokens: async (data) => { - set(() => ({ - tokens: data, - })); - }, - addToken: async (body) => { - const response = await fetch("/api/v1/tokens", { - body: JSON.stringify(body), - method: "POST", - }); - - const data = await response.json(); - - if (response.ok) - set((state) => ({ - tokens: [...state.tokens, data.response.token], - })); - - return { ok: response.ok, data: data.response }; - }, - revokeToken: async (tokenId) => { - const response = await fetch(`/api/v1/tokens/${tokenId}`, { - method: "DELETE", - }); - - const data = await response.json(); - - if (response.ok) - set((state) => ({ - tokens: state.tokens.filter((token) => token.id !== tokenId), - })); - - return { ok: response.ok, data: data.response }; - }, -})); - -export default useTokenStore;