{"version":3,"file":"consentManagersToBusinessEntities-rf8_xu71.mjs","names":[],"sources":["../src/lib/consent-manager/consentManagersToBusinessEntities.ts"],"sourcesContent":["import { BusinessEntityInput, ConsentManagerInput } from '../../codecs.js';\nimport { logger } from '../../logger.js';\n\n/**\n * Combine multiple consent manager configurations into a list of business entity configurations\n *\n * @param inputs - Consent manager configurations to combine\n * @returns Business entity configuration input\n */\nexport function consentManagersToBusinessEntities(\n  inputs: {\n    /** Name of business entity */\n    name: string;\n    /** Consent manager input */\n    input?: ConsentManagerInput;\n  }[],\n): BusinessEntityInput[] {\n  // Construct the business entities YAML definition\n  const businessEntities = inputs.map(\n    ({ name, input }): BusinessEntityInput => ({\n      // Title of Transcend Instance\n      title: name.replace('.yml', ''),\n      attributes: [\n        // Sync domain list\n        ...(input?.domains\n          ? [\n              {\n                key: 'Transcend Domain List',\n                values: [...new Set(input.domains)],\n              },\n            ]\n          : []),\n        // Sync bundle URLs\n        ...(input?.bundleUrls\n          ? [\n              {\n                key: 'Airgap Production URL',\n                values: [input.bundleUrls.PRODUCTION],\n              },\n              {\n                key: 'Airgap Test URL',\n                values: [input.bundleUrls.TEST],\n              },\n              {\n                key: 'Airgap XDI URL',\n                values: [input.bundleUrls.PRODUCTION.replace('airgap.js', 'xdi.js')],\n              },\n            ]\n          : []),\n        // Sync partition keys\n        ...(input?.partition\n          ? [\n              {\n                key: 'Consent Partition Key',\n                values: [input.partition],\n              },\n            ]\n          : []),\n      ],\n    }),\n  );\n\n  // Log out info on airgap scripts to host\n  logger.info('\\n\\n~~~~~~~~~~~\\nAirgap scripts to host:');\n  businessEntities.forEach(({ attributes, title }, ind) => {\n    attributes\n      ?.find((attr) => attr.key === 'Airgap Production URL')\n      ?.values?.forEach((url) => {\n        logger.info(`${ind}) ${title} - ${url}`);\n      });\n  });\n\n  return businessEntities;\n}\n"],"mappings":"0CASA,SAAgB,EACd,EAMuB,CAEvB,IAAM,EAAmB,EAAO,KAC7B,CAAE,OAAM,YAAkC,CAEzC,MAAO,EAAK,QAAQ,OAAQ,GAAG,CAC/B,WAAY,CAEV,GAAI,GAAO,QACP,CACE,CACE,IAAK,wBACL,OAAQ,CAAC,GAAG,IAAI,IAAI,EAAM,QAAQ,CAAC,CACpC,CACF,CACD,EAAE,CAEN,GAAI,GAAO,WACP,CACE,CACE,IAAK,wBACL,OAAQ,CAAC,EAAM,WAAW,WAAW,CACtC,CACD,CACE,IAAK,kBACL,OAAQ,CAAC,EAAM,WAAW,KAAK,CAChC,CACD,CACE,IAAK,iBACL,OAAQ,CAAC,EAAM,WAAW,WAAW,QAAQ,YAAa,SAAS,CAAC,CACrE,CACF,CACD,EAAE,CAEN,GAAI,GAAO,UACP,CACE,CACE,IAAK,wBACL,OAAQ,CAAC,EAAM,UAAU,CAC1B,CACF,CACD,EAAE,CACP,CACF,EACF,CAYD,OATA,EAAO,KAAK;;;yBAA2C,CACvD,EAAiB,SAAS,CAAE,aAAY,SAAS,IAAQ,CACvD,GACI,KAAM,GAAS,EAAK,MAAQ,wBAAwB,EACpD,QAAQ,QAAS,GAAQ,CACzB,EAAO,KAAK,GAAG,EAAI,IAAI,EAAM,KAAK,IAAM,EACxC,EACJ,CAEK"}