diff options
author | Sebastian <sebasjm@gmail.com> | 2021-07-08 15:23:53 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-07-08 15:23:58 -0300 |
commit | 655c5fc18a22ae167160dd93e53d87e130fa9afa (patch) | |
tree | 1484a9e23b1f1021eba0ea05a6735d3f7141011d /packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts | |
parent | ba995882ba1dcb4f761059065fd32e31c3ff1f8b (diff) | |
download | wallet-core-655c5fc18a22ae167160dd93e53d87e130fa9afa.tar.xz |
add more backup stories, sync by one provider
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts')
-rw-r--r-- | packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts b/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts new file mode 100644 index 000000000..42eab5d80 --- /dev/null +++ b/packages/taler-wallet-webextension/src/hooks/useProviderStatus.ts @@ -0,0 +1,34 @@ +import { ProviderInfo } from "@gnu-taler/taler-wallet-core"; +import { useEffect, useState } from "preact/hooks"; +import * as wxApi from "../wxApi"; + +export interface ProviderStatus { + info?: ProviderInfo; + sync: () => Promise<void>; +} + +export function useProviderStatus(url: string): ProviderStatus | undefined { + const [status, setStatus] = useState<ProviderStatus | undefined>(undefined); + + useEffect(() => { + async function run() { + //create a first list of backup info by currency + const status = await wxApi.getBackupInfo(); + + const providers = status.providers.filter(p => p.syncProviderBaseUrl === url); + const info = providers.length ? providers[0] : undefined; + + async function sync() { + console.log("que tiene info", info) + if (info) { + await wxApi.syncOneProvider(info.syncProviderBaseUrl); + } + } + + setStatus({ info, sync }); + } + run(); + }, []); + + return status; +} |