refactor: share nextcloud onboarding allowFrom lookup

This commit is contained in:
Peter Steinberger
2026-03-07 23:27:13 +00:00
parent 4956271da1
commit dc92f2e19d
3 changed files with 4 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ import {
buildSingleChannelSecretPromptState,
formatDocsLink,
hasConfiguredSecretInput,
mapAllowFromEntries,
mergeAllowFromEntries,
promptSingleChannelSecretInput,
resolveAccountIdForConfigure,
@@ -29,7 +30,7 @@ function setNextcloudTalkDmPolicy(cfg: CoreConfig, dmPolicy: DmPolicy): CoreConf
channel: "nextcloud-talk",
dmPolicy,
getAllowFrom: (inputCfg) =>
(inputCfg.channels?.["nextcloud-talk"]?.allowFrom ?? []).map((entry) => String(entry)),
mapAllowFromEntries(inputCfg.channels?.["nextcloud-talk"]?.allowFrom),
}) as CoreConfig;
}

View File

@@ -984,7 +984,7 @@ describe("setTopLevelChannelDmPolicyWithAllowFrom", () => {
channel: "nextcloud-talk",
dmPolicy: "open",
getAllowFrom: (inputCfg) =>
(inputCfg.channels?.["nextcloud-talk"]?.allowFrom ?? []).map((entry) => String(entry)),
normalizeAllowFromEntries(inputCfg.channels?.["nextcloud-talk"]?.allowFrom ?? []),
});
expect(next.channels?.["nextcloud-talk"]?.allowFrom).toEqual(["alice", "*"]);
});

View File

@@ -36,6 +36,7 @@ export type { ChannelGroupContext, ChannelSetupInput } from "../channels/plugins
export type { ChannelPlugin } from "../channels/plugins/types.plugin.js";
export { createReplyPrefixOptions } from "../channels/reply-prefix.js";
export type { OpenClawConfig } from "../config/config.js";
export { mapAllowFromEntries } from "./channel-config-helpers.js";
export {
GROUP_POLICY_BLOCKED_LABEL,
resolveAllowlistProviderRuntimeGroupPolicy,