| 
														
															@@ -1,5 +1,4 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import { PipelineStage, Schema, SchemaOptions } from "mongoose"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import JobContext from "@/JobContext"; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import { PipelineStage, Schema } from "mongoose"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 export enum FilterType { 
														 | 
														
														 | 
														
															 export enum FilterType { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	REGEX = "regex", 
														 | 
														
														 | 
														
															 	REGEX = "regex", 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16,18 +15,6 @@ export enum FilterType { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	SPECIAL = "special" 
														 | 
														
														 | 
														
															 	SPECIAL = "special" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-export interface GetDataSchemaOptions extends SchemaOptions { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	getData?: { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		blacklistedProperties?: string[]; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		specialProperties?: Record<string, PipelineStage[]>; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		specialQueries?: Record< 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			string, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			(query: Record<string, any>) => Record<string, any> 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		>; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		specialFilters?: Record<string, (...args: any[]) => PipelineStage[]>; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	}; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 export interface GetData { 
														 | 
														
														 | 
														
															 export interface GetData { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	getData(payload: { 
														 | 
														
														 | 
														
															 	getData(payload: { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		page: number; 
														 | 
														
														 | 
														
															 		page: number; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -57,12 +44,15 @@ export default function getDataPlugin(schema: Schema) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			const { page, pageSize, properties, sort, queries, operator } = 
														 | 
														
														 | 
														
															 			const { page, pageSize, properties, sort, queries, operator } = 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				payload; 
														 | 
														
														 | 
														
															 				payload; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			const getData = schema.get("getData"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if (!getData) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				throw new Error("Schema doesn't have getData defined."); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			const { 
														 | 
														
														 | 
														
															 			const { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				blacklistedProperties, 
														 | 
														
														 | 
														
															 				blacklistedProperties, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				specialFilters, 
														 | 
														
														 | 
														
															 				specialFilters, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				specialProperties, 
														 | 
														
														 | 
														
															 				specialProperties, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				specialQueries 
														 | 
														
														 | 
														
															 				specialQueries 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} = schema.options?.getData ?? {}; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			} = getData; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			const pipeline: PipelineStage[] = []; 
														 | 
														
														 | 
														
															 			const pipeline: PipelineStage[] = []; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 |