* 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)
33 lines
888 B
TypeScript
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,
|
|
}
|
|
);
|
|
};
|