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 sourcemaps from "rollup-plugin-sourcemaps";
|
||||
|
||||
export default {
|
||||
const cli = {
|
||||
input: "lib/index.node.js",
|
||||
output: {
|
||||
file: "dist/anastasis-cli.js",
|
||||
@ -28,3 +28,29 @@ export default {
|
||||
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,
|
||||
ActionArgsChangeVersion,
|
||||
TruthMetaData,
|
||||
ActionArgsUpdatePolicy,
|
||||
} from "./reducer-types.js";
|
||||
import fetchPonyfill from "fetch-ponyfill";
|
||||
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(
|
||||
state: ReducerStateBackup,
|
||||
args: ActionArgsAddPolicy,
|
||||
@ -1230,6 +1243,7 @@ const backupTransitions: Record<
|
||||
...transitionBackupJump("next", BackupStates.SecretEditing),
|
||||
...transition("add_policy", codecForActionArgsAddPolicy(), addPolicy),
|
||||
...transition("delete_policy", codecForAny(), deletePolicy),
|
||||
...transition("update_policy", codecForAny(), updatePolicy),
|
||||
},
|
||||
[BackupStates.SecretEditing]: {
|
||||
...transitionBackupJump("back", BackupStates.PoliciesReviewing),
|
||||
|
@ -418,6 +418,11 @@ export interface ActionArgsChangeVersion {
|
||||
version: number;
|
||||
}
|
||||
|
||||
export interface ActionArgsUpdatePolicy {
|
||||
policy_index: number;
|
||||
policy: PolicyMember[];
|
||||
}
|
||||
|
||||
export const codecForActionArgsChangeVersion = () =>
|
||||
buildCodecForObject<ActionArgsChangeVersion>()
|
||||
.property("provider_url", codecForString())
|
||||
|
Loading…
Reference in New Issue
Block a user