|
@@ -8,6 +8,7 @@ export class MessageAuditorService implements MessageAuditorServiceInterface {
|
|
|
private settings: MessageSynchronisationServiceSetting
|
|
|
private sourceSrc: LoggingService = new LoggingService()
|
|
|
private targetSrc: LoggingService = new LoggingService()
|
|
|
+ private missingMessageSubject: Subject<MessageLog> = new Subject()
|
|
|
|
|
|
/* Set up the targets or points of synchronization. This is where it will register the 2 different location of
|
|
|
the data to be synchronized */
|
|
@@ -21,25 +22,20 @@ export class MessageAuditorService implements MessageAuditorServiceInterface {
|
|
|
and return the missing data, which will then be passed into the targeted subject stream as specified by the
|
|
|
respective client. They can choose how they want to handle the missing messages returned. */
|
|
|
public subscribe(obsTrigger: Observable<ErrorTrigger>): Observable<MessageLog> {
|
|
|
- // Create a subject as a means to return the missing messages if there's any.
|
|
|
- let msg: Subject<MessageLog> = new Subject()
|
|
|
-
|
|
|
// Subsribe to the errorTrigger obs to listen to any notification.
|
|
|
obsTrigger.subscribe({
|
|
|
next: obsTrigger => {
|
|
|
console.log(obsTrigger.message)// just checking the message
|
|
|
-
|
|
|
let missingMsg: Observable<MessageLog> = this.synchronize()
|
|
|
missingMsg.subscribe({
|
|
|
next: element => {
|
|
|
- msg.next(element)
|
|
|
+ this.missingMessageSubject.next(element)
|
|
|
console.log(`AuditService: Returning missing messages ${element.appData.msgId} ....`)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- let result: Observable<MessageLog> = msg.asObservable()
|
|
|
- return result
|
|
|
+ return this.missingMessageSubject
|
|
|
}
|
|
|
|
|
|
/* This is where the 'synching' operation takes place. */
|