Forráskód Böngészése

update to open path for user interface response

enzo 2 hónapja
szülő
commit
cf38da9afb

+ 1 - 0
apps/fis-fingerprint/src/fis-fingerprint.controller.ts

@@ -28,5 +28,6 @@ export class FisFingerprintController {
   @EventPattern(`verification`)
   handleVerification(message: any): void {
     //  put int service and pass to sampleapp to redirect the response back to UI
+    this.fisFingerprintService.emit(`message`, message)
   }
 }

+ 5 - 0
apps/fis-fingerprint/src/fis-fingerprint.service.ts

@@ -20,4 +20,9 @@ export class FisFingerprintService {
     this.verificationClient.emit(`message`, message)
   }
 
+  emit(event: string, message: any): void {
+    this.logger.log(`Sending response back to Main`)
+    this.sampleAppClient.emit(event, message)
+  }
+
 }  

+ 2 - 1
apps/fis-verification/src/fis-verification.service.ts

@@ -47,7 +47,8 @@ export class FisVerificationService {
             }
           }
         }
-        this.fingerprintClient.emit(`message`, response)
+        console.log(`Sending back to fingerpint nest`)
+        this.fingerprintClient.emit(`verification`, response)
       }
 
       if (message.operation == `Registration` && message.status == `Success`) {

+ 5 - 2
apps/sample-app/src/sample-app.controller.ts

@@ -1,6 +1,8 @@
 import { Body, Controller, Get, Post } from '@nestjs/common';
 import { SampleAppService } from './sample-app.service';
 import { EventPattern } from '@nestjs/microservices';
+import { SampleEventsGateway } from './sample-app.gateway';
+import { FisMessage } from 'libs';
 
 @Controller()
 export class SampleAppController {
@@ -22,7 +24,8 @@ export class SampleAppController {
   }
 
   @EventPattern(`message`)
-  sayHello(data: string): void {
-    console.log(data)
+  sayHello(data: FisMessage): void {
+    // console.log(data.data)
+    this.sampleAppService.emitFpResponse(data)
   }
 }

+ 11 - 2
apps/sample-app/src/sample-app.gateway.ts

@@ -1,10 +1,11 @@
 import { Inject, Injectable, Logger } from '@nestjs/common';
 import { ClientProxy } from '@nestjs/microservices';
 import { ConnectedSocket, MessageBody, OnGatewayConnection, OnGatewayDisconnect, SubscribeMessage, WebSocketGateway, WebSocketServer, WsResponse, } from '@nestjs/websockets';
-import { from, Observable } from 'rxjs';
+import { from, Observable, Subject } from 'rxjs';
 import { map } from 'rxjs/operators';
 import { Server, Socket } from 'socket.io';
 import { SampleAppService } from './sample-app.service';
+import { FisMessage } from 'libs';
 
 @WebSocketGateway({
     cors: {
@@ -17,8 +18,12 @@ export class SampleEventsGateway implements OnGatewayConnection, OnGatewayDiscon
     server!: Server;
     logger: Logger = new Logger(`SampleEventGateway`)
 
+    private messageResponseSubject: Subject<FisMessage> = new Subject()
+
     constructor(private readonly service: SampleAppService) {
         // logic here
+        this.service.getFingerprintMessages().subscribe(message => this.messageResponseSubject.next(message));
+        this.service.getFingerprintMessages().subscribe(message => console.log(message));
     }
 
     @SubscribeMessage('test')
@@ -27,10 +32,14 @@ export class SampleEventsGateway implements OnGatewayConnection, OnGatewayDiscon
     }
 
     @SubscribeMessage('message')
-    handleMesage(@MessageBody() data: string, @ConnectedSocket() client: Socket): void {
+    handleMesage(@MessageBody() data: string, @ConnectedSocket() client: Socket): Observable<WsResponse<FisMessage>> {
         // console.log(data)
         this.logger.log(`Received data from ${client.id}`)
         this.service.emit(data)
+
+        return this.messageResponseSubject.asObservable().pipe(
+            map(data => ({ event: `message`, data: data }))
+        )
     }
 
     // this two methods are non essential. as they are used to keep track of the local ui port 3000, not keeping track of the actual clients 

+ 11 - 0
apps/sample-app/src/sample-app.service.ts

@@ -1,8 +1,11 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { ClientProxy } from '@nestjs/microservices';
+import { FisMessage } from 'libs';
+import { Observable, Subject } from 'rxjs';
 
 @Injectable()
 export class SampleAppService {
+  private fingerprintMessage: Subject<FisMessage> = new Subject()
 
   constructor(
     @Inject(`FINGERPRINT_SERVICE`) private fingerprintClient: ClientProxy,
@@ -25,4 +28,12 @@ export class SampleAppService {
   emit(data: any): void {
     this.fingerprintClient.emit(`message`, data)
   }
+
+  getFingerprintMessages(): Observable<FisMessage> {
+    return this.fingerprintMessage.asObservable()
+  }
+
+  emitFpResponse(message: FisMessage): void {
+    this.fingerprintMessage.next(message)
+  }
 }

+ 1 - 1
libs/java/FingerprintDataVerification

@@ -1 +1 @@
-Subproject commit e33fa7b3aa05f1bf3b8eb1537e1ac0e3802e1258
+Subproject commit 66446460b91c5187bc238c01b0b61c967b6a1dc8