New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@basetime/bldr-sfmc-sdk

Package Overview
Dependencies
Maintainers
2
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@basetime/bldr-sfmc-sdk - npm Package Compare versions

Comparing version 1.1.5-beta.10 to 1.1.5-beta.11

4

dist/cli/automationStudio/index.d.ts

@@ -117,5 +117,3 @@ import { SFMC_Automation } from '../types/bldr_assets/sfmc_automation';

*/
gatherAutomationActivityDependencies: (automationDefinitions: any[]) => Promise<{
[key: string]: any;
}>;
gatherAutomationActivityDependencies: (automationDefinitions: any[]) => Promise<any>;
/**

@@ -122,0 +120,0 @@ * Method to search Automation Studio Activity Endpoint

@@ -241,2 +241,3 @@ "use strict";

(yield this.gatherAutomationActivityDependencies(formattedAutomationDefinitions));
console.log(JSON.stringify(formattedAutomationDependencies.emailStudio, null, 2));
return {

@@ -302,97 +303,131 @@ folders: formattedFolders || [],

this.gatherAutomationActivityDependencies = (automationDefinitions) => __awaiter(this, void 0, void 0, function* () {
const formattedAutomationDependencies = {
automationStudio: [],
contentBuilder: [],
emailStudio: [],
};
for (const a in automationDefinitions) {
const definition = automationDefinitions[a];
const assetType = definition &&
typeof definition === 'object' &&
definition.assetType;
const assetTypeName = assetType && assetType.name;
let assetIdKey;
let DECustomerKey;
let findDECustomerKey;
let dataExtensionAssetResponse;
let dataExtensionAssetResponseStatus;
let customerKey;
switch (assetTypeName) {
case 'userinitiatedsend':
const legacyId = definition && definition.Email && definition.Email.ID;
const emailAssetResponse = legacyId &&
(yield this.contentBuilder.gatherAssetById(legacyId, true));
emailAssetResponse &&
emailAssetResponse.assets &&
formattedAutomationDependencies &&
typeof formattedAutomationDependencies === 'object' &&
Object.prototype.hasOwnProperty.call(formattedAutomationDependencies, 'contentBuilder') &&
(formattedAutomationDependencies === null || formattedAutomationDependencies === void 0 ? void 0 : formattedAutomationDependencies.contentBuilder) &&
Array.isArray(formattedAutomationDependencies.contentBuilder) &&
formattedAutomationDependencies.contentBuilder.push(emailAssetResponse);
case 'dataextractactivity':
case 'importactivity':
case 'queryactivity':
if (assetTypeName === 'dataextractactivity') {
findDECustomerKey = definition.dataFields.find((dataField) => dataField.name === 'DECustomerKey');
customerKey =
findDECustomerKey && findDECustomerKey.value;
}
else if (assetTypeName === 'importactivity') {
findDECustomerKey =
yield this.emailStudio.searchDataExtensions({
searchKey: 'ObjectID',
searchTerm: definition.destinationObjectId,
});
customerKey =
try {
const formattedAutomationDependencies = {
automationStudio: [],
contentBuilder: [],
emailStudio: [],
};
for (const a in automationDefinitions) {
const definition = automationDefinitions[a];
const assetType = definition &&
typeof definition === 'object' &&
definition.assetType;
const assetTypeName = assetType && assetType.name;
let assetIdKey;
let DECustomerKey;
let findDECustomerKey;
let dataExtensionAssetResponse;
let dataExtensionAssetResponseStatus;
let customerKeyArr = [];
switch (assetTypeName) {
case 'userinitiatedsend':
console.log({
definition: definition.SendDefinitionList,
});
const legacyId = definition &&
definition.Email &&
definition.Email.ID;
const emailAssetResponse = legacyId &&
(yield this.contentBuilder.gatherAssetById(legacyId, true));
emailAssetResponse &&
emailAssetResponse.assets &&
formattedAutomationDependencies &&
typeof formattedAutomationDependencies ===
'object' &&
Object.prototype.hasOwnProperty.call(formattedAutomationDependencies, 'contentBuilder') &&
(formattedAutomationDependencies === null || formattedAutomationDependencies === void 0 ? void 0 : formattedAutomationDependencies.contentBuilder) &&
Array.isArray(formattedAutomationDependencies.contentBuilder) &&
formattedAutomationDependencies.contentBuilder.push(emailAssetResponse);
case 'dataextractactivity':
case 'importactivity':
case 'userinitiatedsend':
case 'queryactivity':
if (assetTypeName === 'dataextractactivity') {
findDECustomerKey = definition.dataFields.find((dataField) => dataField.name === 'DECustomerKey');
findDECustomerKey &&
findDECustomerKey.value &&
customerKeyArr.push(findDECustomerKey.value);
}
else if (assetTypeName === 'importactivity') {
findDECustomerKey =
yield this.emailStudio.searchDataExtensions({
searchKey: 'ObjectID',
searchTerm: definition.destinationObjectId,
});
findDECustomerKey &&
Array.isArray(findDECustomerKey) &&
findDECustomerKey.length === 1 &&
findDECustomerKey[0].CustomerKey;
}
else if (assetTypeName === 'queryactivity') {
customerKey = definition && definition.targetKey;
}
else if (assetTypeName === 'userinitiatedsend') {
console.log({
List: definition.SendDefinitionList.List,
});
}
dataExtensionAssetResponse =
customerKey &&
(yield this.emailStudio.gatherAssetById(customerKey, true));
dataExtensionAssetResponseStatus =
dataExtensionAssetResponse &&
dataExtensionAssetResponse.status;
if (dataExtensionAssetResponseStatus &&
dataExtensionAssetResponseStatus === 'error') {
dataExtensionAssetResponse =
yield this.emailStudio.gatherAssetById(customerKey, true, true);
}
dataExtensionAssetResponse &&
dataExtensionAssetResponse.assets &&
formattedAutomationDependencies.emailStudio.push(dataExtensionAssetResponse);
break;
findDECustomerKey[0].CustomerKey &&
customerKeyArr.push(findDECustomerKey[0].CustomerKey);
}
else if (assetTypeName === 'queryactivity') {
definition &&
definition.targetKey &&
customerKeyArr.push(definition.targetKey);
}
else if (assetTypeName === 'userinitiatedsend') {
const sendDefinitionList = (definition && definition.SendDefinitionList) ||
[];
const sendDefinitionListIDs = sendDefinitionList &&
sendDefinitionList.length &&
(yield Promise.all(sendDefinitionList.map((sendDefinitionObject) => __awaiter(this, void 0, void 0, function* () {
findDECustomerKey =
yield this.emailStudio.searchDataExtensions({
searchKey: 'ObjectID',
searchTerm: sendDefinitionObject.CustomObjectID,
});
return (findDECustomerKey &&
Array.isArray(findDECustomerKey) &&
findDECustomerKey.length ===
1 &&
findDECustomerKey[0].CustomerKey);
}))));
sendDefinitionListIDs &&
sendDefinitionListIDs.length &&
customerKeyArr.push(...sendDefinitionListIDs);
}
for (const d in customerKeyArr) {
const customerKey = customerKeyArr[d];
let dataExtensionAssetResponse = yield this.emailStudio.gatherAssetById(customerKey, true);
dataExtensionAssetResponseStatus =
dataExtensionAssetResponse &&
dataExtensionAssetResponse.status;
if (dataExtensionAssetResponseStatus &&
dataExtensionAssetResponseStatus === 'error') {
dataExtensionAssetResponse =
yield this.emailStudio.gatherAssetById(customerKey, true, true);
}
formattedAutomationDependencies.emailStudio.push(dataExtensionAssetResponse);
}
break;
}
}
const finalOutput = {};
for (const a in formattedAutomationDependencies) {
const context = a;
const contextDependencies = formattedAutomationDependencies[context];
let assetIdKey = ['contentBuilder'].includes(context)
? 'id'
: ['emailStudio'].includes(context)
? 'objectId'
: null;
const folders = contextDependencies
.map((dep) => dep.folders)
.filter(Boolean);
const assets = contextDependencies
.map((dep) => dep.assets)
.filter(Boolean);
const uniqueAssets = assetIdKey &&
(yield (0, utils_1.uniqueArrayByKey)(assets.flat(), assetIdKey));
const uniqueFolders = yield (0, utils_1.uniqueArrayByKey)(folders.flat(), 'id');
finalOutput[context] = {
folders: uniqueFolders || [],
assets: uniqueAssets || [],
};
}
return finalOutput || {};
}
const finalOutput = {};
for (const a in formattedAutomationDependencies) {
const context = a;
const contextDependencies = formattedAutomationDependencies[context];
let assetIdKey = ['contentBuilder'].includes(context)
? 'id'
: ['emailStudio'].includes(context)
? 'objectId'
: null;
const folders = contextDependencies.map((dep) => dep.folders);
const assets = contextDependencies.map((dep) => dep.assets);
const uniqueAssets = assetIdKey &&
(yield (0, utils_1.uniqueArrayByKey)(assets.flat(), assetIdKey));
const uniqueFolders = yield (0, utils_1.uniqueArrayByKey)(folders.flat(), 'id');
finalOutput[context] = {
folders: uniqueFolders || [],
assets: uniqueAssets || [],
};
catch (err) {
return err;
}
return finalOutput || {};
});

@@ -399,0 +434,0 @@ /**

@@ -174,3 +174,3 @@ "use strict";

return;
return this.sfmc.emailStudio.retrieveDataExtensionPayloadByName(dataExtension.Name, complete, shared);
return (this.sfmc.emailStudio.retrieveDataExtensionPayloadByName(dataExtension.Name, complete, shared) || null);
}))) || [];

@@ -209,3 +209,7 @@ }

let dataExtensionPayload = yield this.sfmc.emailStudio.retrieveDataExtensionPayloadByCustomerKey(customerKey, complete, shared);
const categoryId = dataExtensionPayload.category.categoryId;
if (!dataExtensionPayload) {
throw new Error('Data Extension Not Found');
}
const categoryId = dataExtensionPayload &&
dataExtensionPayload.category.categoryId;
const dataExtensionFolderObject = yield this.sfmc.folder.getFolder({

@@ -249,3 +253,3 @@ contentType: shared ? 'shared_dataextension' : 'dataextension',

status: 'error',
statusMessage: err,
statusMessage: err.message || err,
};

@@ -252,0 +256,0 @@ }

@@ -106,3 +106,3 @@ import { Client } from '../types/sfmc_client';

ObjectID: string;
};
}[];
SendDefinitionListType: number;

@@ -109,0 +109,0 @@ CustomObjectID: string;

@@ -285,17 +285,3 @@ "use strict";

IsSendLogging: result.IsSendLogging,
SendDefinitionList: {
PartnerKey: result.SendDefinitionList.PartnerKey,
ObjectID: result.SendDefinitionList.ObjectID,
List: {
PartnerKey: result.SendDefinitionList.PartnerKey,
ID: result.SendDefinitionList.ID,
ObjectID: result.SendDefinitionList.ObjectID,
},
SendDefinitionListType: result.SendDefinitionList.SendDefinitionListType,
CustomObjectID: result.SendDefinitionList.CustomObjectID,
DataSourceTypeID: result.SendDefinitionList.DataSourceTypeID,
IsTestObject: result.SendDefinitionList.IsTestObject,
SalesForceObjectID: result.SendDefinitionList.SalesForceObjectID,
Name: result.SendDefinitionList.Name,
},
SendDefinitionList: result.SendDefinitionList,
Email: {

@@ -302,0 +288,0 @@ ID: result.Email.ID,

@@ -170,5 +170,6 @@ "use strict";

});
return complete === false
return dataExtension && dataExtension.Results && complete === false
? this.getDataExtensionPayload(dataExtension, shared)
: this.getDataExtensionPayloadComplete(dataExtension, shared);
: this.getDataExtensionPayloadComplete(dataExtension, shared) ||
null;
});

@@ -188,5 +189,6 @@ /**

});
return complete === false
return dataExtension && dataExtension.Results && complete === false
? this.getDataExtensionPayload(dataExtension, shared)
: this.getDataExtensionPayloadComplete(dataExtension, shared);
: this.getDataExtensionPayloadComplete(dataExtension, shared) ||
null;
});

@@ -193,0 +195,0 @@ this.getDataExtensionPayload = (dataExtension, shared = false) => __awaiter(this, void 0, void 0, function* () {

@@ -341,2 +341,9 @@ import { Folder } from '../../sfmc/api/Folder';

console.log(
JSON.stringify(
formattedAutomationDependencies.emailStudio,
null,
2
)
);
return {

@@ -421,151 +428,215 @@ folders: formattedFolders || [],

) => {
const formattedAutomationDependencies: any = {
automationStudio: [],
contentBuilder: [],
emailStudio: [],
};
try {
const formattedAutomationDependencies: any = {
automationStudio: [],
contentBuilder: [],
emailStudio: [],
};
for (const a in automationDefinitions) {
const definition: any = automationDefinitions[a];
const assetType =
definition &&
typeof definition === 'object' &&
definition.assetType;
for (const a in automationDefinitions) {
const definition: any = automationDefinitions[a];
const assetType =
definition &&
typeof definition === 'object' &&
definition.assetType;
const assetTypeName = assetType && assetType.name;
const assetTypeName = assetType && assetType.name;
let assetIdKey: string;
let DECustomerKey: string;
let findDECustomerKey: any;
let dataExtensionAssetResponse;
let dataExtensionAssetResponseStatus;
let customerKey: string | undefined;
switch (assetTypeName) {
case 'userinitiatedsend':
const legacyId =
definition && definition.Email && definition.Email.ID;
let assetIdKey: string;
let DECustomerKey: string;
let findDECustomerKey: any;
let dataExtensionAssetResponse;
let dataExtensionAssetResponseStatus;
let customerKeyArr: string[] = [];
switch (assetTypeName) {
case 'userinitiatedsend':
console.log({
definition: definition.SendDefinitionList,
});
const legacyId =
definition &&
definition.Email &&
definition.Email.ID;
const emailAssetResponse =
legacyId &&
(await this.contentBuilder.gatherAssetById(
legacyId,
true
));
const emailAssetResponse =
legacyId &&
(await this.contentBuilder.gatherAssetById(
legacyId,
true
));
emailAssetResponse &&
emailAssetResponse.assets &&
formattedAutomationDependencies &&
typeof formattedAutomationDependencies === 'object' &&
Object.prototype.hasOwnProperty.call(
formattedAutomationDependencies,
'contentBuilder'
) &&
formattedAutomationDependencies?.contentBuilder &&
Array.isArray(
formattedAutomationDependencies.contentBuilder
) &&
formattedAutomationDependencies.contentBuilder.push(
emailAssetResponse
);
case 'dataextractactivity':
case 'importactivity':
case 'queryactivity':
if (assetTypeName === 'dataextractactivity') {
findDECustomerKey = definition.dataFields.find(
(dataField: {
name: string;
type: string;
value: string;
}) => dataField.name === 'DECustomerKey'
);
emailAssetResponse &&
emailAssetResponse.assets &&
formattedAutomationDependencies &&
typeof formattedAutomationDependencies ===
'object' &&
Object.prototype.hasOwnProperty.call(
formattedAutomationDependencies,
'contentBuilder'
) &&
formattedAutomationDependencies?.contentBuilder &&
Array.isArray(
formattedAutomationDependencies.contentBuilder
) &&
formattedAutomationDependencies.contentBuilder.push(
emailAssetResponse
);
case 'dataextractactivity':
case 'importactivity':
case 'userinitiatedsend':
case 'queryactivity':
if (assetTypeName === 'dataextractactivity') {
findDECustomerKey = definition.dataFields.find(
(dataField: {
name: string;
type: string;
value: string;
}) => dataField.name === 'DECustomerKey'
);
customerKey =
findDECustomerKey && findDECustomerKey.value;
} else if (assetTypeName === 'importactivity') {
findDECustomerKey =
await this.emailStudio.searchDataExtensions({
searchKey: 'ObjectID',
searchTerm: definition.destinationObjectId,
});
customerKey =
findDECustomerKey &&
Array.isArray(findDECustomerKey) &&
findDECustomerKey.length === 1 &&
findDECustomerKey[0].CustomerKey;
} else if (assetTypeName === 'queryactivity') {
customerKey = definition && definition.targetKey;
} else if (assetTypeName === 'userinitiatedsend') {
console.log({
List: definition.SendDefinitionList.List,
});
}
findDECustomerKey.value &&
customerKeyArr.push(findDECustomerKey.value);
} else if (assetTypeName === 'importactivity') {
findDECustomerKey =
await this.emailStudio.searchDataExtensions({
searchKey: 'ObjectID',
searchTerm: definition.destinationObjectId,
});
dataExtensionAssetResponse =
customerKey &&
(await this.emailStudio.gatherAssetById(
customerKey,
true
));
findDECustomerKey &&
Array.isArray(findDECustomerKey) &&
findDECustomerKey.length === 1 &&
findDECustomerKey[0].CustomerKey &&
customerKeyArr.push(
findDECustomerKey[0].CustomerKey
);
} else if (assetTypeName === 'queryactivity') {
definition &&
definition.targetKey &&
customerKeyArr.push(definition.targetKey);
} else if (assetTypeName === 'userinitiatedsend') {
const sendDefinitionList =
(definition && definition.SendDefinitionList) ||
[];
const sendDefinitionListIDs =
sendDefinitionList &&
sendDefinitionList.length &&
(await Promise.all(
sendDefinitionList.map(
async (sendDefinitionObject: {
PartnerKey: string;
ObjectID: string;
SendDefinitionListType: string;
CustomObjectID: string;
DataSourceTypeID: string;
IsTestObject: boolean;
SalesForceObjectID: string;
Name: string;
}) => {
findDECustomerKey =
await this.emailStudio.searchDataExtensions(
{
searchKey: 'ObjectID',
searchTerm:
sendDefinitionObject.CustomObjectID,
}
);
dataExtensionAssetResponseStatus =
dataExtensionAssetResponse &&
dataExtensionAssetResponse.status;
return (
findDECustomerKey &&
Array.isArray(
findDECustomerKey
) &&
findDECustomerKey.length ===
1 &&
findDECustomerKey[0].CustomerKey
);
}
)
));
if (
dataExtensionAssetResponseStatus &&
dataExtensionAssetResponseStatus === 'error'
) {
dataExtensionAssetResponse =
await this.emailStudio.gatherAssetById(
customerKey,
true,
true
sendDefinitionListIDs &&
sendDefinitionListIDs.length &&
customerKeyArr.push(...sendDefinitionListIDs);
}
for (const d in customerKeyArr) {
const customerKey = customerKeyArr[d];
let dataExtensionAssetResponse =
await this.emailStudio.gatherAssetById(
customerKey,
true
);
dataExtensionAssetResponseStatus =
dataExtensionAssetResponse &&
dataExtensionAssetResponse.status;
if (
dataExtensionAssetResponseStatus &&
dataExtensionAssetResponseStatus === 'error'
) {
dataExtensionAssetResponse =
await this.emailStudio.gatherAssetById(
customerKey,
true,
true
);
}
formattedAutomationDependencies.emailStudio.push(
dataExtensionAssetResponse
);
}
}
dataExtensionAssetResponse &&
dataExtensionAssetResponse.assets &&
formattedAutomationDependencies.emailStudio.push(
dataExtensionAssetResponse
);
break;
break;
}
}
}
const finalOutput: {
[key: string]: any;
} = {};
const finalOutput: {
[key: string]: any;
} = {};
for (const a in formattedAutomationDependencies) {
const context = a;
const contextDependencies =
formattedAutomationDependencies[context];
for (const a in formattedAutomationDependencies) {
const context = a;
const contextDependencies =
formattedAutomationDependencies[context];
let assetIdKey: string | null = ['contentBuilder'].includes(context)
? 'id'
: ['emailStudio'].includes(context)
? 'objectId'
: null;
let assetIdKey: string | null = ['contentBuilder'].includes(
context
)
? 'id'
: ['emailStudio'].includes(context)
? 'objectId'
: null;
const folders = contextDependencies.map(
(dep: { folders: Folder }) => dep.folders
);
const folders = contextDependencies
.map((dep: { folders: Folder }) => dep.folders)
.filter(Boolean);
const assets = contextDependencies.map(
(dep: { assets: any }) => dep.assets
);
const assets = contextDependencies
.map((dep: { assets: any }) => dep.assets)
.filter(Boolean);
const uniqueAssets =
assetIdKey &&
(await uniqueArrayByKey(assets.flat(), assetIdKey));
const uniqueAssets =
assetIdKey &&
(await uniqueArrayByKey(assets.flat(), assetIdKey));
const uniqueFolders = await uniqueArrayByKey(folders.flat(), 'id');
const uniqueFolders = await uniqueArrayByKey(
folders.flat(),
'id'
);
finalOutput[context] = {
folders: uniqueFolders || [],
assets: uniqueAssets || [],
};
finalOutput[context] = {
folders: uniqueFolders || [],
assets: uniqueAssets || [],
};
}
return finalOutput || {};
} catch (err: any) {
return err;
}
return finalOutput || {};
};

@@ -572,0 +643,0 @@

@@ -228,6 +228,8 @@ import { SFMC_SOAP_Folder } from '../../sfmc/types/objects/sfmc_soap_folders';

return this.sfmc.emailStudio.retrieveDataExtensionPayloadByName(
dataExtension.Name,
complete,
shared
return (
this.sfmc.emailStudio.retrieveDataExtensionPayloadByName(
dataExtension.Name,
complete,
shared
) || null
);

@@ -282,3 +284,8 @@ }

const categoryId = dataExtensionPayload.category.categoryId;
if (!dataExtensionPayload) {
throw new Error('Data Extension Not Found');
}
const categoryId =
dataExtensionPayload &&
dataExtensionPayload.category.categoryId;

@@ -331,3 +338,3 @@ const dataExtensionFolderObject = await this.sfmc.folder.getFolder({

status: 'error',
statusMessage: err,
statusMessage: err.message || err,
};

@@ -334,0 +341,0 @@ }

@@ -299,3 +299,3 @@ import { Client } from '../types/sfmc_client';

ObjectID: string;
};
}[];
SendDefinitionListType: number;

@@ -356,20 +356,3 @@ CustomObjectID: string;

IsSendLogging: result.IsSendLogging,
SendDefinitionList: {
PartnerKey: result.SendDefinitionList.PartnerKey,
ObjectID: result.SendDefinitionList.ObjectID,
List: {
PartnerKey: result.SendDefinitionList.PartnerKey,
ID: result.SendDefinitionList.ID,
ObjectID: result.SendDefinitionList.ObjectID,
},
SendDefinitionListType:
result.SendDefinitionList.SendDefinitionListType,
CustomObjectID: result.SendDefinitionList.CustomObjectID,
DataSourceTypeID:
result.SendDefinitionList.DataSourceTypeID,
IsTestObject: result.SendDefinitionList.IsTestObject,
SalesForceObjectID:
result.SendDefinitionList.SalesForceObjectID,
Name: result.SendDefinitionList.Name,
},
SendDefinitionList: result.SendDefinitionList,
Email: {

@@ -376,0 +359,0 @@ ID: result.Email.ID,

@@ -259,5 +259,6 @@ import { guid } from '../../cli/utils';

return complete === false
return dataExtension && dataExtension.Results && complete === false
? this.getDataExtensionPayload(dataExtension, shared)
: this.getDataExtensionPayloadComplete(dataExtension, shared);
: this.getDataExtensionPayloadComplete(dataExtension, shared) ||
null;
};

@@ -287,5 +288,6 @@

return complete === false
return dataExtension && dataExtension.Results && complete === false
? this.getDataExtensionPayload(dataExtension, shared)
: this.getDataExtensionPayloadComplete(dataExtension, shared);
: this.getDataExtensionPayloadComplete(dataExtension, shared) ||
null;
};

@@ -292,0 +294,0 @@

{
"name": "@basetime/bldr-sfmc-sdk",
"version": "1.1.5-beta.10",
"version": "1.1.5-beta.11",
"description": "SDK for BLDR SFMC Core Functionality",

@@ -44,2 +44,3 @@ "main": "dist/index.js",

"@types/node": "18.6.1",
"@typescript-eslint/eslint-plugin": "5.56.0",
"axios": "^0.26.0",

@@ -46,0 +47,0 @@ "dotenv": "16.0.1",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc