import SessionManagerFactory from './SessionManagerFactory.ts' import ModelSessionManager from './ModelSessionManager.ts' import {Model} from '../../../../orm/src/model/Model.ts' import {StaticClass} from '../../../../di/src/type/StaticClass.ts' import SessionInterface from './SessionInterface.ts' /** * Session manager factory that produces model-based session managers. * @extends SessionManagerFactory */ export default class MemorySessionManagerFactory extends SessionManagerFactory { constructor( /** * The base model class to use for session lookups. * @type StaticClass */ protected readonly ModelClass: StaticClass, ) { super() } produce(dependencies: any[], parameters: any[]): any { return new ModelSessionManager(this.ModelClass) } }