@plutonhq/core-frontend 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/@types/plans.d.ts +11 -20
- package/dist-lib/@types/plans.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanAdvancedSettings.js +49 -47
- package/dist-lib/components/Plan/PlanSettings/PlanAdvancedSettings.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.d.ts +7 -4
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.d.ts.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.js +177 -52
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettings.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettingsTester.d.ts +9 -0
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettingsTester.d.ts.map +1 -0
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettingsTester.js +62 -0
- package/dist-lib/components/Plan/PlanSettings/PlanNotificationSettingsTester.js.map +1 -0
- package/dist-lib/components/Plan/PlanSettings/PlanPruneSettings.js +2 -2
- package/dist-lib/components/Plan/PlanSettings/PlanPruneSettings.js.map +1 -1
- package/dist-lib/components/Plan/PlanSettings/PlanSettings.module.scss.js +56 -40
- package/dist-lib/components/Plan/PlanSettings/PlanSettings.module.scss.js.map +1 -1
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.d.ts.map +1 -1
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js +16 -8
- package/dist-lib/components/Settings/GeneralSettings/GeneralSettings.js.map +1 -1
- package/dist-lib/components/Storage/AddStorage/AddStorage.module.scss.js +42 -26
- package/dist-lib/components/Storage/AddStorage/AddStorage.module.scss.js.map +1 -1
- package/dist-lib/components/Storage/StorageAuthSettings/StorageAuthSettings.d.ts.map +1 -1
- package/dist-lib/components/Storage/StorageAuthSettings/StorageAuthSettings.js +119 -53
- package/dist-lib/components/Storage/StorageAuthSettings/StorageAuthSettings.js.map +1 -1
- package/dist-lib/components/common/Icon/Icon.d.ts.map +1 -1
- package/dist-lib/components/common/Icon/Icon.js +15 -1
- package/dist-lib/components/common/Icon/Icon.js.map +1 -1
- package/dist-lib/components/index.d.ts +1 -0
- package/dist-lib/components/index.d.ts.map +1 -1
- package/dist-lib/components.js +86 -84
- package/dist-lib/components.js.map +1 -1
- package/dist-lib/providers/s3compatible.png +0 -0
- package/dist-lib/services/plans.d.ts +13 -1
- package/dist-lib/services/plans.d.ts.map +1 -1
- package/dist-lib/services/plans.js +88 -61
- package/dist-lib/services/plans.js.map +1 -1
- package/dist-lib/services/settings.d.ts.map +1 -1
- package/dist-lib/services/settings.js +25 -24
- package/dist-lib/services/settings.js.map +1 -1
- package/dist-lib/services/storage.d.ts +10 -0
- package/dist-lib/services/storage.d.ts.map +1 -1
- package/dist-lib/services/storage.js +55 -20
- package/dist-lib/services/storage.js.map +1 -1
- package/dist-lib/services.js +106 -101
- package/dist-lib/styles/core-frontend.css +1 -1
- package/dist-lib/utils/constants.d.ts.map +1 -1
- package/dist-lib/utils/constants.js +28 -5
- package/dist-lib/utils/constants.js.map +1 -1
- package/dist-lib/utils/helpers.d.ts +1 -0
- package/dist-lib/utils/helpers.d.ts.map +1 -1
- package/dist-lib/utils/helpers.js +17 -10
- package/dist-lib/utils/helpers.js.map +1 -1
- package/dist-lib/utils.js +28 -27
- package/package.json +1 -1
- package/src/@types/plans.ts +11 -20
- package/src/components/Plan/PlanSettings/PlanAdvancedSettings.tsx +4 -4
- package/src/components/Plan/PlanSettings/PlanNotificationSettings.tsx +179 -47
- package/src/components/Plan/PlanSettings/PlanNotificationSettingsTester.tsx +85 -0
- package/src/components/Plan/PlanSettings/PlanPruneSettings.tsx +2 -2
- package/src/components/Plan/PlanSettings/PlanSettings.module.scss +71 -0
- package/src/components/Settings/GeneralSettings/GeneralSettings.tsx +6 -1
- package/src/components/Storage/AddStorage/AddStorage.module.scss +74 -0
- package/src/components/Storage/StorageAuthSettings/StorageAuthSettings.tsx +136 -3
- package/src/components/common/Icon/Icon.tsx +16 -0
- package/src/components/index.ts +1 -0
- package/src/services/plans.ts +38 -1
- package/src/services/settings.ts +2 -2
- package/src/services/storage.ts +49 -0
- package/src/utils/constants.ts +23 -0
- package/src/utils/helpers.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sources":["../../src/services/settings.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { experimental_createQueryPersister } from '@tanstack/react-query-persist-client';\r\nimport { API_URL } from '../utils/constants';\r\nimport { useNavigate } from 'react-router';\r\n\r\n// ============== Settings API ==============\r\n\r\n// Get Settings\r\nexport async function getSettings() {\r\n const url = new URL(`${API_URL}/settings`);\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetSettings() {\r\n return useQuery({\r\n queryKey: ['settings'],\r\n queryFn: () => getSettings(),\r\n refetchOnMount: true,\r\n retry: false,\r\n staleTime: 0,\r\n });\r\n}\r\n\r\nexport async function updateSettings(updatePayload: { id: string; settings: Record<string, string | boolean | number> }) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/${updatePayload.id}`, {\r\n method: 'PUT',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(updatePayload),\r\n });\r\n const data = await res.json();\r\n console.log('data :', data);\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useUpdateSettings() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: updateSettings,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Notification Bubble.\r\n console.log('# Settings Updated! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['settings'] });\r\n },\r\n });\r\n}\r\n\r\n// Get App Logs\r\nexport async function getAppLogs(settingsID: string) {\r\n const url = new URL(`${API_URL}/settings/${settingsID}/logs`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetAppLogs(settingsID: string) {\r\n return useQuery({\r\n queryKey: ['appLogs', settingsID],\r\n queryFn: () => getAppLogs(settingsID),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Download Plan Logs\r\nexport async function downloadAppLogs(settingsID: string) {\r\n const res = await fetch(`${API_URL}/settings/${settingsID}/logs/download`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n // headers: header,\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n\r\n const filename = res.headers.get('content-disposition')?.split('filename=')[1] || `app.log`;\r\n\r\n // Use streams API\r\n const reader = res.body?.getReader();\r\n const stream = new ReadableStream({\r\n async start(controller) {\r\n while (true) {\r\n const { done, value } = await reader!.read();\r\n if (done) break;\r\n controller.enqueue(value);\r\n }\r\n controller.close();\r\n reader!.releaseLock();\r\n },\r\n });\r\n\r\n // Create download from stream\r\n const blob = await new Response(stream).blob();\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = filename;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n window.URL.revokeObjectURL(url);\r\n}\r\n\r\nexport function useGetDownloadAppLogs() {\r\n return useMutation({\r\n mutationFn: downloadAppLogs,\r\n onSuccess: (res) => {\r\n console.log('# Logs Downloaded! :', res);\r\n },\r\n onError: (res) => {\r\n console.log('# Logs Download Failed! :', res);\r\n },\r\n });\r\n}\r\n\r\nexport async function validateIntegration(updatePayload: {\r\n settingsID: number;\r\n type: string;\r\n settings: Record<string, string | boolean | number>;\r\n test: Record<string, string | boolean | number>;\r\n}) {\r\n console.log('updatePayload :', updatePayload);\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/integration/validate`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(updatePayload),\r\n });\r\n const data = await res.json();\r\n console.log('data :', data);\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useValidateIntegration() {\r\n return useMutation({\r\n mutationFn: validateIntegration,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Notification Bubble.\r\n console.log('# Settings Updated! :', res);\r\n },\r\n });\r\n}\r\n\r\n// ============== Setup API ==============\r\n\r\nexport interface SetupStatus {\r\n setupPending: boolean;\r\n isBinary: boolean;\r\n requiresKeyringSetup: boolean;\r\n platform: string;\r\n}\r\n\r\nexport interface SetupCredentials {\r\n encryptionKey: string;\r\n userName: string;\r\n userPassword: string;\r\n}\r\n\r\n// Fetch setup status\r\nexport async function getSetupStatus(): Promise<{ success: boolean; data: SetupStatus }> {\r\n const res = await fetch(`${API_URL}/setup/status`, { method: 'GET' });\r\n if (!res.ok) {\r\n throw new Error('Failed to get setup status');\r\n }\r\n return res.json();\r\n}\r\n\r\nexport function useSetupStatus() {\r\n return useQuery({\r\n queryKey: ['setupStatus'],\r\n queryFn: getSetupStatus,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Complete setup\r\nexport async function completeSetup(credentials: SetupCredentials): Promise<{ success: boolean; message?: string; error?: string }> {\r\n const res = await fetch(`${API_URL}/setup/complete`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(credentials),\r\n });\r\n return res.json();\r\n}\r\n\r\nexport function useCompleteSetup() {\r\n return useMutation({\r\n mutationFn: completeSetup,\r\n });\r\n}\r\n\r\n// Two-Factor Authentication (2FA) Setup and Verification\r\n\r\nexport async function setupTwoFactorAuth(id: number) {\r\n const headers = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/${id}/2fa/setup`, {\r\n method: 'POST',\r\n headers,\r\n credentials: 'include',\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useSetupTwoFactorAuth() {\r\n return useMutation({\r\n mutationFn: setupTwoFactorAuth,\r\n onSuccess: (res) => {\r\n console.log('# 2FA setup data fetched successfully! :', res);\r\n },\r\n onError: (res) => {\r\n console.log('# 2FA setup data fetch failed! :', res);\r\n },\r\n });\r\n}\r\nexport async function verifyTwoFactorAuth({ code, id }: { code: string; id: number }) {\r\n const headers = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/${id}/2fa/finalize`, {\r\n method: 'POST',\r\n headers,\r\n credentials: 'include',\r\n body: JSON.stringify({ code }),\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useVerifyTwoFactorAuth() {\r\n return useMutation({\r\n mutationFn: verifyTwoFactorAuth,\r\n onSuccess: (res) => {\r\n console.log('# 2FA verification successful! :', res);\r\n },\r\n onError: (res) => {\r\n console.log('# 2FA verification failed! :', res);\r\n },\r\n });\r\n}\r\n\r\nexport async function verifyTwoFactorOTP({ code }: { code: string }) {\r\n const headers = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/user/verify-otp`, {\r\n method: 'POST',\r\n headers,\r\n credentials: 'include',\r\n body: JSON.stringify({ code }),\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useVerifyTwoFactorOTP() {\r\n const navigate = useNavigate();\r\n return useMutation({\r\n mutationFn: verifyTwoFactorOTP,\r\n onSuccess: (res) => {\r\n console.log('# 2FA verification successful! :', res);\r\n navigate('/');\r\n },\r\n onError: (res) => {\r\n console.log('# 2FA verification failed! :', res);\r\n },\r\n });\r\n}\r\n\r\n// check latest version\r\nexport async function checkLatestVersion() {\r\n const res = await fetch(`${API_URL}/settings/version/latest`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nconst SIX_HOURS = 1000 * 60 * 60 * 6;\r\n\r\nconst { persisterFn: latestVersionPersister } = experimental_createQueryPersister({\r\n storage: window.localStorage,\r\n maxAge: SIX_HOURS,\r\n});\r\n\r\nexport function useCheckLatestVersion() {\r\n return useQuery({\r\n queryKey: ['latestVersion'],\r\n queryFn: () => checkLatestVersion(),\r\n persister: latestVersionPersister,\r\n retry: false,\r\n staleTime: SIX_HOURS,\r\n gcTime: SIX_HOURS,\r\n refetchOnWindowFocus: false,\r\n refetchOnReconnect: false,\r\n refetchOnMount: false,\r\n });\r\n}\r\n"],"names":["getSettings","url","API_URL","data","useGetSettings","useQuery","updateSettings","updatePayload","header","useUpdateSettings","queryClient","useQueryClient","useMutation","res","getAppLogs","settingsID","useGetAppLogs","downloadAppLogs","filename","_a","reader","_b","stream","controller","done","value","blob","link","useGetDownloadAppLogs","validateIntegration","useValidateIntegration","getSetupStatus","useSetupStatus","completeSetup","credentials","useCompleteSetup","setupTwoFactorAuth","id","headers","useSetupTwoFactorAuth","verifyTwoFactorAuth","code","useVerifyTwoFactorAuth","verifyTwoFactorOTP","useVerifyTwoFactorOTP","navigate","useNavigate","checkLatestVersion","SIX_HOURS","latestVersionPersister","experimental_createQueryPersister","useCheckLatestVersion"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sources":["../../src/services/settings.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { experimental_createQueryPersister } from '@tanstack/react-query-persist-client';\r\nimport { API_URL } from '../utils/constants';\r\nimport { useNavigate } from 'react-router';\r\n\r\n// ============== Settings API ==============\r\n\r\n// Get Settings\r\nexport async function getSettings() {\r\n const url = new URL(`${API_URL}/settings`);\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetSettings() {\r\n return useQuery({\r\n queryKey: ['settings'],\r\n queryFn: () => getSettings(),\r\n refetchOnMount: true,\r\n retry: false,\r\n staleTime: 0,\r\n });\r\n}\r\n\r\nexport async function updateSettings(updatePayload: { id: string; settings: Record<string, string | boolean | number> }) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/${updatePayload.id}`, {\r\n method: 'PUT',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(updatePayload),\r\n });\r\n const data = await res.json();\r\n console.log('data :', data);\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useUpdateSettings() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: updateSettings,\r\n onSuccess: (res) => {\r\n console.log('# Settings Updated! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['settings'] });\r\n },\r\n });\r\n}\r\n\r\n// Get App Logs\r\nexport async function getAppLogs(settingsID: string) {\r\n const url = new URL(`${API_URL}/settings/${settingsID}/logs`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetAppLogs(settingsID: string) {\r\n return useQuery({\r\n queryKey: ['appLogs', settingsID],\r\n queryFn: () => getAppLogs(settingsID),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Download Plan Logs\r\nexport async function downloadAppLogs(settingsID: string) {\r\n const res = await fetch(`${API_URL}/settings/${settingsID}/logs/download`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n // headers: header,\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n\r\n const filename = res.headers.get('content-disposition')?.split('filename=')[1] || `app.log`;\r\n\r\n // Use streams API\r\n const reader = res.body?.getReader();\r\n const stream = new ReadableStream({\r\n async start(controller) {\r\n while (true) {\r\n const { done, value } = await reader!.read();\r\n if (done) break;\r\n controller.enqueue(value);\r\n }\r\n controller.close();\r\n reader!.releaseLock();\r\n },\r\n });\r\n\r\n // Create download from stream\r\n const blob = await new Response(stream).blob();\r\n const url = window.URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = url;\r\n link.download = filename;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n window.URL.revokeObjectURL(url);\r\n}\r\n\r\nexport function useGetDownloadAppLogs() {\r\n return useMutation({\r\n mutationFn: downloadAppLogs,\r\n onSuccess: (res) => {\r\n console.log('# Logs Downloaded! :', res);\r\n },\r\n onError: (res) => {\r\n console.log('# Logs Download Failed! :', res);\r\n },\r\n });\r\n}\r\n\r\nexport async function validateIntegration(updatePayload: {\r\n settingsID: number;\r\n type: string;\r\n settings: Record<string, string | boolean | number>;\r\n test: Record<string, string | boolean | number>;\r\n}) {\r\n console.log('updatePayload :', updatePayload);\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/integration/validate`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(updatePayload),\r\n });\r\n const data = await res.json();\r\n console.log('data :', data);\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useValidateIntegration() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: validateIntegration,\r\n onSuccess: (res) => {\r\n queryClient.invalidateQueries({ queryKey: ['settings'] });\r\n console.log('# Settings Updated! :', res);\r\n },\r\n });\r\n}\r\n\r\n// ============== Setup API ==============\r\n\r\nexport interface SetupStatus {\r\n setupPending: boolean;\r\n isBinary: boolean;\r\n requiresKeyringSetup: boolean;\r\n platform: string;\r\n}\r\n\r\nexport interface SetupCredentials {\r\n encryptionKey: string;\r\n userName: string;\r\n userPassword: string;\r\n}\r\n\r\n// Fetch setup status\r\nexport async function getSetupStatus(): Promise<{ success: boolean; data: SetupStatus }> {\r\n const res = await fetch(`${API_URL}/setup/status`, { method: 'GET' });\r\n if (!res.ok) {\r\n throw new Error('Failed to get setup status');\r\n }\r\n return res.json();\r\n}\r\n\r\nexport function useSetupStatus() {\r\n return useQuery({\r\n queryKey: ['setupStatus'],\r\n queryFn: getSetupStatus,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Complete setup\r\nexport async function completeSetup(credentials: SetupCredentials): Promise<{ success: boolean; message?: string; error?: string }> {\r\n const res = await fetch(`${API_URL}/setup/complete`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(credentials),\r\n });\r\n return res.json();\r\n}\r\n\r\nexport function useCompleteSetup() {\r\n return useMutation({\r\n mutationFn: completeSetup,\r\n });\r\n}\r\n\r\n// Two-Factor Authentication (2FA) Setup and Verification\r\n\r\nexport async function setupTwoFactorAuth(id: number) {\r\n const headers = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/${id}/2fa/setup`, {\r\n method: 'POST',\r\n headers,\r\n credentials: 'include',\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useSetupTwoFactorAuth() {\r\n return useMutation({\r\n mutationFn: setupTwoFactorAuth,\r\n onSuccess: (res) => {\r\n console.log('# 2FA setup data fetched successfully! :', res);\r\n },\r\n onError: (res) => {\r\n console.log('# 2FA setup data fetch failed! :', res);\r\n },\r\n });\r\n}\r\nexport async function verifyTwoFactorAuth({ code, id }: { code: string; id: number }) {\r\n const headers = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/settings/${id}/2fa/finalize`, {\r\n method: 'POST',\r\n headers,\r\n credentials: 'include',\r\n body: JSON.stringify({ code }),\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useVerifyTwoFactorAuth() {\r\n return useMutation({\r\n mutationFn: verifyTwoFactorAuth,\r\n onSuccess: (res) => {\r\n console.log('# 2FA verification successful! :', res);\r\n },\r\n onError: (res) => {\r\n console.log('# 2FA verification failed! :', res);\r\n },\r\n });\r\n}\r\n\r\nexport async function verifyTwoFactorOTP({ code }: { code: string }) {\r\n const headers = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/user/verify-otp`, {\r\n method: 'POST',\r\n headers,\r\n credentials: 'include',\r\n body: JSON.stringify({ code }),\r\n });\r\n // Check if response is ok\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nexport function useVerifyTwoFactorOTP() {\r\n const navigate = useNavigate();\r\n return useMutation({\r\n mutationFn: verifyTwoFactorOTP,\r\n onSuccess: (res) => {\r\n console.log('# 2FA verification successful! :', res);\r\n navigate('/');\r\n },\r\n onError: (res) => {\r\n console.log('# 2FA verification failed! :', res);\r\n },\r\n });\r\n}\r\n\r\n// check latest version\r\nexport async function checkLatestVersion() {\r\n const res = await fetch(`${API_URL}/settings/version/latest`, {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n if (!res.ok) {\r\n const data = await res.json();\r\n throw new Error(data.error);\r\n }\r\n const data = await res.json();\r\n return data;\r\n}\r\n\r\nconst SIX_HOURS = 1000 * 60 * 60 * 6;\r\n\r\nconst { persisterFn: latestVersionPersister } = experimental_createQueryPersister({\r\n storage: window.localStorage,\r\n maxAge: SIX_HOURS,\r\n});\r\n\r\nexport function useCheckLatestVersion() {\r\n return useQuery({\r\n queryKey: ['latestVersion'],\r\n queryFn: () => checkLatestVersion(),\r\n persister: latestVersionPersister,\r\n retry: false,\r\n staleTime: SIX_HOURS,\r\n gcTime: SIX_HOURS,\r\n refetchOnWindowFocus: false,\r\n refetchOnReconnect: false,\r\n refetchOnMount: false,\r\n });\r\n}\r\n"],"names":["getSettings","url","API_URL","data","useGetSettings","useQuery","updateSettings","updatePayload","header","useUpdateSettings","queryClient","useQueryClient","useMutation","res","getAppLogs","settingsID","useGetAppLogs","downloadAppLogs","filename","_a","reader","_b","stream","controller","done","value","blob","link","useGetDownloadAppLogs","validateIntegration","useValidateIntegration","getSetupStatus","useSetupStatus","completeSetup","credentials","useCompleteSetup","setupTwoFactorAuth","id","headers","useSetupTwoFactorAuth","verifyTwoFactorAuth","code","useVerifyTwoFactorAuth","verifyTwoFactorOTP","useVerifyTwoFactorOTP","navigate","useNavigate","checkLatestVersion","SIX_HOURS","latestVersionPersister","experimental_createQueryPersister","useCheckLatestVersion"],"mappings":"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"}
|
|
@@ -29,5 +29,15 @@ export declare function deleteStorage(id: string): Promise<any>;
|
|
|
29
29
|
export declare function useDeleteStorage(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
30
30
|
export declare function verifyStorage(id: string): Promise<any>;
|
|
31
31
|
export declare function useVerifyStorage(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
32
|
+
export declare function startStorageAuthorize(type: string): Promise<{
|
|
33
|
+
sessionId: string;
|
|
34
|
+
}>;
|
|
35
|
+
export declare function getStorageAuthorizeStatus(sessionId: string): Promise<{
|
|
36
|
+
status: 'pending' | 'success' | 'error';
|
|
37
|
+
token?: string;
|
|
38
|
+
error?: string;
|
|
39
|
+
authUrl?: string;
|
|
40
|
+
}>;
|
|
41
|
+
export declare function cancelStorageAuthorize(sessionId: string): Promise<void>;
|
|
32
42
|
export {};
|
|
33
43
|
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/services/storage.ts"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AACD,UAAU,oBAAoB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAEH,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACJ;AAGD,wBAAsB,oBAAoB,iBAYzC;AAED,wBAAgB,uBAAuB,+DAOtC;AAGD,wBAAsB,cAAc,iBAYnC;AAED,wBAAgB,cAAc,+DAO7B;AAGD,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,gBAY1C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,8DAOvC;AAGD,wBAAsB,UAAU,CAAC,UAAU,EAAE,iBAAiB,gBAa7D;AAED,wBAAgB,aAAa,8FAS5B;AAGD,wBAAsB,aAAa,CAAC,cAAc,EAAE,oBAAoB,gBAavE;AAED,wBAAgB,gBAAgB,iGAU/B;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAY7C;AAED,wBAAgB,gBAAgB,mFAU/B;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAY7C;AAED,wBAAgB,gBAAgB,mFAQ/B"}
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/services/storage.ts"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AACD,UAAU,oBAAoB;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QAEH,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACJ;AAGD,wBAAsB,oBAAoB,iBAYzC;AAED,wBAAgB,uBAAuB,+DAOtC;AAGD,wBAAsB,cAAc,iBAYnC;AAED,wBAAgB,cAAc,+DAO7B;AAGD,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,gBAY1C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,8DAOvC;AAGD,wBAAsB,UAAU,CAAC,UAAU,EAAE,iBAAiB,gBAa7D;AAED,wBAAgB,aAAa,8FAS5B;AAGD,wBAAsB,aAAa,CAAC,cAAc,EAAE,oBAAoB,gBAavE;AAED,wBAAgB,gBAAgB,iGAU/B;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAY7C;AAED,wBAAgB,gBAAgB,mFAU/B;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,gBAY7C;AAED,wBAAgB,gBAAgB,mFAQ/B;AAGD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAaxF;AAED,wBAAsB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAYD;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7E"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { useQuery as a, useQueryClient as c, useMutation as
|
|
2
|
-
import { API_URL as
|
|
1
|
+
import { useQuery as a, useQueryClient as c, useMutation as o } from "@tanstack/react-query";
|
|
2
|
+
import { API_URL as s } from "../utils/constants.js";
|
|
3
3
|
async function i() {
|
|
4
|
-
const e = new URL(`${
|
|
4
|
+
const e = new URL(`${s}/storages/available`), n = await (await fetch(e.toString(), {
|
|
5
5
|
method: "GET",
|
|
6
6
|
credentials: "include"
|
|
7
7
|
})).json();
|
|
@@ -18,7 +18,7 @@ function p() {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
async function u() {
|
|
21
|
-
const e = new URL(`${
|
|
21
|
+
const e = new URL(`${s}/storages`), n = await (await fetch(e.toString(), {
|
|
22
22
|
method: "GET",
|
|
23
23
|
credentials: "include"
|
|
24
24
|
})).json();
|
|
@@ -35,7 +35,7 @@ function S() {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
async function d(e) {
|
|
38
|
-
const r = new URL(`${
|
|
38
|
+
const r = new URL(`${s}/storages/${e}`), t = await (await fetch(r.toString(), {
|
|
39
39
|
method: "GET",
|
|
40
40
|
credentials: "include"
|
|
41
41
|
})).json();
|
|
@@ -52,7 +52,7 @@ function j(e) {
|
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
async function l(e) {
|
|
55
|
-
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${
|
|
55
|
+
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${s}/storages`, {
|
|
56
56
|
method: "POST",
|
|
57
57
|
credentials: "include",
|
|
58
58
|
headers: r,
|
|
@@ -64,7 +64,7 @@ async function l(e) {
|
|
|
64
64
|
}
|
|
65
65
|
function m() {
|
|
66
66
|
const e = c();
|
|
67
|
-
return
|
|
67
|
+
return o({
|
|
68
68
|
mutationFn: l,
|
|
69
69
|
onSuccess: (r) => {
|
|
70
70
|
console.log("# Storage Added! :", r), e.invalidateQueries({ queryKey: ["storages"] });
|
|
@@ -72,7 +72,7 @@ function m() {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
async function f(e) {
|
|
75
|
-
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${
|
|
75
|
+
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${s}/storages/${e.id}`, {
|
|
76
76
|
method: "PUT",
|
|
77
77
|
credentials: "include",
|
|
78
78
|
headers: r,
|
|
@@ -84,7 +84,7 @@ async function f(e) {
|
|
|
84
84
|
}
|
|
85
85
|
function E() {
|
|
86
86
|
const e = c();
|
|
87
|
-
return
|
|
87
|
+
return o({
|
|
88
88
|
mutationFn: f,
|
|
89
89
|
onSuccess: (r) => {
|
|
90
90
|
console.log("# Storage Updated! :", r), e.invalidateQueries({ queryKey: ["storages"] });
|
|
@@ -92,7 +92,7 @@ function E() {
|
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
94
|
async function g(e) {
|
|
95
|
-
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${
|
|
95
|
+
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${s}/storages/${e}`, {
|
|
96
96
|
method: "DELETE",
|
|
97
97
|
credentials: "include",
|
|
98
98
|
headers: r
|
|
@@ -101,17 +101,17 @@ async function g(e) {
|
|
|
101
101
|
throw new Error(t.error);
|
|
102
102
|
return t;
|
|
103
103
|
}
|
|
104
|
-
function
|
|
104
|
+
function T() {
|
|
105
105
|
const e = c();
|
|
106
|
-
return
|
|
106
|
+
return o({
|
|
107
107
|
mutationFn: g,
|
|
108
108
|
onSuccess: (r) => {
|
|
109
109
|
console.log("# Storage Updated! :", r), e.invalidateQueries({ queryKey: ["storages"] });
|
|
110
110
|
}
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
|
-
async function
|
|
114
|
-
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${
|
|
113
|
+
async function h(e) {
|
|
114
|
+
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${s}/storages/verify/${e}`, {
|
|
115
115
|
method: "POST",
|
|
116
116
|
credentials: "include",
|
|
117
117
|
headers: r
|
|
@@ -120,28 +120,63 @@ async function y(e) {
|
|
|
120
120
|
throw new Error(t.error);
|
|
121
121
|
return t;
|
|
122
122
|
}
|
|
123
|
-
function
|
|
124
|
-
return
|
|
125
|
-
mutationFn:
|
|
123
|
+
function A() {
|
|
124
|
+
return o({
|
|
125
|
+
mutationFn: h,
|
|
126
126
|
onSuccess: (e) => {
|
|
127
127
|
console.log("# Storage Verfied! :", e);
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
+
async function $(e) {
|
|
132
|
+
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${s}/storages/authorize`, {
|
|
133
|
+
method: "POST",
|
|
134
|
+
credentials: "include",
|
|
135
|
+
headers: r,
|
|
136
|
+
body: JSON.stringify({ type: e })
|
|
137
|
+
})).json();
|
|
138
|
+
if (!t.success)
|
|
139
|
+
throw new Error(t.error);
|
|
140
|
+
return t.result;
|
|
141
|
+
}
|
|
142
|
+
async function q(e) {
|
|
143
|
+
const r = new URL(`${s}/storages/authorize/status`);
|
|
144
|
+
r.searchParams.set("sessionId", e);
|
|
145
|
+
const t = await (await fetch(r.toString(), {
|
|
146
|
+
method: "GET",
|
|
147
|
+
credentials: "include"
|
|
148
|
+
})).json();
|
|
149
|
+
if (!t.success)
|
|
150
|
+
throw new Error(t.error);
|
|
151
|
+
return t.result;
|
|
152
|
+
}
|
|
153
|
+
async function O(e) {
|
|
154
|
+
const r = new Headers({ "Content-Type": "application/json", Accept: "application/json" }), t = await (await fetch(`${s}/storages/authorize/cancel`, {
|
|
155
|
+
method: "POST",
|
|
156
|
+
credentials: "include",
|
|
157
|
+
headers: r,
|
|
158
|
+
body: JSON.stringify({ sessionId: e })
|
|
159
|
+
})).json();
|
|
160
|
+
if (!t.success)
|
|
161
|
+
throw new Error(t.error);
|
|
162
|
+
}
|
|
131
163
|
export {
|
|
132
164
|
l as addStorage,
|
|
165
|
+
O as cancelStorageAuthorize,
|
|
133
166
|
g as deleteStorage,
|
|
134
167
|
u as getAllStorages,
|
|
135
168
|
i as getAvailableStorages,
|
|
136
169
|
d as getStorage,
|
|
170
|
+
q as getStorageAuthorizeStatus,
|
|
171
|
+
$ as startStorageAuthorize,
|
|
137
172
|
f as updateStorage,
|
|
138
173
|
m as useAddStorage,
|
|
139
|
-
|
|
174
|
+
T as useDeleteStorage,
|
|
140
175
|
p as useGetAvailableStorages,
|
|
141
176
|
j as useGetStorage,
|
|
142
177
|
S as useGetStorages,
|
|
143
178
|
E as useUpdateStorage,
|
|
144
|
-
|
|
145
|
-
|
|
179
|
+
A as useVerifyStorage,
|
|
180
|
+
h as verifyStorage
|
|
146
181
|
};
|
|
147
182
|
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sources":["../../src/services/storage.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { API_URL } from '../utils/constants';\r\n\r\ninterface NewStoragePayload {\r\n name: string;\r\n type: string;\r\n authType: string;\r\n credentials: Record<string, string | number | boolean>;\r\n settings: Record<string, string | number | boolean>;\r\n tags?: string[];\r\n}\r\ninterface UpdateStoragePayload {\r\n id: string;\r\n data: {\r\n // name: string;\r\n type: string;\r\n credentials: Record<string, string | number | boolean>;\r\n settings: Record<string, string | number | boolean>;\r\n tags?: string[];\r\n };\r\n}\r\n\r\n// Get All Storages\r\nexport async function getAvailableStorages() {\r\n const url = new URL(`${API_URL}/storages/available`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetAvailableStorages() {\r\n return useQuery({\r\n queryKey: ['storageSettings'],\r\n queryFn: () => getAvailableStorages(),\r\n refetchOnMount: false,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Get All Storages\r\nexport async function getAllStorages() {\r\n const url = new URL(`${API_URL}/storages`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetStorages() {\r\n return useQuery({\r\n queryKey: ['storages'],\r\n queryFn: () => getAllStorages(),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Get Single Storage\r\nexport async function getStorage(id: string) {\r\n const url = new URL(`${API_URL}/storages/${id}`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetStorage(id: string) {\r\n return useQuery({\r\n queryKey: ['storage', id],\r\n queryFn: () => getStorage(id),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Add New Storage\r\nexport async function addStorage(newStorage: NewStoragePayload) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(newStorage),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useAddStorage() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: addStorage,\r\n onSuccess: (res) => {\r\n console.log('# Storage Added! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['storages'] });\r\n },\r\n });\r\n}\r\n\r\n// Update Storage\r\nexport async function updateStorage(updatedStorage: UpdateStoragePayload) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/${updatedStorage.id}`, {\r\n method: 'PUT',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(updatedStorage.data),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useUpdateStorage() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: updateStorage,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Nofitication Bubble.\r\n console.log('# Storage Updated! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['storages'] });\r\n },\r\n });\r\n}\r\n\r\n// Remove Storage\r\nexport async function deleteStorage(id: string) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/${id}`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n headers: header,\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useDeleteStorage() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: deleteStorage,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Nofitication Bubble.\r\n console.log('# Storage Updated! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['storages'] });\r\n },\r\n });\r\n}\r\n\r\n// Verify Storage\r\nexport async function verifyStorage(id: string) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/verify/${id}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useVerifyStorage() {\r\n return useMutation({\r\n mutationFn: verifyStorage,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Nofitication Bubble.\r\n console.log('# Storage Verfied! :', res);\r\n },\r\n });\r\n}\r\n"],"names":["getAvailableStorages","url","API_URL","data","useGetAvailableStorages","useQuery","getAllStorages","useGetStorages","getStorage","id","useGetStorage","addStorage","newStorage","header","useAddStorage","queryClient","useQueryClient","useMutation","res","updateStorage","updatedStorage","useUpdateStorage","deleteStorage","useDeleteStorage","verifyStorage","useVerifyStorage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sources":["../../src/services/storage.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\r\nimport { API_URL } from '../utils/constants';\r\n\r\ninterface NewStoragePayload {\r\n name: string;\r\n type: string;\r\n authType: string;\r\n credentials: Record<string, string | number | boolean>;\r\n settings: Record<string, string | number | boolean>;\r\n tags?: string[];\r\n}\r\ninterface UpdateStoragePayload {\r\n id: string;\r\n data: {\r\n // name: string;\r\n type: string;\r\n credentials: Record<string, string | number | boolean>;\r\n settings: Record<string, string | number | boolean>;\r\n tags?: string[];\r\n };\r\n}\r\n\r\n// Get All Storages\r\nexport async function getAvailableStorages() {\r\n const url = new URL(`${API_URL}/storages/available`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetAvailableStorages() {\r\n return useQuery({\r\n queryKey: ['storageSettings'],\r\n queryFn: () => getAvailableStorages(),\r\n refetchOnMount: false,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Get All Storages\r\nexport async function getAllStorages() {\r\n const url = new URL(`${API_URL}/storages`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetStorages() {\r\n return useQuery({\r\n queryKey: ['storages'],\r\n queryFn: () => getAllStorages(),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Get Single Storage\r\nexport async function getStorage(id: string) {\r\n const url = new URL(`${API_URL}/storages/${id}`);\r\n\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useGetStorage(id: string) {\r\n return useQuery({\r\n queryKey: ['storage', id],\r\n queryFn: () => getStorage(id),\r\n refetchOnMount: true,\r\n retry: false,\r\n });\r\n}\r\n\r\n// Add New Storage\r\nexport async function addStorage(newStorage: NewStoragePayload) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(newStorage),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useAddStorage() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: addStorage,\r\n onSuccess: (res) => {\r\n console.log('# Storage Added! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['storages'] });\r\n },\r\n });\r\n}\r\n\r\n// Update Storage\r\nexport async function updateStorage(updatedStorage: UpdateStoragePayload) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/${updatedStorage.id}`, {\r\n method: 'PUT',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify(updatedStorage.data),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useUpdateStorage() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: updateStorage,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Nofitication Bubble.\r\n console.log('# Storage Updated! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['storages'] });\r\n },\r\n });\r\n}\r\n\r\n// Remove Storage\r\nexport async function deleteStorage(id: string) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/${id}`, {\r\n method: 'DELETE',\r\n credentials: 'include',\r\n headers: header,\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useDeleteStorage() {\r\n const queryClient = useQueryClient();\r\n return useMutation({\r\n mutationFn: deleteStorage,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Nofitication Bubble.\r\n console.log('# Storage Updated! :', res);\r\n queryClient.invalidateQueries({ queryKey: ['storages'] });\r\n },\r\n });\r\n}\r\n\r\n// Verify Storage\r\nexport async function verifyStorage(id: string) {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/verify/${id}`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data;\r\n}\r\n\r\nexport function useVerifyStorage() {\r\n return useMutation({\r\n mutationFn: verifyStorage,\r\n onSuccess: (res) => {\r\n // TODO: Should Display a Nofitication Bubble.\r\n console.log('# Storage Verfied! :', res);\r\n },\r\n });\r\n}\r\n\r\n// ── OAuth Authorization ─────────────────────────────────────────────\r\nexport async function startStorageAuthorize(type: string): Promise<{ sessionId: string }> {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/authorize`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify({ type }),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data.result;\r\n}\r\n\r\nexport async function getStorageAuthorizeStatus(sessionId: string): Promise<{\r\n status: 'pending' | 'success' | 'error';\r\n token?: string;\r\n error?: string;\r\n authUrl?: string;\r\n}> {\r\n const url = new URL(`${API_URL}/storages/authorize/status`);\r\n url.searchParams.set('sessionId', sessionId);\r\n const res = await fetch(url.toString(), {\r\n method: 'GET',\r\n credentials: 'include',\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n return data.result;\r\n}\r\n\r\nexport async function cancelStorageAuthorize(sessionId: string): Promise<void> {\r\n const header = new Headers({ 'Content-Type': 'application/json', Accept: 'application/json' });\r\n const res = await fetch(`${API_URL}/storages/authorize/cancel`, {\r\n method: 'POST',\r\n credentials: 'include',\r\n headers: header,\r\n body: JSON.stringify({ sessionId }),\r\n });\r\n const data = await res.json();\r\n if (!data.success) {\r\n throw new Error(data.error);\r\n }\r\n}\r\n"],"names":["getAvailableStorages","url","API_URL","data","useGetAvailableStorages","useQuery","getAllStorages","useGetStorages","getStorage","id","useGetStorage","addStorage","newStorage","header","useAddStorage","queryClient","useQueryClient","useMutation","res","updateStorage","updatedStorage","useUpdateStorage","deleteStorage","useDeleteStorage","verifyStorage","useVerifyStorage","startStorageAuthorize","type","getStorageAuthorizeStatus","sessionId","cancelStorageAuthorize"],"mappings":"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"}
|
package/dist-lib/services.js
CHANGED
|
@@ -1,130 +1,135 @@
|
|
|
1
|
-
import { cancelBackup as s, cancelBackupDownload as a, deleteBackup as o, generateBackupDownload as u, getBackupDownload as r, getBackupProgress as l, getSnapshotFiles as n, retryFailedReplications as
|
|
2
|
-
import { browseDir as w, getAllDevices as f, getDevice as
|
|
3
|
-
import { checkActiveBackupsOrRestore as V, checkPlanIntegrity as I, createPlan as b, deletePlan as
|
|
4
|
-
import { cancelRestore as
|
|
5
|
-
import { checkLatestVersion as
|
|
6
|
-
import { addStorage as
|
|
7
|
-
import { loginUser as
|
|
1
|
+
import { cancelBackup as s, cancelBackupDownload as a, deleteBackup as o, generateBackupDownload as u, getBackupDownload as r, getBackupProgress as l, getSnapshotFiles as n, retryFailedReplications as c, updateBackup as g, useCancelBackup as p, useCancelBackupDownload as i, useDeleteBackup as d, useDownloadBackup as S, useGetBackupDownload as P, useGetBackupProgress as k, useGetBackupProgressOnce as D, useGetSnapshotFiles as R, useRetryFailedReplications as G, useUpdateBackup as A } from "./services/backups.js";
|
|
2
|
+
import { browseDir as w, getAllDevices as f, getDevice as h, getSystemMetrics as m, updateDependent as v, updateDevice as y, useBrowseDir as L, useGetDevice as F, useGetDevices as T, useGetSystemMetrics as U, useUpdateDependent as C, useUpdateDevice as x } from "./services/devices.js";
|
|
3
|
+
import { checkActiveBackupsOrRestore as V, checkPlanIntegrity as I, createPlan as b, deletePlan as z, deleteReplicationStorage as M, downloadPlanLogs as N, getAllPlans as q, getPlanLogs as j, getSinglePlan as E, pausePlan as H, performBackup as J, prunePlan as K, resumePlan as Q, sendTestNotificationRequest as W, unlockPlan as X, updatePlan as Y, useCheckActiveBackupsOrRestore as Z, useCheckPlanIntegrity as _, useCreatePlan as $, useDeletePlan as ee, useDeleteReplicationStorage as te, useGetDownloadLogs as se, useGetPlan as ae, useGetPlanLogs as oe, useGetPlans as ue, usePausePlan as re, usePerformBackup as le, usePrunePlan as ne, useResumePlan as ce, useTestNotification as ge, useUnlockPlan as pe, useUpdatePlan as ie } from "./services/plans.js";
|
|
4
|
+
import { cancelRestore as Se, deleteRestore as Pe, getAllRestores as ke, getDryRestoreStats as De, getRestoreProgress as Re, getRestoreStats as Ge, getSingleRestore as Ae, restoreBackup as Be, useCancelRestore as we, useDeleteRestore as fe, useGetDryRestoreStats as he, useGetRestore as me, useGetRestoreProgress as ve, useGetRestoreProgressOnce as ye, useGetRestoreStats as Le, useGetRestores as Fe, useRestoreBackup as Te } from "./services/restores.js";
|
|
5
|
+
import { checkLatestVersion as Ce, completeSetup as xe, downloadAppLogs as Oe, getAppLogs as Ve, getSettings as Ie, getSetupStatus as be, setupTwoFactorAuth as ze, updateSettings as Me, useCheckLatestVersion as Ne, useCompleteSetup as qe, useGetAppLogs as je, useGetDownloadAppLogs as Ee, useGetSettings as He, useSetupStatus as Je, useSetupTwoFactorAuth as Ke, useUpdateSettings as Qe, useValidateIntegration as We, useVerifyTwoFactorAuth as Xe, useVerifyTwoFactorOTP as Ye, validateIntegration as Ze, verifyTwoFactorAuth as _e, verifyTwoFactorOTP as $e } from "./services/settings.js";
|
|
6
|
+
import { addStorage as tt, cancelStorageAuthorize as st, deleteStorage as at, getAllStorages as ot, getAvailableStorages as ut, getStorage as rt, getStorageAuthorizeStatus as lt, startStorageAuthorize as nt, updateStorage as ct, useAddStorage as gt, useDeleteStorage as pt, useGetAvailableStorages as it, useGetStorage as dt, useGetStorages as St, useUpdateStorage as Pt, useVerifyStorage as kt, verifyStorage as Dt } from "./services/storage.js";
|
|
7
|
+
import { loginUser as Gt, logoutUser as At, useAuth as Bt, useLogin as wt, useLogout as ft, validateAuth as ht } from "./services/users.js";
|
|
8
8
|
export {
|
|
9
|
-
|
|
9
|
+
tt as addStorage,
|
|
10
10
|
w as browseDir,
|
|
11
11
|
s as cancelBackup,
|
|
12
12
|
a as cancelBackupDownload,
|
|
13
|
-
|
|
13
|
+
Se as cancelRestore,
|
|
14
|
+
st as cancelStorageAuthorize,
|
|
14
15
|
V as checkActiveBackupsOrRestore,
|
|
15
|
-
|
|
16
|
+
Ce as checkLatestVersion,
|
|
16
17
|
I as checkPlanIntegrity,
|
|
17
|
-
|
|
18
|
+
xe as completeSetup,
|
|
18
19
|
b as createPlan,
|
|
19
20
|
o as deleteBackup,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
z as deletePlan,
|
|
22
|
+
M as deleteReplicationStorage,
|
|
23
|
+
Pe as deleteRestore,
|
|
24
|
+
at as deleteStorage,
|
|
25
|
+
Oe as downloadAppLogs,
|
|
26
|
+
N as downloadPlanLogs,
|
|
26
27
|
u as generateBackupDownload,
|
|
27
28
|
f as getAllDevices,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
q as getAllPlans,
|
|
30
|
+
ke as getAllRestores,
|
|
31
|
+
ot as getAllStorages,
|
|
32
|
+
Ve as getAppLogs,
|
|
33
|
+
ut as getAvailableStorages,
|
|
33
34
|
r as getBackupDownload,
|
|
34
35
|
l as getBackupProgress,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
h as getDevice,
|
|
37
|
+
De as getDryRestoreStats,
|
|
38
|
+
j as getPlanLogs,
|
|
39
|
+
Re as getRestoreProgress,
|
|
40
|
+
Ge as getRestoreStats,
|
|
41
|
+
Ie as getSettings,
|
|
42
|
+
be as getSetupStatus,
|
|
43
|
+
E as getSinglePlan,
|
|
44
|
+
Ae as getSingleRestore,
|
|
44
45
|
n as getSnapshotFiles,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
rt as getStorage,
|
|
47
|
+
lt as getStorageAuthorizeStatus,
|
|
48
|
+
m as getSystemMetrics,
|
|
49
|
+
Gt as loginUser,
|
|
50
|
+
At as logoutUser,
|
|
51
|
+
H as pausePlan,
|
|
52
|
+
J as performBackup,
|
|
53
|
+
K as prunePlan,
|
|
54
|
+
Be as restoreBackup,
|
|
53
55
|
Q as resumePlan,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
c as retryFailedReplications,
|
|
57
|
+
W as sendTestNotificationRequest,
|
|
58
|
+
ze as setupTwoFactorAuth,
|
|
59
|
+
nt as startStorageAuthorize,
|
|
60
|
+
X as unlockPlan,
|
|
61
|
+
g as updateBackup,
|
|
62
|
+
v as updateDependent,
|
|
59
63
|
y as updateDevice,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
Y as updatePlan,
|
|
65
|
+
Me as updateSettings,
|
|
66
|
+
ct as updateStorage,
|
|
67
|
+
gt as useAddStorage,
|
|
68
|
+
Bt as useAuth,
|
|
65
69
|
L as useBrowseDir,
|
|
66
|
-
|
|
70
|
+
p as useCancelBackup,
|
|
67
71
|
i as useCancelBackupDownload,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
we as useCancelRestore,
|
|
73
|
+
Z as useCheckActiveBackupsOrRestore,
|
|
74
|
+
Ne as useCheckLatestVersion,
|
|
75
|
+
_ as useCheckPlanIntegrity,
|
|
76
|
+
qe as useCompleteSetup,
|
|
77
|
+
$ as useCreatePlan,
|
|
74
78
|
d as useDeleteBackup,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
ee as useDeletePlan,
|
|
80
|
+
te as useDeleteReplicationStorage,
|
|
81
|
+
fe as useDeleteRestore,
|
|
82
|
+
pt as useDeleteStorage,
|
|
79
83
|
S as useDownloadBackup,
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
je as useGetAppLogs,
|
|
85
|
+
it as useGetAvailableStorages,
|
|
82
86
|
P as useGetBackupDownload,
|
|
83
87
|
k as useGetBackupProgress,
|
|
84
88
|
D as useGetBackupProgressOnce,
|
|
85
89
|
F as useGetDevice,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
90
|
+
T as useGetDevices,
|
|
91
|
+
Ee as useGetDownloadAppLogs,
|
|
92
|
+
se as useGetDownloadLogs,
|
|
93
|
+
he as useGetDryRestoreStats,
|
|
94
|
+
ae as useGetPlan,
|
|
95
|
+
oe as useGetPlanLogs,
|
|
96
|
+
ue as useGetPlans,
|
|
97
|
+
me as useGetRestore,
|
|
98
|
+
ve as useGetRestoreProgress,
|
|
99
|
+
ye as useGetRestoreProgressOnce,
|
|
100
|
+
Le as useGetRestoreStats,
|
|
101
|
+
Fe as useGetRestores,
|
|
102
|
+
He as useGetSettings,
|
|
99
103
|
R as useGetSnapshotFiles,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
104
|
+
dt as useGetStorage,
|
|
105
|
+
St as useGetStorages,
|
|
106
|
+
U as useGetSystemMetrics,
|
|
107
|
+
wt as useLogin,
|
|
108
|
+
ft as useLogout,
|
|
109
|
+
re as usePausePlan,
|
|
110
|
+
le as usePerformBackup,
|
|
111
|
+
ne as usePrunePlan,
|
|
112
|
+
Te as useRestoreBackup,
|
|
113
|
+
ce as useResumePlan,
|
|
110
114
|
G as useRetryFailedReplications,
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
Je as useSetupStatus,
|
|
116
|
+
Ke as useSetupTwoFactorAuth,
|
|
117
|
+
ge as useTestNotification,
|
|
113
118
|
pe as useUnlockPlan,
|
|
114
|
-
|
|
115
|
-
|
|
119
|
+
A as useUpdateBackup,
|
|
120
|
+
C as useUpdateDependent,
|
|
116
121
|
x as useUpdateDevice,
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
122
|
+
ie as useUpdatePlan,
|
|
123
|
+
Qe as useUpdateSettings,
|
|
124
|
+
Pt as useUpdateStorage,
|
|
125
|
+
We as useValidateIntegration,
|
|
126
|
+
kt as useVerifyStorage,
|
|
127
|
+
Xe as useVerifyTwoFactorAuth,
|
|
128
|
+
Ye as useVerifyTwoFactorOTP,
|
|
129
|
+
ht as validateAuth,
|
|
130
|
+
Ze as validateIntegration,
|
|
131
|
+
Dt as verifyStorage,
|
|
132
|
+
_e as verifyTwoFactorAuth,
|
|
133
|
+
$e as verifyTwoFactorOTP
|
|
129
134
|
};
|
|
130
135
|
//# sourceMappingURL=services.js.map
|