Updates user metadata schemas

This commit is contained in:
zomars
2022-06-14 14:07:54 -06:00
parent c5d2bac26f
commit b5b48e7992
3 changed files with 17 additions and 7 deletions
+2 -7
View File
@@ -1,8 +1,9 @@
import { Prisma } from "@prisma/client";
import type { NextApiRequest, NextApiResponse } from "next";
import { z, ZodError } from "zod";
import { ZodError } from "zod";
import prisma from "@calcom/prisma";
import { vitalSettingsUpdateSchema } from "@calcom/prisma/zod-utils";
export type VitalSettingsResponse = {
connected: boolean;
@@ -10,12 +11,6 @@ export type VitalSettingsResponse = {
selectedParam: string;
};
const vitalSettingsUpdateSchema = z.object({
connected: z.boolean().optional(),
selectedParam: z.string().optional(),
sleepValue: z.number().optional(),
});
const handler = async (
req: NextApiRequest,
res: NextApiResponse
+1
View File
@@ -165,6 +165,7 @@ model User {
away Boolean @default(false)
// participate in dynamic group booking or not
allowDynamicBooking Boolean? @default(true)
/// @zod.custom(imports.userMetadata)
metadata Json?
verified Boolean? @default(false)
role UserPermissionRole @default(USER)
+14
View File
@@ -94,3 +94,17 @@ export const extendedBookingCreateBody = bookingCreateBodySchema.merge(
rescheduleReason: z.string().optional(),
})
);
export const vitalSettingsUpdateSchema = z.object({
connected: z.boolean().optional(),
selectedParam: z.string().optional(),
sleepValue: z.number().optional(),
});
export const userMetadata = z
.object({
proPaidForByTeamId: z.string().optional(),
stripeCustomerId: z.string().optional(),
vitalSettings: vitalSettingsUpdateSchema.optional(),
})
.nullable();