48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { z } from "zod";
|
|
|
|
export const schema = z.object({
|
|
_id: z.string(),
|
|
uuid: z.string().nullable().optional(),
|
|
expiryStarts: z.string().nullable().optional(),
|
|
expiryEnds: z.string().nullable().optional(),
|
|
isConfirmed: z.boolean().nullable().optional(),
|
|
deleted: z.boolean().nullable().optional(),
|
|
active: z.boolean().nullable().optional(),
|
|
crypUuId: z.string().nullable().optional(),
|
|
createdCredentialsToken: z.string().nullable().optional(),
|
|
updatedCredentialsToken: z.string().nullable().optional(),
|
|
confirmedCredentialsToken: z.string().nullable().optional(),
|
|
isNotificationSend: z.boolean().nullable().optional(),
|
|
isEmailSend: z.boolean().nullable().optional(),
|
|
refInt: z.number().nullable().optional(),
|
|
refId: z.string().nullable().optional(),
|
|
replicationId: z.number().nullable().optional(),
|
|
expiresAt: z.string().nullable().optional(),
|
|
resetToken: z.string().nullable().optional(),
|
|
password: z.string().nullable().optional(),
|
|
history: z.array(z.string()).optional(),
|
|
tag: z.string().nullable().optional(),
|
|
email: z.string().nullable().optional(),
|
|
phone: z.string().nullable().optional(),
|
|
|
|
collectionTokens: z
|
|
.object({
|
|
default: z.string().nullable().optional(),
|
|
tokens: z
|
|
.array(
|
|
z.object({
|
|
prefix: z.string(),
|
|
token: z.string(),
|
|
})
|
|
)
|
|
.optional(),
|
|
})
|
|
.nullable()
|
|
.optional(),
|
|
|
|
createdAt: z.string().nullable().optional(),
|
|
updatedAt: z.string().nullable().optional(),
|
|
});
|
|
|
|
export type schemaType = z.infer<typeof schema>;
|