feat: add unified IM access policies

This commit is contained in:
xmanrui 2026-09-01 10:45:12 +08:00
parent 075d2713c1
commit 840e5aa857
89 changed files with 5573 additions and 1676 deletions

View file

@ -0,0 +1,17 @@
import { validateAccessPolicy } from '../../../../src/channels/shared/access-policy.mjs';
export const SET_ACCESS_POLICY_ENDPOINT = 'bot.access-policy.set';
export function validAccessPolicyPayload(payload) {
try {
if (!payload || typeof payload !== 'object' || Array.isArray(payload)
|| Reflect.ownKeys(payload).length !== 2
|| !Object.hasOwn(payload, 'botId') || !Object.hasOwn(payload, 'policy')
|| typeof payload.botId !== 'string'
|| !/^[A-Za-z0-9_-]{1,128}$/.test(payload.botId)) return false;
validateAccessPolicy(payload.policy);
return true;
} catch {
return false;
}
}