2025-02-03 13:12:36 +00:00
|
|
|
import { createSequelizeTransactionManager } from "@common/infrastructure";
|
|
|
|
|
|
2025-02-04 18:25:10 +00:00
|
|
|
import { createAuthenticatedUserRepository, createTabContextRepository } from "../infraestructure";
|
2025-02-03 13:12:36 +00:00
|
|
|
import { IAuthService } from "./auth-service.interface";
|
2025-02-01 21:48:13 +00:00
|
|
|
import { AuthService } from "./auth.service";
|
2025-02-05 20:40:59 +00:00
|
|
|
import { ITabContextService } from "./tab-context-service.interface";
|
|
|
|
|
import { TabContextService } from "./tab-context.service";
|
2025-02-01 21:48:13 +00:00
|
|
|
|
2025-02-03 13:12:36 +00:00
|
|
|
export * from "./auth-service.interface";
|
2025-02-01 21:48:13 +00:00
|
|
|
|
2025-02-03 13:12:36 +00:00
|
|
|
export const createAuthService = (): IAuthService => {
|
|
|
|
|
const transactionManager = createSequelizeTransactionManager();
|
2025-02-07 11:14:18 +00:00
|
|
|
const userRepo = createAuthenticatedUserRepository();
|
|
|
|
|
const tabContextRepo = createTabContextRepository();
|
2025-02-03 18:03:23 +00:00
|
|
|
|
2025-02-07 11:14:18 +00:00
|
|
|
return new AuthService(userRepo, tabContextRepo, transactionManager);
|
2025-02-03 13:12:36 +00:00
|
|
|
};
|
2025-02-05 20:40:59 +00:00
|
|
|
|
|
|
|
|
export const createTabContextService = (): ITabContextService => {
|
|
|
|
|
const transactionManager = createSequelizeTransactionManager();
|
|
|
|
|
const tabContextRepository = createTabContextRepository();
|
|
|
|
|
|
|
|
|
|
return new TabContextService(tabContextRepository, transactionManager);
|
|
|
|
|
};
|