mirror of https://github.com/openclaw/openclaw.git
refactor(slack): dedupe onboarding config patching
This commit is contained in:
parent
d80ccdb9e0
commit
2944c7d6af
|
|
@ -124,10 +124,10 @@ async function noteSlackTokenHelp(prompter: WizardPrompter, botName: string): Pr
|
|||
);
|
||||
}
|
||||
|
||||
function setSlackGroupPolicy(
|
||||
function patchSlackConfigForAccount(
|
||||
cfg: OpenClawConfig,
|
||||
accountId: string,
|
||||
groupPolicy: "open" | "allowlist" | "disabled",
|
||||
patch: Record<string, unknown>,
|
||||
): OpenClawConfig {
|
||||
if (accountId === DEFAULT_ACCOUNT_ID) {
|
||||
return {
|
||||
|
|
@ -137,7 +137,7 @@ function setSlackGroupPolicy(
|
|||
slack: {
|
||||
...cfg.channels?.slack,
|
||||
enabled: true,
|
||||
groupPolicy,
|
||||
...patch,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
@ -154,7 +154,7 @@ function setSlackGroupPolicy(
|
|||
[accountId]: {
|
||||
...cfg.channels?.slack?.accounts?.[accountId],
|
||||
enabled: cfg.channels?.slack?.accounts?.[accountId]?.enabled ?? true,
|
||||
groupPolicy,
|
||||
...patch,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
@ -162,43 +162,21 @@ function setSlackGroupPolicy(
|
|||
};
|
||||
}
|
||||
|
||||
function setSlackGroupPolicy(
|
||||
cfg: OpenClawConfig,
|
||||
accountId: string,
|
||||
groupPolicy: "open" | "allowlist" | "disabled",
|
||||
): OpenClawConfig {
|
||||
return patchSlackConfigForAccount(cfg, accountId, { groupPolicy });
|
||||
}
|
||||
|
||||
function setSlackChannelAllowlist(
|
||||
cfg: OpenClawConfig,
|
||||
accountId: string,
|
||||
channelKeys: string[],
|
||||
): OpenClawConfig {
|
||||
const channels = Object.fromEntries(channelKeys.map((key) => [key, { allow: true }]));
|
||||
if (accountId === DEFAULT_ACCOUNT_ID) {
|
||||
return {
|
||||
...cfg,
|
||||
channels: {
|
||||
...cfg.channels,
|
||||
slack: {
|
||||
...cfg.channels?.slack,
|
||||
enabled: true,
|
||||
channels,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
return {
|
||||
...cfg,
|
||||
channels: {
|
||||
...cfg.channels,
|
||||
slack: {
|
||||
...cfg.channels?.slack,
|
||||
enabled: true,
|
||||
accounts: {
|
||||
...cfg.channels?.slack?.accounts,
|
||||
[accountId]: {
|
||||
...cfg.channels?.slack?.accounts?.[accountId],
|
||||
enabled: cfg.channels?.slack?.accounts?.[accountId]?.enabled ?? true,
|
||||
channels,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
return patchSlackConfigForAccount(cfg, accountId, { channels });
|
||||
}
|
||||
|
||||
function setSlackAllowFrom(cfg: OpenClawConfig, allowFrom: string[]): OpenClawConfig {
|
||||
|
|
|
|||
Loading…
Reference in New Issue