Page History
...
| Code Block | ||
|---|---|---|
| ||
export class AuthService {
private sessionMessageSubject = new BehaviorSubject<NAPMessage | undefined>(
undefined
);
/**
* The current session
*
* @memberof AuthService
*/
public session$ = this.sessionMessageSubject.asObservable();
constructor(private napSDK: NapAngularService) {
this.napSDK.incomming$incoming$
.pipe(
filterEvents([
NAPEventCatalogue.v1.SessionOpen,
NAPEventCatalogue.v1.SessionClose,
])
)
.subscribe((napMessage) => {
if (napMessage.event.type === NAPEventCatalogue.v1.SessionOpen) {
this.sessionMessageSubject.next(napMessage);
} else {
this.sessionMessageSubject.next(undefined);
}
});
const napMsg: NAPMessage = {
date: new Date().toISOString(),
id: UUID(),
event: { type: NAPEventCatalogue.v1.SessionOpen },
};
// Ask for the SAMLassertion in host
this.napSDK.sendMessage(napMsg);
}
/**
* Tricker logout event
*/
logout(): void {
this.sessionMessageSubject.next(undefined);
const napMsg: NAPMessage = {
date: new Date().toISOString(),
id: UUID(),
event: { type: NAPEventCatalogue.v1.SessionClose },
};
this.napSDK.sendMessage(napMsg);
}
} |
...
| Code Block |
|---|
constructor(
private napSDK: NapAngularService,
private appointmentService: AppointmentService,
private authService: AuthService
) {
const napMsg: NAPMessage = {
date: new Date().toISOString(),
id: UUID(),
event: {
type: NAPEventCatalogue.v1.PatientOpen,
},
};
this.napSDK.sendMessage(napMsg);
}
public currentPatient$: Observable<NAPPatientInfo | undefined> = this.napSDK.incomming$incoming$.pipe(
filterEvent(NAPEventCatalogue.v1.PatientOpen),
map(message => FHIRValueGetter.getPatientInfo(message))
); |
...