Page History
...
På baggrund af følgende guides, er det muligt at komme hurtigt i gang anvendelsen af SDKerne.
Nap-typescript-sdk
Nap-typescript-sdk er den basale SDK. Den udstiller en række metoder og interfaces som vil blive beskrevet i følgende:
...
| Code Block | ||
|---|---|---|
| ||
import {NAPMessage, NAPEventCatalogue, FHIRValueSetter} from 'nap-typescript-sdk';
import { v4 as UUID } from 'uuid';
const napMessageSessionError: NAPMessage = {
date: new Date().toISOString(),
id: UUID(),
event: {
type: NAPEventCatalogue.v1.SessionError,
context: [
{
resource: {
resourceType: FHIRValueSetter.FHIRResourceType.Basic,
code: {
coding: [
{
code: NAPEventCatalogue.v1.SessionError,
system: FHIRValueSetter.FHIRSystem.NAP,
},
],
},
identifier: [
{
system: FHIRValueSetter.FHIRIdentifierSystem.NAPErrorMessage,
value: 'This is my error message',
},
{
system: FHIRValueSetter.FHIRIdentifierSystem.NAPErrorDescription,
value: 'This is a longere description of the error message',
},
],
},
},
],
},
};
NapTypescriptSdk.send(napMessageSessionError) |
Nap-angular-sdk
Hvis du ønsker bruge Angular som udviklingsværktøj er dette SDK smartere at bruge, da det sørger for håndtering Angulars change detection zone for dig.
Da nap-angular-sdk er en angular specifik wrapper af broen, som initialiseres i nap-typescript-sdk, har den en peer dependency til nap-typescript-sdkhertil. Et eksempel for
Eksempel på implementing af nap-angular-sdk
Følgende eksempel sender en Session-Open besked og får en SAMLassertion tilbage til at få SAMLassertion kunne se således ud :
| Code Block | ||
|---|---|---|
| ||
import { NapAngularService } from 'nap-angular-sdk';
import { filterEvents, NAPEventCatalogue, NAPMessage } from 'nap-typescript-sdk';
import { v4 as UUID } from 'uuid';
import { NapAngularService } from 'nap-angular-sdk';
import { filterEvents, NAPEventCatalogue, NAPMessage } from 'nap-typescript-sdk';
import { shareReplay } from 'rxjs/operators';
import { v4 as UUID } from 'uuid';
export class MyComponent {
// proxy for SAMLAssertion
public session$: Observable<NAPMessage | undefined> =
this.napSDK.incomming$.pipe(
filterEvents([NAPEventCatalogue.v1.SessionOpen, NAPEventCatalogue.v1.SessionClose]),
);
constructor(private napSK: NapAngularService) {
//Construct an SessionOpen NAPMessage
const napMsg: NAPMessage = {
date: new Date().toISOString(),
id: UUID(),
event: { type: NAPEventCatalogue.v1.SessionOpen },
};
// Ask for the SAMLassertion in host
this.napSDK.sendMessage(napMsg);
}
} |
...
Fuld implementation af eventkataloget ses i nap-reference-web her https://svn.nspop.dk/svn/components/nap/nap-reference-web/trunk/.
Nap-react-sdk
Hvis du ønsker bruge React som udviklingsværktøj er dette SDK smartere at bruge, da det sørger for håndtering state for dig.
Da nap-react-sdk er en react specifik wrapper af broen, som initialiseres i nap-typescript-sdk, har den en peer dependency til nap-typescript-sdkethertil. Et eksempel for
Eksempel på implementing af nap-react-sdk
Følgende eksempel til at vise og sende beskeder kunne se således ud:
...