From 706c71df1052ea0fd4891fb049c07250b202eca0 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 7 Jul 2023 15:40:55 -0700 Subject: [PATCH] refactor: ServerState type --- store/server.ts | 2 +- types/server.ts | 49 +++++++++++++++++++++++++++---------------------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/store/server.ts b/store/server.ts index 07e71c040..a6eb8111b 100644 --- a/store/server.ts +++ b/store/server.ts @@ -52,7 +52,7 @@ export const useServerStore = defineStore('server', () => { const regGen = ref(0); const regGuid = ref(''); const site = ref(''); - const state = ref(''); // @todo implement ServerState ENUM + const state = ref(); const theme = ref(); const uptime = ref(0); const username = ref(''); // @todo potentially move to a user store diff --git a/types/server.ts b/types/server.ts index 8249b689e..bab6c55c0 100644 --- a/types/server.ts +++ b/types/server.ts @@ -2,24 +2,30 @@ import { KeyIcon } from '@heroicons/vue/24/solid'; import { Theme } from '~/store/theme'; import { UserProfileLink } from '~/types/userProfile'; -export enum ServerState { - BASIC = 'BASIC', - PLUS = 'PLUS', - PRO = 'PRO', - TRIAL = 'TRIAL', - EEXPIRED = 'EEXPIRED', - ENOKEYFILE = 'ENOKEYFILE', - EGUID = 'EGUID', - EGUID1 = 'EGUID1', - ETRIAL = 'ETRIAL', - ENOKEYFILE2 = 'ENOKEYFILE2', - ENOKEYFILE1 = 'ENOKEYFILE1', - ENOFLASH = 'ENOFLASH', - EBLACKLISTED = 'EBLACKLISTED', - EBLACKLISTED1 = 'EBLACKLISTED1', - EBLACKLISTED2 = 'EBLACKLISTED2', - ENOCONN = 'ENOCONN', -} +export type ServerState = 'BASIC' + | 'PLUS' + | 'PRO' + | 'TRIAL' + | 'EEXPIRED' + | 'ENOKEYFILE' + | 'EGUID' + | 'EGUID1' + | 'ETRIAL' + | 'ENOKEYFILE2' + | 'ENOKEYFILE1' + | 'ENOFLASH' + | 'ENOFLASH1' + | 'ENOFLASH2' + | 'ENOFLASH3' + | 'ENOFLASH4' + | 'ENOFLASH5' + | 'ENOFLASH6' + | 'ENOFLASH7' + | 'EBLACKLISTED' + | 'EBLACKLISTED1' + | 'EBLACKLISTED2' + | 'ENOCONN' + | undefined; export interface Server { apiKey?: string; avatar?: string; @@ -42,8 +48,7 @@ export interface Server { regGen?: number; regGuid?: string; site?: string; - // state?: ServerState; - state: string; + state?: ServerState; theme: Theme; uptime?: number; username?: string; @@ -67,7 +72,7 @@ export interface ServerAccountCallbackSendPayload { regGen?: number; regGuid?: string; site?: string; - state: string; + state: ServerState; wanFQDN?: string; } @@ -81,7 +86,7 @@ export interface ServerPurchaseCallbackSendPayload { keyTypeForPurchase: ServerKeyTypeForPurchase; locale: string; registered: boolean; - state: string; + state: ServerState; site: string; }