Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com> Co-authored-by: Morgan Vernay <morgan@cal.com> Co-authored-by: Omar López <zomars@me.com>
31 lines
901 B
TypeScript
31 lines
901 B
TypeScript
import { getConnectedDestinationCalendarsAndEnsureDefaultsInDb } from "@calcom/lib/getConnectedDestinationCalendars";
|
|
import { prisma } from "@calcom/prisma";
|
|
import type { TrpcSessionUser } from "@calcom/trpc/server/trpc";
|
|
|
|
import type { TConnectedCalendarsInputSchema } from "./connectedCalendars.schema";
|
|
|
|
type ConnectedCalendarsOptions = {
|
|
ctx: {
|
|
user: NonNullable<TrpcSessionUser>;
|
|
};
|
|
input: TConnectedCalendarsInputSchema;
|
|
};
|
|
|
|
export const connectedCalendarsHandler = async ({ ctx, input }: ConnectedCalendarsOptions) => {
|
|
const { user } = ctx;
|
|
const onboarding = input?.onboarding || false;
|
|
|
|
const { connectedCalendars, destinationCalendar } =
|
|
await getConnectedDestinationCalendarsAndEnsureDefaultsInDb({
|
|
user,
|
|
onboarding,
|
|
eventTypeId: input?.eventTypeId ?? null,
|
|
prisma,
|
|
});
|
|
|
|
return {
|
|
connectedCalendars,
|
|
destinationCalendar,
|
|
};
|
|
};
|