userSchema: ZodObject<
{
active: ZodBoolean;
archived: ZodOptional<
ZodEffects<
ZodObject<
{ type: ZodEnum<["Timestamp"]>; value: ZodNumber },
"strip",
ZodTypeAny,
{ type: "Timestamp"; value: number },
{ type: "Timestamp"; value: number },
>,
Timestamp,
{ type: "Timestamp"; value: number },
>,
>;
created: ZodEffects<
ZodObject<
{ type: ZodEnum<["Timestamp"]>; value: ZodNumber },
"strip",
ZodTypeAny,
{ type: "Timestamp"; value: number },
{ type: "Timestamp"; value: number },
>,
Timestamp,
{ type: "Timestamp"; value: number },
>;
email: ZodOptional<ZodString>;
fingerprint: ZodOptional<ZodString>;
initialQuiz: ZodOptional<ZodString>;
isTemporary: ZodDefault<ZodOptional<ZodBoolean>>;
lastLogin: ZodEffects<
ZodObject<
{ type: ZodEnum<["Timestamp"]>; value: ZodNumber },
"strip",
ZodTypeAny,
{ type: "Timestamp"; value: number },
{ type: "Timestamp"; value: number },
>,
Timestamp,
{ type: "Timestamp"; value: number },
>;
nickname: ZodOptional<ZodString>;
quizUsage: ZodMap<
ZodBranded<ZodString, "UID">,
ZodObject<
{
name: ZodOptional<ZodString>;
type: ZodEnum<["NAME", "NICKNAME", "ANONYMOUS"]>;
},
"strip",
ZodTypeAny,
{ name?: string; type: "NAME"
| "NICKNAME"
| "ANONYMOUS" },
{ name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
>,
>;
role: ZodEnum<["STUDENT", "TEACHER", "ADMIN"]>;
uid: ZodBranded<ZodString, "UID">;
updated: ZodEffects<
ZodObject<
{ type: ZodEnum<["Timestamp"]>; value: ZodNumber },
"strip",
ZodTypeAny,
{ type: "Timestamp"; value: number },
{ type: "Timestamp"; value: number },
>,
Timestamp,
{ type: "Timestamp"; value: number },
>;
username: ZodString;
},
"strip",
ZodTypeAny,
{
active: boolean;
archived?: Timestamp;
created: Timestamp;
email?: string;
fingerprint?: string;
initialQuiz?: string;
isTemporary: boolean;
lastLogin: Timestamp;
nickname?: string;
quizUsage: Map<
string & BRAND<"UID">,
{ name?: string; type: "NAME" | "NICKNAME" | "ANONYMOUS" },
>;
role: "STUDENT" | "TEACHER" | "ADMIN";
uid: string & BRAND<"UID">;
updated: Timestamp;
username: string;
},
{
active: boolean;
archived?: { type: "Timestamp"; value: number };
created: { type: "Timestamp"; value: number };
email?: string;
fingerprint?: string;
initialQuiz?: string;
isTemporary?: boolean;
lastLogin: { type: "Timestamp"; value: number };
nickname?: string;
quizUsage: Map<
string,
{ name?: string; type: "NAME"
| "NICKNAME"
| "ANONYMOUS" },
>;
role: "STUDENT" | "TEACHER" | "ADMIN";
uid: string;
updated: { type: "Timestamp"; value: number };
username: string;
},
> = ...