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 { createPassportAuthProvider } from "../infraestructure/passport/passport-auth-provider";
|
|
|
|
|
import { IAuthProvider } from "./auth-provider.interface";
|
|
|
|
|
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-provider.interface";
|
|
|
|
|
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();
|
|
|
|
|
const authenticatedUserRepository = createAuthenticatedUserRepository();
|
2025-02-04 18:25:10 +00:00
|
|
|
const tabContextRepository = createTabContextRepository();
|
2025-02-03 18:03:23 +00:00
|
|
|
|
|
|
|
|
const authProvider: IAuthProvider = createPassportAuthProvider(
|
|
|
|
|
authenticatedUserRepository,
|
|
|
|
|
transactionManager
|
|
|
|
|
);
|
2025-02-04 18:25:10 +00:00
|
|
|
return new AuthService(
|
|
|
|
|
authenticatedUserRepository,
|
|
|
|
|
tabContextRepository,
|
|
|
|
|
transactionManager,
|
|
|
|
|
authProvider
|
|
|
|
|
);
|
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);
|
|
|
|
|
};
|