Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: sources to v2 batch2 #4086

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/sources/adjust/core.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const path = require('path');
const fs = require('fs');
const Message = require('../../v0/sources/message');
const Message = require('../message');
const { excludedFieldList } = require('./config');
const { extractCustomFields, generateUUID } = require('../../v0/util');
const { convertToISODate } = require('./utils');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
const path = require('path');
const fs = require('fs');
const { TransformationError } = require('@rudderstack/integrations-lib');
const utils = require('../../util');
const utils = require('../../v0/util');
const Message = require('../message');

const mappingJson = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));

const { removeUndefinedAndNullValues } = require('../../util');

const { JSON_MIME_TYPE } = require('../../util/constant');
const { JSON_MIME_TYPE } = require('../../v0/util/constant');

const processNormalEvent = (event) => {
const message = new Message(`APPCENTER`);
Expand Down Expand Up @@ -56,11 +54,12 @@ const processTestEvent = (event) => ({
statusCode: 200,
});

const process = (event) => {
const process = (payload) => {
const event = utils.getBodyFromV2SpecPayload(payload);
const response = isTestEvent(event) ? processTestEvent(event) : processNormalEvent(event);
// to bypass the unit testcases ( we may change this)
// response.anonymousId = "7e32188a4dab669f";
return removeUndefinedAndNullValues(response);
return utils.removeUndefinedAndNullValues(response);
};

exports.process = process;
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ const path = require('path');
const fs = require('fs');
const { TransformationError } = require('@rudderstack/integrations-lib');
const Message = require('../message');
const { generateUUID } = require('../../util');
const { generateUUID, getBodyFromV2SpecPayload } = require('../../v0/util');

const mappingJson = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));

const { removeUndefinedAndNullValues, isObject, isAppleFamily } = require('../../util');
const { removeUndefinedAndNullValues, isObject, isAppleFamily } = require('../../v0/util');

function processEvent(event) {
const messageType = 'track';
Expand Down Expand Up @@ -74,7 +74,8 @@ function processEvent(event) {
throw new TransformationError('Unknwon event type from Appsflyer');
}

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const response = processEvent(event);
const returnValue = removeUndefinedAndNullValues(response);
return returnValue;
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
const path = require('path');
const fs = require('fs');
const { removeUndefinedAndNullValues } = require('../../util');
const { removeUndefinedAndNullValues, getBodyFromV2SpecPayload } = require('../../v0/util');
const { getGroupId } = require('./util');
// import mapping json using JSON.parse to preserve object key order
const mapping = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));
const Message = require('../message');
const { generateUUID } = require('../../util');
const { generateUUID } = require('../../v0/util');

// Ref: https://auth0.com/docs/logs/references/log-event-type-codes
const eventNameMap = JSON.parse(
Expand Down Expand Up @@ -69,10 +69,11 @@ function processEvents(eventList) {
return responses;
}

function process(events) {
let eventList = events;
if (!Array.isArray(events)) {
eventList = events.logs || [events];
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
let eventList = event;
if (!Array.isArray(event)) {
eventList = event.logs || [event];
}
return processEvents(eventList);
}
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ const {
formatTimeStamp,
removeUndefinedAndNullValues,
getHashFromArray,
} = require('../../../v0/util');
const Message = require('../../../v0/sources/message');
getBodyFromV2SpecPayload,
} = require('../../v0/util');
const Message = require('../message');

// import mapping json using JSON.parse to preserve object key order
const mapping = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));
Expand Down Expand Up @@ -66,8 +67,9 @@ const processEvent = (event, eventMapping) => {
throw new TransformationError('Unknown event type from Braze');
};

const process = (inputEvent) => {
const { event, source } = inputEvent;
const process = (payload) => {
const event = getBodyFromV2SpecPayload(payload);
const { source } = payload;
const { customMapping } = source.Config;
const eventMapping = getHashFromArray(customMapping, 'from', 'to', false);
const responses = [];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ const sha256 = require('sha256');
const { TransformationError } = require('@rudderstack/integrations-lib');
const Message = require('../message');
const { voterMapping, authorMapping, checkForRequiredFields } = require('./util');
const logger = require('../../../logger');
const logger = require('../../logger');
const { getBodyFromV2SpecPayload } = require('../../v0/util');

const CannyOperation = {
VOTE_CREATED: 'vote.created',
Expand Down Expand Up @@ -73,7 +74,8 @@ function createMessage(event, typeOfUser) {
return finalMessage;
}

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
let typeOfUser;

switch (event.type) {
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ const {
removeUndefinedAndNullRecurse,
generateUUID,
formatTimeStamp,
} = require('../../../v0/util');
getBodyFromV2SpecPayload,
} = require('../../v0/util');
const { excludedFieldList } = require('./config');
const Message = require('../../../v0/sources/message');
const Message = require('../message');

function processEvent(inputEvent) {
// eslint-disable-next-line @typescript-eslint/naming-convention
Expand Down Expand Up @@ -48,8 +49,8 @@ function processEvent(inputEvent) {
return message;
}

function process(inputEvent) {
const { event } = inputEvent;
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const response = processEvent(event);
return removeUndefinedAndNullValues(response);
}
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
const Message = require('../../../v0/sources/message');
const { CommonUtils } = require('../../../util/common');
const { generateUUID, isDefinedAndNotNull } = require('../../../v0/util');
const Message = require('../message');
const { CommonUtils } = require('../../util/common');
const { generateUUID, isDefinedAndNotNull, getBodyFromV2SpecPayload } = require('../../v0/util');
const { eventsMapping } = require('./config');

const mapping = require('./mapping.json');
Expand Down Expand Up @@ -43,8 +43,8 @@ const processEvent = (inputPaylaod) => {
};

const process = (inputEvent) => {
const { event: events } = inputEvent;
const eventsArray = CommonUtils.toArray(events);
const event = getBodyFromV2SpecPayload(inputEvent);
const eventsArray = CommonUtils.toArray(event);
return eventsArray.map(processEvent);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ const { get } = require('lodash');
const Message = require('../message');

const { mappingConfig } = require('./config');
const { isDefinedAndNotNull } = require('../../util');
const { isDefinedAndNotNull, getBodyFromV2SpecPayload } = require('../../v0/util');

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const message = new Message(`Customer.io`);

// since customer, email, sms, push, slack, webhook
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* eslint-disable no-case-declarations */
const path = require('path');
const fs = require('fs');
const { generateUUID } = require('../../util');
const Message = require('../message');
const { removeUndefinedAndNullValues, extractCustomFields } = require('../../util');
const { generateUUID, getBodyFromV2SpecPayload } = require('../../v0/util');
const Message = require('../../v0/sources/message');
const { removeUndefinedAndNullValues, extractCustomFields } = require('../../v0/util');

const mappingJson = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));

Expand All @@ -21,8 +21,7 @@ function processEvent(event) {
break;
default:
message.setEventName(event.type);
let messageProperties = {};
messageProperties = extractCustomFields(event, messageProperties, 'root', ['type']);
const messageProperties = extractCustomFields(event, {}, 'root', ['type']);
message.setProperty('properties', messageProperties);
}

Expand All @@ -31,7 +30,8 @@ function processEvent(event) {
return message;
}

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const response = processEvent(event);
const returnValue = removeUndefinedAndNullValues(response);
return returnValue;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
const path = require('path');
const fs = require('fs');
const { generateUUID, isDefinedAndNotNull } = require('../../util');
const { generateUUID, isDefinedAndNotNull, getBodyFromV2SpecPayload } = require('../../v0/util');
const Message = require('../message');

// import mapping json using JSON.parse to preserve object key order
const mapping = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const message = new Message(`Formsort`);

// we are setting event type as track always
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,22 @@ const { process } = require('./transform');
it(`Transform.js Tests`, () => {
const data = {
input: {
answers: {
yes: true,
enter_email: '[email protected]',
enter_name: '2022-11-17',
yes_or_no: false,
request: {
body: JSON.stringify({
answers: {
yes: true,
enter_email: '[email protected]',
enter_name: '2022-11-17',
yes_or_no: false,
},
responder_uuid: '66a8e5bb-67e1-47ec-b55f-a26fd4be2dc7',
flow_label: 'new-flow-2022-11-25',
variant_label: 'main',
variant_uuid: '0828efa7-7215-4e7d-a7ab-6c1079010cea',
finalized: false,
created_at: '2022-11-25T14:41:22+00:00',
}),
},
responder_uuid: '66a8e5bb-67e1-47ec-b55f-a26fd4be2dc7',
flow_label: 'new-flow-2022-11-25',
variant_label: 'main',
variant_uuid: '0828efa7-7215-4e7d-a7ab-6c1079010cea',
finalized: false,
created_at: '2022-11-25T14:41:22+00:00',
},
output: {
context: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const surveyMapping = require('./data/surveyMapping.json');
const featureMatchMapping = require('./data/featureMatchMapping.json');
const segmentIoMapping = require('./data/segmentIOMapping.json');
const { refinePayload, refineTraitPayload } = require('./utils');
const { getBodyFromV2SpecPayload } = require('../../v0/util');

const buildIdentifyPayload = (event) => {
let message = new Message(`GAINSIGHTPX`);
Expand Down Expand Up @@ -84,7 +85,8 @@ function processEvent(event) {
return message;
}

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const response = processEvent(event);
const returnValue = refinePayload(response);
return returnValue;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-disable no-param-reassign */
const { isDefinedAndNotNullAndNotEmpty } = require('../../util');
const { isDefinedAndNotNullAndNotEmpty } = require('../../v0/util');
const { traitsToDelete, accountTraitsToDelete } = require('./config');

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ const fs = require('fs');
const md5 = require('md5');
const { TransformationError } = require('@rudderstack/integrations-lib');
const Message = require('../message');
const { getBodyFromV2SpecPayload } = require('../../v0/util');

// import mapping json using JSON.parse to preserve object key order
const mapping = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
// throw an error if (email, eventName) are not present
if (!(event.email && event.eventName)) {
throw new TransformationError('Unknwon event type from Iterable');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ const path = require('path');
const fs = require('fs');
const md5 = require('md5');
const Message = require('../message');
const { CommonUtils } = require('../../../util/common');
const { CommonUtils } = require('../../util/common');
const { getBodyFromV2SpecPayload } = require('../../v0/util');

// ref : https://dev.mailjet.com/email/guides/webhooks/
// import mapping json using JSON.parse to preserve object key order
const mapping = JSON.parse(fs.readFileSync(path.resolve(__dirname, './mapping.json'), 'utf-8'));

const processEvent = (event) => {
const processEvent = (payload) => {
const event = getBodyFromV2SpecPayload(payload);
const message = new Message(`MailJet`);
// event type is always track
const eventType = 'track';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ const path = require('path');
const fs = require('fs');
const sha256 = require('sha256');
const { TransformationError } = require('@rudderstack/integrations-lib');
const { flattenJson, removeUndefinedAndNullAndEmptyValues } = require('../../util');
const {
flattenJson,
removeUndefinedAndNullAndEmptyValues,
getBodyFromV2SpecPayload,
} = require('../../v0/util');
const Message = require('../message');

// import mapping json using JSON.parse to preserve object key order
Expand Down Expand Up @@ -39,7 +43,8 @@ function settingProperties(event, message) {
return cloneMessage;
}

function process(event) {
function process(payload) {
const event = getBodyFromV2SpecPayload(payload);
const message = new Message(`Mailmodo`);

// event type is always track
Expand Down
Loading
Loading