Files
calendar/packages/app-store/huddle01video/utils/storage.ts
T
2024-10-31 04:59:34 +00:00

52 lines
1.2 KiB
TypeScript

import { z } from "zod";
import { prisma } from "@calcom/prisma";
const huddle01AppKeySchema = z.object({
identityToken: z.string(),
});
export async function storeHuddle01Credential(userId: number, identityToken: string) {
const existingCredential = await prisma.credential.findFirst({
where: {
type: "huddle01_video",
userId: userId,
appId: "huddle01",
},
});
if (existingCredential) {
// Update the existing credential with the new identityToken
await prisma.credential.update({
where: { id: existingCredential.id },
data: { key: { identityToken } },
});
} else {
// Create a new credential if it doesn't exist
await prisma.credential.create({
data: {
type: "huddle01_video",
key: { identityToken },
userId: userId,
appId: "huddle01",
},
});
}
}
export async function getHuddle01Credential(userId: number) {
const credential = await prisma.credential.findFirst({
where: {
type: "huddle01_video",
userId: userId,
appId: "huddle01",
},
});
if (!credential) {
throw new Error("Huddle01 credential not found");
}
return huddle01AppKeySchema.parse(credential?.key);
}