anastasis-core: implement update_policy transition
This commit is contained in:
parent
09d01a4bf1
commit
5a72e4ae3e
@ -5,7 +5,7 @@ import json from "@rollup/plugin-json";
|
|||||||
import builtins from "builtin-modules";
|
import builtins from "builtin-modules";
|
||||||
import sourcemaps from "rollup-plugin-sourcemaps";
|
import sourcemaps from "rollup-plugin-sourcemaps";
|
||||||
|
|
||||||
export default {
|
const cli = {
|
||||||
input: "lib/index.node.js",
|
input: "lib/index.node.js",
|
||||||
output: {
|
output: {
|
||||||
file: "dist/anastasis-cli.js",
|
file: "dist/anastasis-cli.js",
|
||||||
@ -28,3 +28,29 @@ export default {
|
|||||||
json(),
|
json(),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const standalone = {
|
||||||
|
input: "lib/cli-entry.js",
|
||||||
|
output: {
|
||||||
|
file: "dist/anastasis-cli-standalone.js",
|
||||||
|
format: "es",
|
||||||
|
sourcemap: true,
|
||||||
|
},
|
||||||
|
external: [...builtins, "source-map-support"],
|
||||||
|
plugins: [
|
||||||
|
nodeResolve({
|
||||||
|
preferBuiltins: true,
|
||||||
|
}),
|
||||||
|
|
||||||
|
sourcemaps(),
|
||||||
|
|
||||||
|
commonjs({
|
||||||
|
sourceMap: true,
|
||||||
|
transformMixedEsModules: true,
|
||||||
|
}),
|
||||||
|
|
||||||
|
json(),
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default [standalone, cli];
|
||||||
|
@ -62,6 +62,7 @@ import {
|
|||||||
codecForActionArgsChangeVersion,
|
codecForActionArgsChangeVersion,
|
||||||
ActionArgsChangeVersion,
|
ActionArgsChangeVersion,
|
||||||
TruthMetaData,
|
TruthMetaData,
|
||||||
|
ActionArgsUpdatePolicy,
|
||||||
} from "./reducer-types.js";
|
} from "./reducer-types.js";
|
||||||
import fetchPonyfill from "fetch-ponyfill";
|
import fetchPonyfill from "fetch-ponyfill";
|
||||||
import {
|
import {
|
||||||
@ -1038,6 +1039,18 @@ async function deletePolicy(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function updatePolicy(
|
||||||
|
state: ReducerStateBackup,
|
||||||
|
args: ActionArgsUpdatePolicy,
|
||||||
|
): Promise<ReducerStateBackup> {
|
||||||
|
const policies = [...(state.policies ?? [])];
|
||||||
|
policies[args.policy_index] = { methods: args.policy };
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
policies,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
async function addPolicy(
|
async function addPolicy(
|
||||||
state: ReducerStateBackup,
|
state: ReducerStateBackup,
|
||||||
args: ActionArgsAddPolicy,
|
args: ActionArgsAddPolicy,
|
||||||
@ -1230,6 +1243,7 @@ const backupTransitions: Record<
|
|||||||
...transitionBackupJump("next", BackupStates.SecretEditing),
|
...transitionBackupJump("next", BackupStates.SecretEditing),
|
||||||
...transition("add_policy", codecForActionArgsAddPolicy(), addPolicy),
|
...transition("add_policy", codecForActionArgsAddPolicy(), addPolicy),
|
||||||
...transition("delete_policy", codecForAny(), deletePolicy),
|
...transition("delete_policy", codecForAny(), deletePolicy),
|
||||||
|
...transition("update_policy", codecForAny(), updatePolicy),
|
||||||
},
|
},
|
||||||
[BackupStates.SecretEditing]: {
|
[BackupStates.SecretEditing]: {
|
||||||
...transitionBackupJump("back", BackupStates.PoliciesReviewing),
|
...transitionBackupJump("back", BackupStates.PoliciesReviewing),
|
||||||
|
@ -418,6 +418,11 @@ export interface ActionArgsChangeVersion {
|
|||||||
version: number;
|
version: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ActionArgsUpdatePolicy {
|
||||||
|
policy_index: number;
|
||||||
|
policy: PolicyMember[];
|
||||||
|
}
|
||||||
|
|
||||||
export const codecForActionArgsChangeVersion = () =>
|
export const codecForActionArgsChangeVersion = () =>
|
||||||
buildCodecForObject<ActionArgsChangeVersion>()
|
buildCodecForObject<ActionArgsChangeVersion>()
|
||||||
.property("provider_url", codecForString())
|
.property("provider_url", codecForString())
|
||||||
|
Loading…
Reference in New Issue
Block a user