Added User List table
This commit is contained in:
45
src/service/user.schema.ts
Normal file
45
src/service/user.schema.ts
Normal 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()),
|
||||
});
|
||||
Reference in New Issue
Block a user