refactor(zalouser): reuse shared name matching helper
This commit is contained in:
@@ -22,6 +22,7 @@ import {
|
|||||||
DEFAULT_ACCOUNT_ID,
|
DEFAULT_ACCOUNT_ID,
|
||||||
deleteAccountFromConfigSection,
|
deleteAccountFromConfigSection,
|
||||||
formatAllowFromLowercase,
|
formatAllowFromLowercase,
|
||||||
|
isDangerousNameMatchingEnabled,
|
||||||
isNumericTargetId,
|
isNumericTargetId,
|
||||||
migrateBaseNameToDefaultAccount,
|
migrateBaseNameToDefaultAccount,
|
||||||
normalizeAccountId,
|
normalizeAccountId,
|
||||||
@@ -37,11 +38,7 @@ import {
|
|||||||
type ResolvedZalouserAccount,
|
type ResolvedZalouserAccount,
|
||||||
} from "./accounts.js";
|
} from "./accounts.js";
|
||||||
import { ZalouserConfigSchema } from "./config-schema.js";
|
import { ZalouserConfigSchema } from "./config-schema.js";
|
||||||
import {
|
import { buildZalouserGroupCandidates, findZalouserGroupEntry } from "./group-policy.js";
|
||||||
buildZalouserGroupCandidates,
|
|
||||||
findZalouserGroupEntry,
|
|
||||||
isZalouserDangerousNameMatchingEnabled,
|
|
||||||
} from "./group-policy.js";
|
|
||||||
import { resolveZalouserReactionMessageIds } from "./message-sid.js";
|
import { resolveZalouserReactionMessageIds } from "./message-sid.js";
|
||||||
import { zalouserOnboardingAdapter } from "./onboarding.js";
|
import { zalouserOnboardingAdapter } from "./onboarding.js";
|
||||||
import { probeZalouser } from "./probe.js";
|
import { probeZalouser } from "./probe.js";
|
||||||
@@ -220,7 +217,7 @@ function resolveZalouserGroupPolicyEntry(params: ChannelGroupContext) {
|
|||||||
groupId: params.groupId,
|
groupId: params.groupId,
|
||||||
groupChannel: params.groupChannel,
|
groupChannel: params.groupChannel,
|
||||||
includeWildcard: true,
|
includeWildcard: true,
|
||||||
allowNameMatching: isZalouserDangerousNameMatchingEnabled(account.config),
|
allowNameMatching: isDangerousNameMatchingEnabled(account.config),
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,6 @@ export function normalizeZalouserGroupSlug(raw?: string | null): string {
|
|||||||
.replace(/^-+|-+$/g, "");
|
.replace(/^-+|-+$/g, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isZalouserDangerousNameMatchingEnabled(params: {
|
|
||||||
dangerouslyAllowNameMatching?: boolean;
|
|
||||||
}): boolean {
|
|
||||||
return params.dangerouslyAllowNameMatching === true;
|
|
||||||
}
|
|
||||||
|
|
||||||
export function buildZalouserGroupCandidates(params: {
|
export function buildZalouserGroupCandidates(params: {
|
||||||
groupId?: string | null;
|
groupId?: string | null;
|
||||||
groupChannel?: string | null;
|
groupChannel?: string | null;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import {
|
|||||||
createScopedPairingAccess,
|
createScopedPairingAccess,
|
||||||
createReplyPrefixOptions,
|
createReplyPrefixOptions,
|
||||||
evaluateGroupRouteAccessForPolicy,
|
evaluateGroupRouteAccessForPolicy,
|
||||||
|
isDangerousNameMatchingEnabled,
|
||||||
issuePairingChallenge,
|
issuePairingChallenge,
|
||||||
resolveOutboundMediaUrls,
|
resolveOutboundMediaUrls,
|
||||||
mergeAllowlist,
|
mergeAllowlist,
|
||||||
@@ -33,7 +34,6 @@ import {
|
|||||||
import {
|
import {
|
||||||
buildZalouserGroupCandidates,
|
buildZalouserGroupCandidates,
|
||||||
findZalouserGroupEntry,
|
findZalouserGroupEntry,
|
||||||
isZalouserDangerousNameMatchingEnabled,
|
|
||||||
isZalouserGroupEntryAllowed,
|
isZalouserGroupEntryAllowed,
|
||||||
} from "./group-policy.js";
|
} from "./group-policy.js";
|
||||||
import { formatZalouserMessageSidFull, resolveZalouserMessageSid } from "./message-sid.js";
|
import { formatZalouserMessageSidFull, resolveZalouserMessageSid } from "./message-sid.js";
|
||||||
@@ -319,7 +319,7 @@ async function processMessage(
|
|||||||
});
|
});
|
||||||
|
|
||||||
const groups = account.config.groups ?? {};
|
const groups = account.config.groups ?? {};
|
||||||
const allowNameMatching = isZalouserDangerousNameMatchingEnabled(account.config);
|
const allowNameMatching = isDangerousNameMatchingEnabled(account.config);
|
||||||
if (isGroup) {
|
if (isGroup) {
|
||||||
const groupEntry = findZalouserGroupEntry(
|
const groupEntry = findZalouserGroupEntry(
|
||||||
groups,
|
groups,
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ export type { ChannelPlugin } from "../channels/plugins/types.plugin.js";
|
|||||||
export { createReplyPrefixOptions } from "../channels/reply-prefix.js";
|
export { createReplyPrefixOptions } from "../channels/reply-prefix.js";
|
||||||
export { createTypingCallbacks } from "../channels/typing.js";
|
export { createTypingCallbacks } from "../channels/typing.js";
|
||||||
export type { OpenClawConfig } from "../config/config.js";
|
export type { OpenClawConfig } from "../config/config.js";
|
||||||
|
export { isDangerousNameMatchingEnabled } from "../config/dangerous-name-matching.js";
|
||||||
export {
|
export {
|
||||||
resolveDefaultGroupPolicy,
|
resolveDefaultGroupPolicy,
|
||||||
resolveOpenProviderRuntimeGroupPolicy,
|
resolveOpenProviderRuntimeGroupPolicy,
|
||||||
|
|||||||
Reference in New Issue
Block a user