bot-with-admin-starter/front/src/api/entities/admin.ts

31 lines
697 B
TypeScript
Raw Normal View History

2026-02-14 19:33:09 +03:00
import { z } from 'zod';
import { AbstractEntity } from './abstract';
import { booleanSchema } from '@/utilities/boolean';
export enum Roles {
SuperAdmin = 'superadmin',
Admin = 'admin',
};
export const Admin = AbstractEntity.extend({
username: z.string().min(1),
email: z.string().email(),
image: z.string().url().nullable().nullish(),
is_active: booleanSchema,
role: z.nativeEnum(Roles),
});
export const AdminDto = Admin.extend({
// password: PasswordSchema,
password: z.string().min(1),
}).omit({
id: true,
image: true,
created_at: true,
updated_at: true,
}).partial();
export type Admin = z.infer<typeof Admin>;
export type AdminDto = z.infer<typeof AdminDto>;