mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-18 14:47:26 +00:00
refactor: share open allowFrom config checks
This commit is contained in:
25
extensions/shared/config-schema-helpers.ts
Normal file
25
extensions/shared/config-schema-helpers.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import type { z } from "zod";
|
||||
|
||||
type RequireOpenAllowFromFn = (params: {
|
||||
policy: unknown;
|
||||
allowFrom: unknown;
|
||||
ctx: z.RefinementCtx;
|
||||
path: string[];
|
||||
message: string;
|
||||
}) => void;
|
||||
|
||||
export function requireChannelOpenAllowFrom(params: {
|
||||
channel: string;
|
||||
policy: unknown;
|
||||
allowFrom: unknown;
|
||||
ctx: z.RefinementCtx;
|
||||
requireOpenAllowFrom: RequireOpenAllowFromFn;
|
||||
}) {
|
||||
params.requireOpenAllowFrom({
|
||||
policy: params.policy,
|
||||
allowFrom: params.allowFrom,
|
||||
ctx: params.ctx,
|
||||
path: ["allowFrom"],
|
||||
message: `channels.${params.channel}.dmPolicy="open" requires channels.${params.channel}.allowFrom to include "*"`,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user