Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Enums som gør det nemmere at lave NAPMessages indholdende data. Følgende er et eksempel på, hvordan der sendes en fejlbesked.

Code Block
languagejs

import {NAPMessage, NAPEventCatalogue, FHIRValueSetter} from 'nap-typescript-sdk';
import { v4 as UUID } from 'uuid';

export const napMessageSessionError: NAPMessage = {
  date: new Date().toISOString(),
  id: 'Secret ID for Session Error',
  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

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-sdk. Et eksempel for implementing af nap-angular-sdk til at få SAMLassertion kunne se således ud :

Code Block
languagejs
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 Mangler link til kodehttps://svn.nspop.dk/svn/components/nap/nap-reference-web/trunk/.

Nap-react-sdk

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-sdket. Et eksempel for implementing af nap-react-sdk til at vise og sende beskeder kunne se således ud:

...