mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-06-16 11:05:03 +00:00
fix: automod change_perms action config types
This commit is contained in:
parent
1a5f89c332
commit
dd939895e8
1 changed files with 7 additions and 1 deletions
|
@ -65,11 +65,17 @@ const permissionNames = keys(PermissionsBitField.Flags) as U.ListOf<keyof typeof
|
||||||
const legacyPermissionNames = keys(legacyPermMap) as U.ListOf<keyof typeof legacyPermMap>;
|
const legacyPermissionNames = keys(legacyPermMap) as U.ListOf<keyof typeof legacyPermMap>;
|
||||||
const allPermissionNames = [...permissionNames, ...legacyPermissionNames] as const;
|
const allPermissionNames = [...permissionNames, ...legacyPermissionNames] as const;
|
||||||
|
|
||||||
|
const permissionTypeMap = allPermissionNames.reduce((map, permName) => {
|
||||||
|
map[permName] = z.boolean().nullable();
|
||||||
|
return map;
|
||||||
|
}, {} as Record<typeof allPermissionNames[number], z.ZodNullable<z.ZodBoolean>>);
|
||||||
|
const zPermissionsMap = z.strictObject(permissionTypeMap);
|
||||||
|
|
||||||
export const ChangePermsAction = automodAction({
|
export const ChangePermsAction = automodAction({
|
||||||
configSchema: z.strictObject({
|
configSchema: z.strictObject({
|
||||||
target: zBoundedCharacters(1, 2000),
|
target: zBoundedCharacters(1, 2000),
|
||||||
channel: zBoundedCharacters(1, 2000).nullable().default(null),
|
channel: zBoundedCharacters(1, 2000).nullable().default(null),
|
||||||
perms: z.record(z.enum(allPermissionNames), z.boolean().nullable()),
|
perms: zPermissionsMap.partial(),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
async apply({ pluginData, contexts, actionConfig, ruleName }) {
|
async apply({ pluginData, contexts, actionConfig, ruleName }) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue