{"version":3,"file":"updateConsentManagerVersionToLatest-Cf2rsNx6.mjs","names":[],"sources":["../src/lib/consent-manager/updateConsentManagerVersionToLatest.ts"],"sourcesContent":["import { ConsentBundleType } from '@transcend-io/privacy-types';\nimport {\n  buildTranscendGraphQLClient,\n  deployConsentManager,\n  fetchConsentManagerId,\n  updateConsentManagerToLatest,\n} from '@transcend-io/sdk';\nimport { mapSeries } from '@transcend-io/utils';\nimport colors from 'colors';\n\nimport { DEFAULT_TRANSCEND_API } from '../../constants.js';\nimport { logger } from '../../logger.js';\n\n/**\n * Update the consent manager to latest version\n *\n * @param options - Options\n */\nexport async function updateConsentManagerVersionToLatest({\n  auth,\n  deploy = false,\n  transcendUrl = DEFAULT_TRANSCEND_API,\n  bundleTypes = Object.values(ConsentBundleType),\n}: {\n  /** Transcend API key authentication */\n  auth: string;\n  /** API URL for Transcend backend */\n  transcendUrl?: string;\n  /** Deploy consent manager with this update */\n  deploy?: boolean;\n  /** The bundle types to update and deploy */\n  bundleTypes?: ConsentBundleType[];\n}): Promise<void> {\n  // Find all requests made before createdAt that are in a removing data state\n  const client = buildTranscendGraphQLClient(transcendUrl, auth);\n\n  // Grab Consent Manager ID\n  const consentManagerId = await fetchConsentManagerId(client, { logger });\n\n  // Update each bundle type to latest version\n  await mapSeries(bundleTypes, async (bundleType) => {\n    logger.info(\n      colors.magenta(\n        `Update Consent Manager bundle with ID \"${consentManagerId}\" and type \"${bundleType}\" to latest version...`,\n      ),\n    );\n    await updateConsentManagerToLatest(client, {\n      input: {\n        id: consentManagerId,\n        bundleType,\n      },\n      logger,\n    });\n    logger.info(\n      colors.green(\n        `Updated Consent Manager bundle with ID \"${consentManagerId}\" and type \"${bundleType}\" to latest version!`,\n      ),\n    );\n  });\n\n  // deploy Consent Managers\n  if (deploy) {\n    // Update each bundle type to latest version\n    await mapSeries(bundleTypes, async (bundleType) => {\n      logger.info(\n        colors.magenta(\n          `Deploying Consent Manager bundle with ID \"${consentManagerId}\" and type \"${bundleType}\"...`,\n        ),\n      );\n      await deployConsentManager(\n        client,\n        {\n          id: consentManagerId,\n          bundleType,\n        },\n        { logger },\n      );\n      logger.info(\n        colors.green(\n          `Deployed Consent Manager bundle with ID \"${consentManagerId}\" and type \"${bundleType}\"!`,\n        ),\n      );\n    });\n  }\n}\n"],"mappings":"+WAkBA,eAAsB,EAAoC,CACxD,OACA,SAAS,GACT,eAAe,EACf,cAAc,OAAO,OAAO,EAAkB,EAU9B,CAEhB,IAAM,EAAS,EAA4B,EAAc,EAAK,CAGxD,EAAmB,MAAM,EAAsB,EAAQ,CAAE,SAAQ,CAAC,CAGxE,MAAM,EAAU,EAAa,KAAO,IAAe,CACjD,EAAO,KACL,EAAO,QACL,0CAA0C,EAAiB,cAAc,EAAW,wBACrF,CACF,CACD,MAAM,EAA6B,EAAQ,CACzC,MAAO,CACL,GAAI,EACJ,aACD,CACD,SACD,CAAC,CACF,EAAO,KACL,EAAO,MACL,2CAA2C,EAAiB,cAAc,EAAW,sBACtF,CACF,EACD,CAGE,GAEF,MAAM,EAAU,EAAa,KAAO,IAAe,CACjD,EAAO,KACL,EAAO,QACL,6CAA6C,EAAiB,cAAc,EAAW,MACxF,CACF,CACD,MAAM,EACJ,EACA,CACE,GAAI,EACJ,aACD,CACD,CAAE,SAAQ,CACX,CACD,EAAO,KACL,EAAO,MACL,4CAA4C,EAAiB,cAAc,EAAW,IACvF,CACF,EACD"}