| 
														
															@@ -14,8 +14,12 @@ export class MessageAuditorService implements MessageAuditorServiceInterface { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* Set up the targets or points of synchronization. This is where it will register the 2 different location of  
														 | 
														
														 | 
														
															     /* Set up the targets or points of synchronization. This is where it will register the 2 different location of  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     the data to be synchronized */ 
														 | 
														
														 | 
														
															     the data to be synchronized */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public init(settings: MessageSynchronisationServiceSetting): void { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public init(settings: MessageSynchronisationServiceSetting, filters?: any): void { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         this.settings = settings; 
														 | 
														
														 | 
														
															         this.settings = settings; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (filters) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            console.log(`Integrating filters: ${Object.keys(this.filter)} in AuditMessage service`) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            this.filter = filters 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* This is the main interface of the message sync service. The argument will take in an observable stream of  
														 | 
														
														 | 
														
															     /* This is the main interface of the message sync service. The argument will take in an observable stream of  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -45,11 +49,6 @@ export class MessageAuditorService implements MessageAuditorServiceInterface { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return this.missingMessageSubject 
														 | 
														
														 | 
														
															         return this.missingMessageSubject 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public setFilter(filters: any) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        this.filter = filters 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        console.log(`Integrating filters: ${Object.keys(this.filter)} in AuditMessage service`) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /* ________________ Private Functions _________________ */ 
														 | 
														
														 | 
														
															     /* ________________ Private Functions _________________ */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     // Filtering functions to filter out messages 
														 | 
														
														 | 
														
															     // Filtering functions to filter out messages 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -59,12 +58,22 @@ export class MessageAuditorService implements MessageAuditorServiceInterface { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // Making a separate function to cater to different multi filter conditions are coded below 
														 | 
														
														 | 
														
															         // Making a separate function to cater to different multi filter conditions are coded below 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         function checkValues(filter): boolean { //FYI, all parameters are string 
														 | 
														
														 | 
														
															         function checkValues(filter): boolean { //FYI, all parameters are string 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             let key = Object.keys(filter) 
														 | 
														
														 | 
														
															             let key = Object.keys(filter) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            let value = Object.values(filter) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            console.log(Object.values(filter)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            let value = Object.values(filter)[0] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             let res = _.get(payload, key[0]) 
														 | 
														
														 | 
														
															             let res = _.get(payload, key[0]) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // Check first if the payload has the filtering properties/path 
														 | 
														
														 | 
														
															             // Check first if the payload has the filtering properties/path 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (_.has(payload, key[0])) { 
														 | 
														
														 | 
														
															             if (_.has(payload, key[0])) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 // check if value is equal to fitler's 
														 | 
														
														 | 
														
															                 // check if value is equal to fitler's 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if (value == res) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                let strarray: string[] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                // check array  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (Array.isArray(value)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    strarray = value as string[] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    strarray = [value as string] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                // compare array with that string  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (strarray.includes(res)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     return true 
														 | 
														
														 | 
														
															                     return true 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } else { 
														 | 
														
														 | 
														
															                 } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     return false 
														 | 
														
														 | 
														
															                     return false 
														 |