Spaces:
Sleeping
Sleeping
File size: 795 Bytes
05c5ed5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import { z } from "zod";
import { USER_ROLES, UserRoleNames } from "app-types/roles";
import { ActionState } from "lib/action-utils";
import { BasicUserWithLastLogin } from "app-types/user";
export const UpdateUserRoleSchema = z.object({
userId: z.uuid("Invalid user ID"),
role: z
.enum(Object.values(USER_ROLES) as [UserRoleNames, ...UserRoleNames[]])
.optional(),
});
export const UpdateUserBanStatusSchema = z.object({
userId: z.uuid("Invalid user ID"),
banned: z.enum(["true", "false"]).transform((value) => value === "true"),
banReason: z.string().optional(),
});
export type UpdateUserRoleActionState = ActionState & {
user?: BasicUserWithLastLogin | null;
};
export type UpdateUserBanStatusActionState = ActionState & {
user?: BasicUserWithLastLogin | null;
};
|