Added User List table

This commit is contained in:
2026-01-20 22:21:06 +07:00
parent 1423d8af53
commit e02564b5cd
45 changed files with 1866 additions and 292 deletions

View File

@@ -0,0 +1,45 @@
import { m } from '@/paraglide/messages';
import z from 'zod';
export const userListSchema = z.object({
page: z.coerce.number().min(1).default(1),
limit: z.coerce.number().min(10).max(100).default(10),
keyword: z.string().optional(),
});
export const userSetPasswordSchema = z.object({
id: z.string().nonempty(m.users_page_message_user_not_found()),
password: z
.string()
.min(5, m.users_page_message_user_min())
.regex(/[A-Z]/, m.users_page_message_contain_uppercase())
.regex(/[a-z]/, m.users_page_message_contain_lowercase())
.regex(/[0-9]/, m.users_page_message_contain_number())
.regex(/[^a-zA-Z0-9]/, m.users_page_message_contain_special()),
});
export const userUpdateInfoSchema = z.object({
id: z.string().nonempty(m.users_page_message_user_not_found()),
name: z.string().nonempty(
m.common_is_required({
field: m.profile_form_name(),
}),
),
});
export const RoleEnum = z.enum(['admin', 'user']);
export const userUpdateRoleSchema = z.object({
id: z.string().nonempty(m.users_page_message_user_not_found()),
role: RoleEnum,
});
export const userBanSchema = z.object({
id: z.string().nonempty(m.users_page_message_user_not_found()),
banReason: z.string().nonempty(
m.common_is_required({
field: m.users_page_ui_form_ban_reason(),
}),
),
banExp: z.number().int().min(1, m.users_page_message_select_min_one_day()),
});