Files
calendar/packages/trpc/server/routers/viewer/availability/user.handler.ts
T
Alex van AndelandGitHub 23ecd1c906 refactor: First high level changes to getUsersAvailability (#26566)
* refactor: First high level changes to getUsersAvailability

* Fix usage of getUserAvailability where getUsersAvailability is unused

* Fix user.schema.ts in APIv2

* User handler did not provide initial data

* Small ts fixes

* Set user non-nullable in getTimezoneFromDelegatedCredential

* Small ts fixes, ensure consumers are aware its nonnullable

* Mode is defaulted to none

* Mode is defaulted to none, fix ts when directly using fn (temp)
2026-01-08 14:45:26 +00:00

33 lines
888 B
TypeScript

import { getUserAvailabilityService } from "@calcom/features/di/containers/GetUserAvailability";
import type { TrpcSessionUser } from "../../../types";
import type { TUserInputSchema } from "./user.schema";
import { findUsersForAvailabilityCheck } from "@calcom/features/availability/lib/findUsersForAvailabilityCheck";
type UserOptions = {
ctx: {
user: NonNullable<TrpcSessionUser>;
};
input: TUserInputSchema;
};
function getUser(username: string) {
return findUsersForAvailabilityCheck({
where: {
username,
},
});
}
export const userHandler = async ({ input }: UserOptions) => {
const userAvailabilityService = getUserAvailabilityService();
const user = await getUser(input.username);
return userAvailabilityService.getUserAvailability(
{ returnDateOverrides: true, bypassBusyCalendarTimes: false, ...input },
{
user,
}
);
};