import { GetProfileUseCase } from "@/contexts/profile/application/GetProfile.useCase";
import { IProfileContext } from "../../../Profile.context";
import { registerProfileRepository } from "../../../Profile.repository";
import { GetProfileController } from "./GetProfile.controller";
import { GetProfilePresenter } from "./presenter";

export const createGetProfileController = (context: IProfileContext) => {
  registerProfileRepository(context);

  return new GetProfileController(
    {
      useCase: new GetProfileUseCase(context),
      presenter: GetProfilePresenter,
    },
    context
  );
};
