index.js 837 B

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