Presupuestador_web/server/src/contexts/users/infrastructure/User.context.ts

36 lines
827 B
TypeScript
Raw Normal View History

2024-05-16 18:16:00 +00:00
import {
IRepositoryManager,
RepositoryManager,
} from "@/contexts/common/domain";
import {
ISequelizeAdapter,
createSequelizeAdapter,
} from "@/contexts/common/infrastructure/sequelize";
export interface IUserContext {
adapter: ISequelizeAdapter;
repositoryManager: IRepositoryManager;
//services: IApplicationService;
}
export class UserContext {
private static instance: UserContext | null = null;
public static getInstance(): IUserContext {
if (!UserContext.instance) {
UserContext.instance = new UserContext({
adapter: createSequelizeAdapter(),
repositoryManager: RepositoryManager.getInstance(),
});
}
return UserContext.instance.context;
}
private context: IUserContext;
private constructor(context: IUserContext) {
this.context = context;
}
}