index.js 647 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. const { parseXML } = require('../parser');
  3. const { parse: parseCreatePartyRegistration } = require('./create-party-registration');
  4. const { parse: parseQueryRegistration } = require('./query-registration');
  5. async function parse(input) {
  6. const json = await parseXML(input);
  7. const o = json['oadrPayload']['$$']['oadrSignedObject'][0]['$$'];
  8. if (o['oadrCreatePartyRegistration']) {
  9. return await parseCreatePartyRegistration(input);
  10. }
  11. if (o['oadrQueryRegistration']) {
  12. return await parseQueryRegistration(input);
  13. }
  14. throw new Error(`Unexpected payload type: ${Object.keys(o)}`);
  15. }
  16. module.exports = {
  17. parse
  18. };