30 lines
638 B
TypeScript
30 lines
638 B
TypeScript
|
import { z } from "zod";
|
||
|
|
||
|
import { _ApiKeyModel as ApiKey } from "@calcom/prisma/zod";
|
||
|
|
||
|
export const apiKeyCreateBodySchema = ApiKey.pick({
|
||
|
note: true,
|
||
|
expiresAt: true,
|
||
|
userId: true,
|
||
|
})
|
||
|
.partial({ userId: true })
|
||
|
.merge(z.object({ neverExpires: z.boolean().optional() }))
|
||
|
.strict();
|
||
|
|
||
|
export const apiKeyEditBodySchema = ApiKey.pick({
|
||
|
note: true,
|
||
|
})
|
||
|
.partial()
|
||
|
.strict();
|
||
|
|
||
|
export const apiKeyPublicSchema = ApiKey.pick({
|
||
|
id: true,
|
||
|
userId: true,
|
||
|
note: true,
|
||
|
createdAt: true,
|
||
|
expiresAt: true,
|
||
|
lastUsedAt: true,
|
||
|
/** We might never want to expose these. Leaving this a as reminder. */
|
||
|
// hashedKey: true,
|
||
|
});
|