diff --git a/@types/lib/metadataTypes/Journey.d.ts.map b/@types/lib/metadataTypes/Journey.d.ts.map index 084f61f46..fdb58ff7f 100644 --- a/@types/lib/metadataTypes/Journey.d.ts.map +++ b/@types/lib/metadataTypes/Journey.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Journey.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/Journey.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Journey.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/Journey.js"],"names":[],"mappings":";uBAea,OAAO,wBAAwB,EAAE,QAAQ;0BACzC,OAAO,wBAAwB,EAAE,WAAW;8BAC5C,OAAO,wBAAwB,EAAE,eAAe;+BAChD,OAAO,wBAAwB,EAAE,gBAAgB;mCACjD,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;8BACpD,OAAO,wBAAwB,EAAE,eAAe;iCAChD,OAAO,wBAAwB,EAAE,kBAAkB;gCACnD,OAAO,wBAAwB,EAAE,iBAAiB;0BAClD,OAAO,wBAAwB,EAAE,WAAW;AAVzD;;;;;;;;;;;GAWG;AAEH;;;;;;;;GAQG;AACH;IACI;;;;;;;;OAQG;IACH,6BANW,MAAM,MACN,IAAI,GAAG,MAAM,EAAE,OACf,IAAI,GAAG,MAAM,EAAE,QACf,MAAM,GACJ,OAAO,CAAE,kBAAkB,CAAC,CA+JxC;IAiJD;;;;;OAKG;IACH,wBAHW,gBAAgB,gBAS1B;IAED;;;;;OAKG;IACH,wBAHW,gBAAgB,gBAK1B;IAmBD;;;;OAIG;IACH,2CAFW,eAAe,iBAmBzB;IAED;;;;;OAKG;IACH,mCAHW,gBAAgB,GACd,OAAO,CAAE,gBAAgB,CAAC,CAwMtC;IAED;;;;;OAKG;IACH,6CA0lBC;IAED;;;;;;OAMG;IACH,gCAHW,gBAAgB,GACd,OAAO,CAAE,gBAAgB,CAAC,CA0JtC;IAED;;;;;OAKG;IACH,0CA2OC;IA8MD;;;;OAIG;IACH,sCAFW,eAAe,iBAuCzB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,EAAE,GACN,OAAO,CAAE,MAAM,EAAE,CAAC,CA4R9B;IAED;;;;;;;;;OASG;IACH,sCAPW,MAAM,OACN,MAAM,QACN,MAAM,WACN,OAAO,eAAe,EAAE,OAAO,UAC/B,MAAM,GACJ,OAAO,CAAE,MAAM,CAAC,CAiD5B;IAED;;;;OAIG;IACH,2CAFW;QAAC,MAAM,EAAC,MAAM,CAAC;QAAC,MAAM,QAAO;QAAC,QAAQ,QAAM;KAAC,QAgCvD;IAED;;;;;OAKG;IACH,wBAHW,MAAM,EAAE,GACN,OAAO,CAAE,MAAM,EAAE,CAAC,CAsJ9B;IAySD;;;;;OAKG;IACH,uBAHW,MAAM,EAAE,GACN,OAAO,CAAE,MAAM,EAAE,CAAC,CAkI9B;IACD;;;;;;OAMG;IACH,yBAJW,MAAM,gBACN,kBAAkB,GAChB,OAAO,CAAE,OAAO,CAAC,CAqB7B;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA9zFwB,mBAAmB"} \ No newline at end of file diff --git a/@types/lib/util/cache.d.ts b/@types/lib/util/cache.d.ts index 073f3a5cd..828c84229 100644 --- a/@types/lib/util/cache.d.ts +++ b/@types/lib/util/cache.d.ts @@ -1,7 +1,7 @@ declare namespace _default { function initCache(buObject: BuObject): void; function getCache(): MultiMetadataTypeMap; - function clearCache(mid?: number): void; + function clearCache(mid?: number, type?: string): void; function getByKey(type: string, key: string): MetadataTypeItem; function setMetadata(type: string, metadataMap: MetadataTypeMap): void; function mergeMetadata(type: string, metadataMap: MetadataTypeMap, overrideMID?: number): void; diff --git a/@types/lib/util/cache.d.ts.map b/@types/lib/util/cache.d.ts.map index b1b6c50b6..45463fceb 100644 --- a/@types/lib/util/cache.d.ts.map +++ b/@types/lib/util/cache.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../lib/util/cache.js"],"names":[],"mappings":";IAqCe,6BAHA,QAAQ,GACN,IAAI,CAahB;IAOS,qBAFG,oBAAoB,CAEI;IAUzB,0BAHD,MAAM,GACJ,IAAI,CAKuD;IAU9D,wBAJC,MAAM,OACN,MAAM,GACJ,gBAAgB,CAEgC;IAShD,2BAJF,MAAM,eACN,eAAe,GACb,IAAI,CAIhB;IAUc,6BALJ,MAAM,eACN,eAAe,gBACf,MAAM,GACJ,IAAI,CAYhB;IAED;;;;;;;;;OASG;IACH,sCAPW,MAAM,eACN,MAAM,GAAC,MAAM,GAAC,OAAO,eACrB,MAAM,eACN,MAAM,gBACN,MAAM,GACJ,MAAM,CAkClB;IAED;;;;;;;OAOG;IACH,qCALW,MAAM,gBACN,MAAM,iBACN,OAAO,GACL,MAAM,CA0BlB;IAED;;;;;;;OAOG;IACH,sCAJW,MAAM,eACN,UAAU,GAAC,IAAI,GAAC,aAAa,GAC3B,MAAM,CA8BlB;IAED;;;;;;;OAOG;IACH,uCAJW,MAAM,eACN,UAAU,GAAC,IAAI,GAAC,aAAa,GAAC,UAAU,GACtC,MAAM,CA2BlB;;;yBAjQQ,OAAO,wBAAwB,EAAE,UAAU;uBAC3C,OAAO,wBAAwB,EAAE,QAAQ;oBACzC,OAAO,wBAAwB,EAAE,KAAK;0BACtC,OAAO,wBAAwB,EAAE,WAAW;8BAC5C,OAAO,wBAAwB,EAAE,eAAe;2BAChD,OAAO,wBAAwB,EAAE,YAAY;sBAC7C,OAAO,wBAAwB,EAAE,OAAO;+BACxC,OAAO,wBAAwB,EAAE,gBAAgB;mCACjD,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;8BACpD,OAAO,wBAAwB,EAAE,eAAe;iCAChD,OAAO,wBAAwB,EAAE,kBAAkB;oCACnD,OAAO,wBAAwB,EAAE,qBAAqB;mCACtD,OAAO,wBAAwB,EAAE,oBAAoB;gCACrD,OAAO,wBAAwB,EAAE,iBAAiB;0BAClD,OAAO,wBAAwB,EAAE,WAAW;2BAC5C,OAAO,wBAAwB,EAAE,YAAY;uBAE7C,OAAO,wBAAwB,EAAE,QAAQ;sBACzC,OAAO,wBAAwB,EAAE,OAAO"} \ No newline at end of file +{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../lib/util/cache.js"],"names":[],"mappings":";IAqCe,6BAHA,QAAQ,GACN,IAAI,CAahB;IAOS,qBAFG,oBAAoB,CAEI;IAWzB,0BAJD,MAAM,SACN,MAAM,GACJ,IAAI,CASuD;IAU9D,wBAJC,MAAM,OACN,MAAM,GACJ,gBAAgB,CAEgC;IAShD,2BAJF,MAAM,eACN,eAAe,GACb,IAAI,CAIhB;IAUc,6BALJ,MAAM,eACN,eAAe,gBACf,MAAM,GACJ,IAAI,CAYhB;IAED;;;;;;;;;OASG;IACH,sCAPW,MAAM,eACN,MAAM,GAAC,MAAM,GAAC,OAAO,eACrB,MAAM,eACN,MAAM,gBACN,MAAM,GACJ,MAAM,CAkClB;IAED;;;;;;;OAOG;IACH,qCALW,MAAM,gBACN,MAAM,iBACN,OAAO,GACL,MAAM,CA0BlB;IAED;;;;;;;OAOG;IACH,sCAJW,MAAM,eACN,UAAU,GAAC,IAAI,GAAC,aAAa,GAC3B,MAAM,CA8BlB;IAED;;;;;;;OAOG;IACH,uCAJW,MAAM,eACN,UAAU,GAAC,IAAI,GAAC,aAAa,GAAC,UAAU,GACtC,MAAM,CA2BlB;;;yBAtQQ,OAAO,wBAAwB,EAAE,UAAU;uBAC3C,OAAO,wBAAwB,EAAE,QAAQ;oBACzC,OAAO,wBAAwB,EAAE,KAAK;0BACtC,OAAO,wBAAwB,EAAE,WAAW;8BAC5C,OAAO,wBAAwB,EAAE,eAAe;2BAChD,OAAO,wBAAwB,EAAE,YAAY;sBAC7C,OAAO,wBAAwB,EAAE,OAAO;+BACxC,OAAO,wBAAwB,EAAE,gBAAgB;mCACjD,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;8BACpD,OAAO,wBAAwB,EAAE,eAAe;iCAChD,OAAO,wBAAwB,EAAE,kBAAkB;oCACnD,OAAO,wBAAwB,EAAE,qBAAqB;mCACtD,OAAO,wBAAwB,EAAE,oBAAoB;gCACrD,OAAO,wBAAwB,EAAE,iBAAiB;0BAClD,OAAO,wBAAwB,EAAE,WAAW;2BAC5C,OAAO,wBAAwB,EAAE,YAAY;uBAE7C,OAAO,wBAAwB,EAAE,QAAQ;sBACzC,OAAO,wBAAwB,EAAE,OAAO"} \ No newline at end of file diff --git a/lib/metadataTypes/Journey.js b/lib/metadataTypes/Journey.js index 56b29d38c..8de2fa76c 100644 --- a/lib/metadataTypes/Journey.js +++ b/lib/metadataTypes/Journey.js @@ -2110,6 +2110,9 @@ class Journey extends MetadataType { if (transactionalKeyArr.length) { executedKeyArr.push(...transactionalKeyArr); + // reset transactionalEmail cache to trigger re-caching it. + cache.clearCache(this.buObject.mid, 'transactionalEmail'); + Util.logger.info('Retrieving relevant journeys'); const retriever = new Retriever(this.properties, this.buObject); diff --git a/lib/util/cache.js b/lib/util/cache.js index e66b2d1d2..842d4fd2a 100644 --- a/lib/util/cache.js +++ b/lib/util/cache.js @@ -60,12 +60,17 @@ export default { /** * clean cache for one BU if mid provided, otherwise whole cache * - * @param {number} [mid] of business unit + * @param {number} [mid] limit clearing to provided business unit MID + * @param {string} [type] optionally limit clearing to specific metadata type; only used if mid is provided * @returns {void} */ - clearCache: (mid) => + clearCache: (mid, type) => mid - ? Object.keys(dataStore[mid]).forEach((key) => delete dataStore[mid][key]) + ? Object.keys(dataStore[mid]).forEach((key) => { + if (!type || type === key) { + delete dataStore[mid][key]; + } + }) : Object.keys(dataStore).forEach((key) => delete dataStore[key]), /* eslint-enable unicorn/no-array-for-each */ diff --git a/test/resources/9999999/transactionalEmail/get-published-expected.json b/test/resources/9999999/transactionalEmail/get-published-expected.json new file mode 100644 index 000000000..099ebf484 --- /dev/null +++ b/test/resources/9999999/transactionalEmail/get-published-expected.json @@ -0,0 +1,20 @@ +{ + "createdDate": "2024-08-23T02:01:00", + "definitionKey": "testExisting_temail_notPublished", + "description": "testExisting_temail_notPublis - 754cc4a10da14f538ecbd5470d771eaf", + "modifiedDate": "2024-08-23T02:01:00", + "name": "testExisting_temail_notPublis - 754cc4a10da14f538ecbd5470d771eaf", + "options": { + "trackLinks": true + }, + "r__asset_key": "testExisting_asset_message", + "r__journey_key": "testExisting_temail_notPublished", + "r__sendClassification_key": "Default Transactional", + "status": "Active", + "subscriptions": { + "autoAddSubscriber": true, + "r__dataExtension_key": "testExisting_temail_notPublished", + "r__list_PathName": "my subscribers/All Subscribers", + "updateSubscriber": true + } +} diff --git a/test/type.journey.test.js b/test/type.journey.test.js index 25286b81f..293125d2f 100644 --- a/test/type.journey.test.js +++ b/test/type.journey.test.js @@ -595,7 +595,7 @@ describe('type: journey', () => { 'post', '/interaction/v1/interactions/transactional/create' ); - // confirm created item + // confirm callouts assert.deepEqual( publishCallout, { @@ -604,6 +604,16 @@ describe('type: journey', () => { 'publish-payload JSON was not equal expected' ); + // confirm transactionalEmail was downloaded + assert.deepEqual( + await testUtils.getActualJson( + 'testExisting_temail_notPublished', + 'transactionalEmail' + ), + await testUtils.getExpectedJson('9999999', 'transactionalEmail', 'get-published'), + 'returned JSON was not equal expected' + ); + assert.equal( testUtils.getAPIHistoryLength(), 35,