* refactor: convert getBusyTimes to service class with dependency injection - Create BusyTimesService following UserAvailabilityService pattern - Add DI tokens, module, and container setup for BusyTimesService - Update all usage locations to use service instead of direct function calls - Maintain existing function signatures for backward compatibility - Add legacy exports to ensure smooth transition - Update type references in trpc util to use service prototype - Fix linting issues by making legacy exports async with proper imports - All tests pass and type checking succeeds Co-Authored-By: morgan@cal.com <morgan@cal.com> * refactor: busy time service * fix: api v2 eslint plugins version mismatch * chore: bump platform libs * chore: bump platform libs * fix: missing di busyTimesModule in slots service --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: morgan@cal.com <morgan@cal.com> Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
14 lines
630 B
TypeScript
14 lines
630 B
TypeScript
import { createModule } from "@evyweb/ioctopus";
|
|
|
|
import type { IUserAvailabilityService } from "../../getUserAvailability";
|
|
import { UserAvailabilityService } from "../../getUserAvailability";
|
|
import { DI_TOKENS } from "../tokens";
|
|
|
|
export const getUserAvailabilityModule = createModule();
|
|
getUserAvailabilityModule.bind(DI_TOKENS.GET_USER_AVAILABILITY_SERVICE).toClass(UserAvailabilityService, {
|
|
oooRepo: DI_TOKENS.OOO_REPOSITORY,
|
|
bookingRepo: DI_TOKENS.BOOKING_REPOSITORY,
|
|
eventTypeRepo: DI_TOKENS.EVENT_TYPE_REPOSITORY,
|
|
redisClient: DI_TOKENS.REDIS_CLIENT,
|
|
} satisfies Record<keyof IUserAvailabilityService, symbol>);
|