Files
calendar/packages/trpc/server/routers/viewer/me/myStats.handler.ts
T
3c1297aa72 fix: calcom trpc sessio circle dep (#19893)
* fix trpc session circle dep

* fixes trpc session cirlce dep

* fix relative imports

* fix more imports to use types and not trpc

* fix exports

* Fixed types

---------

Co-authored-by: Keith Williams <keithwillcode@gmail.com>
2025-03-19 05:50:22 -03:00

32 lines
920 B
TypeScript

import type { Session } from "next-auth";
import { UserRepository } from "@calcom/lib/server/repository/user";
import type { TrpcSessionUser } from "@calcom/trpc/server/types";
type MyStatsOptions = {
ctx: {
user: NonNullable<TrpcSessionUser>;
session: Session;
};
};
export const myStatsHandler = async ({ ctx }: MyStatsOptions) => {
const { user: sessionUser } = ctx;
const additionalUserInfo = await UserRepository.getUserStats({ userId: sessionUser.id });
const sumOfTeamEventTypes = additionalUserInfo?.teams.reduce(
(sum, team) => sum + team.team.eventTypes.length,
0
);
return {
id: sessionUser.id,
sumOfBookings: additionalUserInfo?._count.bookings,
sumOfCalendars: additionalUserInfo?._count.userLevelSelectedCalendars,
sumOfTeams: additionalUserInfo?._count.teams,
sumOfEventTypes: additionalUserInfo?._count.eventTypes,
sumOfTeamEventTypes,
};
};