| import { UserRepositorySupabase } from '../../infra/supabase/repository/user.repository'; | |
| import { UserService } from './user.service'; | |
| import { UserController } from './user.controller'; | |
| export class UserFactory { | |
| private static repository: UserRepositorySupabase; | |
| private static service: UserService; | |
| private static controller: UserController; | |
| static getRepository() { | |
| if (!UserFactory.repository) { | |
| UserFactory.repository = new UserRepositorySupabase(); | |
| } | |
| return UserFactory.repository; | |
| } | |
| static getService() { | |
| if (!UserFactory.service) { | |
| UserFactory.service = new UserService(UserFactory.getRepository()); | |
| } | |
| return UserFactory.service; | |
| } | |
| static getController() { | |
| if (!UserFactory.controller) { | |
| UserFactory.controller = new UserController(UserFactory.getService()); | |
| } | |
| return UserFactory.controller; | |
| } | |
| } |