| 
					
				 | 
			
			
				@@ -1,12 +1,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import config from "config"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//import { createClient, RedisClientType } from "redis"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import { createClient, RedisClientType } from "redis"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import mongoose, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    MongooseDefaultQueryMiddleware, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    MongooseDistinctQueryMiddleware, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    MongooseQueryOrDocumentMiddleware 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MongooseDefaultQueryMiddleware, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MongooseDistinctQueryMiddleware, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	MongooseQueryOrDocumentMiddleware 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } from "mongoose"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import JobContext from "../JobContext"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import BaseModule from "../BaseModule"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import BaseModule, { ModuleStatus } from "../BaseModule"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { UniqueMethods } from "../types/Modules"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { Models, Schemas } from "../types/Models"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,7 +88,7 @@ export default class DataModule extends BaseModule { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		modelName: ModelName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		const { schema }: { schema: Schemas[ModelName] } = await import( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			`../models/${modelName.toString()}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			`../schemas/${modelName.toString()}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		const preMethods: string[] = [ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -117,7 +117,7 @@ export default class DataModule extends BaseModule { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		preMethods.forEach(preMethod => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			// @ts-ignore 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            schema.pre(preMethods, () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			schema.pre(preMethods, () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				console.log(`Pre-${preMethod}!`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,16 +140,20 @@ export default class DataModule extends BaseModule { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * getModel - Get model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * @param jobContext 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * @param payload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 * @returns Model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public async getModel<ModelName extends keyof Models>( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		jobContext: JobContext, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		payload: { modelName: ModelName } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		payload: ModelName | { name: ModelName } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if (!this.models) throw new Error("Models not loaded"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return this.models[payload.modelName]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (this.getStatus() !== ModuleStatus.STARTED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			throw new Error("Module not started"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		const name = typeof payload === "object" ? payload.name : payload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return this.models[name]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |