aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/dev-experiments.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2022-10-13 15:24:47 +0200
committerFlorian Dold <florian@dold.me>2022-10-13 15:24:47 +0200
commitca8da4ed380b308abdc894145c7e1a102bfd6cf0 (patch)
tree876ed35c7bd5f4c75967885d36eb3a3eecd06307 /packages/taler-wallet-core/src/dev-experiments.ts
parent83d4a1addc313f71a71463f7811f1fcc622b51b6 (diff)
downloadwallet-core-ca8da4ed380b308abdc894145c7e1a102bfd6cf0.tar.xz
wallet-core: only allow enabling dev mode via separate request
Diffstat (limited to 'packages/taler-wallet-core/src/dev-experiments.ts')
-rw-r--r--packages/taler-wallet-core/src/dev-experiments.ts33
1 files changed, 18 insertions, 15 deletions
diff --git a/packages/taler-wallet-core/src/dev-experiments.ts b/packages/taler-wallet-core/src/dev-experiments.ts
index c3167b3e4..6516db929 100644
--- a/packages/taler-wallet-core/src/dev-experiments.ts
+++ b/packages/taler-wallet-core/src/dev-experiments.ts
@@ -36,20 +36,11 @@ import {
const logger = new Logger("dev-experiments.ts");
-/**
- * Apply a dev experiment to the wallet database / state.
- */
-export async function applyDevExperiment(
+export async function setDevMode(
ws: InternalWalletState,
- uri: string,
+ enabled: boolean,
): Promise<void> {
- logger.info(`applying dev experiment ${uri}`);
- const parsedUri = parseDevExperimentUri(uri);
- if (!parsedUri) {
- logger.info("unable to parse dev experiment URI");
- return;
- }
- if (parsedUri.devExperimentId == "enable-devmode") {
+ if (enabled) {
logger.info("enabling devmode");
await ws.db
.mktx((x) => [x.config])
@@ -60,9 +51,7 @@ export async function applyDevExperiment(
});
});
await maybeInitDevMode(ws);
- return;
- }
- if (parsedUri.devExperimentId === "disable-devmode") {
+ } else {
logger.info("disabling devmode");
await ws.db
.mktx((x) => [x.config])
@@ -73,6 +62,20 @@ export async function applyDevExperiment(
});
});
await leaveDevMode(ws);
+ }
+}
+
+/**
+ * Apply a dev experiment to the wallet database / state.
+ */
+export async function applyDevExperiment(
+ ws: InternalWalletState,
+ uri: string,
+): Promise<void> {
+ logger.info(`applying dev experiment ${uri}`);
+ const parsedUri = parseDevExperimentUri(uri);
+ if (!parsedUri) {
+ logger.info("unable to parse dev experiment URI");
return;
}
if (!ws.devModeActive) {