import { createSequelizeTransactionManager } from "@common/infrastructure"; import { createAuthenticatedUserRepository, createTabContextRepository } from "../infraestructure"; import { IAuthService } from "./auth-service.interface"; import { AuthService } from "./auth.service"; import { ITabContextService } from "./tab-context-service.interface"; import { TabContextService } from "./tab-context.service"; export * from "./auth-service.interface"; export const createAuthService = (): IAuthService => { const transactionManager = createSequelizeTransactionManager(); const userRepo = createAuthenticatedUserRepository(); const tabContextRepo = createTabContextRepository(); return new AuthService(userRepo, tabContextRepo, transactionManager); }; export const createTabContextService = (): ITabContextService => { const transactionManager = createSequelizeTransactionManager(); const tabContextRepository = createTabContextRepository(); return new TabContextService(tabContextRepository, transactionManager); };