aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx')
-rw-r--r--packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx73
1 files changed, 19 insertions, 54 deletions
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx
index 5b88b550f..a27a0cb06 100644
--- a/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx
+++ b/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx
@@ -31,14 +31,16 @@ import { DefaultInstanceFormFields } from "../../../components/instance/DefaultI
import { useInstanceContext } from "../../../context/instance.js";
import { MerchantBackend } from "../../../declaration.js";
import { undefinedIfEmpty } from "../../../utils/table.js";
+import { Duration } from "@gnu-taler/taler-util";
-type Entity = MerchantBackend.Instances.InstanceReconfigurationMessage & {
- auth_token?: string;
+export type Entity = Omit<Omit<MerchantBackend.Instances.InstanceReconfigurationMessage, "default_pay_delay">, "default_wire_transfer_delay"> & {
+ default_pay_delay: Duration,
+ default_wire_transfer_delay: Duration,
};
//MerchantBackend.Instances.InstanceAuthConfigurationMessage
interface Props {
- onUpdate: (d: Entity) => void;
+ onUpdate: (d: MerchantBackend.Instances.InstanceReconfigurationMessage) => void;
selected: MerchantBackend.Instances.QueryInstancesResponse;
isLoading: boolean;
onBack: () => void;
@@ -47,21 +49,12 @@ interface Props {
function convert(
from: MerchantBackend.Instances.QueryInstancesResponse,
): Entity {
- const { ...rest } = from;
- // const accounts = qAccounts
- // .filter((a) => a.active)
- // .map(
- // (a) =>
- // ({
- // payto_uri: a.payto_uri,
- // credit_facade_url: a.credit_facade_url,
- // credit_facade_credentials: a.credit_facade_credentials,
- // } as MerchantBackend.Instances.MerchantBankAccount),
- // );
+ const { default_pay_delay, default_wire_transfer_delay, ...rest } = from;
+
const defaults = {
use_stefan: false,
- default_pay_delay: { d_us: 2 * 1000 * 1000 * 60 * 60 }, //two hours
- default_wire_transfer_delay: { d_us: 2 * 1000 * 1000 * 60 * 60 * 2 }, //two hours
+ default_pay_delay: Duration.fromTalerProtocolDuration(default_pay_delay),
+ default_wire_transfer_delay: Duration.fromTalerProtocolDuration(default_wire_transfer_delay),
};
return { ...defaults, ...rest };
}
@@ -72,20 +65,6 @@ export function UpdatePage({
onBack,
}: Props): VNode {
const { id } = useInstanceContext();
- // const currentTokenValue = getTokenValuePart(token);
-
- // function updateToken(token: string | undefined | null) {
- // const value =
- // token && token.startsWith("secret-token:")
- // ? token.substring("secret-token:".length)
- // : token;
-
- // if (!token) {
- // onChangeAuth({ method: "external" });
- // } else {
- // onChangeAuth({ method: "token", token: `secret-token:${value}` });
- // }
- // }
const [value, valueHandler] = useState<Partial<Entity>>(convert(selected));
@@ -101,9 +80,9 @@ export function UpdatePage({
default_pay_delay: !value.default_pay_delay
? i18n.str`required`
: !!value.default_wire_transfer_delay &&
- value.default_wire_transfer_delay.d_us !== "forever" &&
- value.default_pay_delay.d_us !== "forever" &&
- value.default_pay_delay.d_us > value.default_wire_transfer_delay.d_us ?
+ value.default_wire_transfer_delay.d_ms !== "forever" &&
+ value.default_pay_delay.d_ms !== "forever" &&
+ value.default_pay_delay.d_ms > value.default_wire_transfer_delay.d_ms ?
i18n.str`pay delay can't be greater than wire transfer delay` : undefined,
default_wire_transfer_delay: !value.default_wire_transfer_delay
? i18n.str`required`
@@ -127,7 +106,13 @@ export function UpdatePage({
);
const submit = async (): Promise<void> => {
- await onUpdate(value as Entity);
+ const { default_pay_delay, default_wire_transfer_delay, ...rest } = value as Required<Entity>;
+ const result: MerchantBackend.Instances.InstanceReconfigurationMessage = {
+ default_pay_delay: Duration.toTalerProtocolDuration(default_pay_delay),
+ default_wire_transfer_delay: Duration.toTalerProtocolDuration(default_wire_transfer_delay),
+ ...rest,
+ }
+ await onUpdate(result);
};
// const [active, setActive] = useState(false);
@@ -144,26 +129,6 @@ export function UpdatePage({
</span>
</div>
</div>
- {/* <div class="level-right">
- <div class="level-item">
- <h1 class="title">
- <button
- class="button is-danger"
- data-tooltip={i18n.str`Change the authorization method use for this instance.`}
- onClick={(): void => {
- setActive(!active);
- }}
- >
- <div class="icon is-left">
- <i class="mdi mdi-lock-reset" />
- </div>
- <span>
- <i18n.Translate>Manage access token</i18n.Translate>
- </span>
- </button>
- </h1>
- </div>
- </div> */}
</div>
</div>
</section>