summaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx')
-rw-r--r--packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx48
1 files changed, 32 insertions, 16 deletions
diff --git a/packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx b/packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx
index cbda65bfe..440cd2b07 100644
--- a/packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/admin/create/index.tsx
@@ -17,16 +17,18 @@
*
* @author Sebastian Javier Marchano (sebasjm)
*/
-import { useTranslationContext } from "@gnu-taler/web-util/browser";
-import { Fragment, h, VNode } from "preact";
+import {
+ useMerchantApiContext,
+ useTranslationContext,
+} from "@gnu-taler/web-util/browser";
+import { Fragment, VNode, h } from "preact";
import { useState } from "preact/hooks";
import { NotificationCard } from "../../../components/menu/index.js";
-import { AccessToken, MerchantBackend } from "../../../declaration.js";
-import { useAdminAPI, useInstanceAPI } from "../../../hooks/instance.js";
+import { MerchantBackend } from "../../../declaration.js";
+import { useAdminAPI } from "../../../hooks/instance.js";
+import { useSessionContext } from "../../../context/session.js";
import { Notification } from "../../../utils/types.js";
import { CreatePage } from "./CreatePage.js";
-import { useCredentialsChecker } from "../../../hooks/backend.js";
-import { useBackendContext } from "../../../context/backend.js";
interface Props {
onBack?: () => void;
@@ -39,8 +41,8 @@ export default function Create({ onBack, onConfirm, forceId }: Props): VNode {
const { createInstance } = useAdminAPI();
const [notif, setNotif] = useState<Notification | undefined>(undefined);
const { i18n } = useTranslationContext();
- const { requestNewLoginToken } = useCredentialsChecker()
- const { url: backendURL, updateToken } = useBackendContext()
+ const { lib } = useMerchantApiContext();
+ const { state, logIn } = useSessionContext();
return (
<Fragment>
@@ -53,15 +55,29 @@ export default function Create({ onBack, onConfirm, forceId }: Props): VNode {
d: MerchantBackend.Instances.InstanceConfigurationMessage,
) => {
try {
- await createInstance(d)
+ await createInstance(d);
if (d.auth.token) {
- const resp = await requestNewLoginToken(backendURL, d.auth.token as AccessToken)
- if (resp.valid) {
- const { token, expiration } = resp
- updateToken({ token, expiration });
- } else {
- updateToken(undefined)
+ const result = await lib.authenticate.createAccessToken(
+ d.auth.token,
+ {
+ scope: "write",
+ duration: {
+ d_us: "forever",
+ },
+ refreshable: true,
+ },
+ );
+ if (result.type === "ok") {
+ const { access_token } = result.body;
+ logIn({ token: access_token });
}
+ // const resp = await requestNewLoginToken(backendURL.href, d.auth.token as AccessToken)
+ // if (resp.valid) {
+ // const { token, expiration } = resp
+ // updateToken({ token, expiration });
+ // } else {
+ // updateToken(undefined)
+ // }
}
onConfirm();
} catch (ex) {
@@ -72,7 +88,7 @@ export default function Create({ onBack, onConfirm, forceId }: Props): VNode {
description: ex.message,
});
} else {
- console.error(ex)
+ console.error(ex);
}
}
}}