Skip to content

Commit

Permalink
Merge branch 'develop' into dedicated-customers-build-pr
Browse files Browse the repository at this point in the history
  • Loading branch information
anshulrudderstack authored Jan 24, 2024
2 parents 782d0e9 + db2c170 commit fad6537
Show file tree
Hide file tree
Showing 300 changed files with 24,483 additions and 111,177 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ut-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Go
uses: actions/setup-go@v4.1.0
uses: actions/setup-go@v5.0.0
with:
go-version: 1.17

Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,38 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [1.54.1](https://github.com/rudderlabs/rudder-transformer/compare/v1.54.0...v1.54.1) (2024-01-24)


### Bug Fixes

* remove brand mapping from products to contents in tiktok_ads ([49c4988](https://github.com/rudderlabs/rudder-transformer/commit/49c4988cc872f40780fa640240c209c3d768fab4))

## [1.54.0](https://github.com/rudderlabs/rudder-transformer/compare/v1.53.0...v1.54.0) (2024-01-22)


### Features

* add regulation to features.json ([2ae4378](https://github.com/rudderlabs/rudder-transformer/commit/2ae437820952b87dace289ec04d5c116d77cf70c))
* add regulation to features.json ([#2988](https://github.com/rudderlabs/rudder-transformer/issues/2988)) ([65c79a8](https://github.com/rudderlabs/rudder-transformer/commit/65c79a8fd02218cee5d12e51004cdc023a0e7989))
* onboard new tiktok version events 2.0 ([#2961](https://github.com/rudderlabs/rudder-transformer/issues/2961)) ([0fca088](https://github.com/rudderlabs/rudder-transformer/commit/0fca088980368954e9a82addedd6a4544035259a))


### Bug Fixes

* add valid code coverage file in workflows ([#3000](https://github.com/rudderlabs/rudder-transformer/issues/3000)) ([34bf49d](https://github.com/rudderlabs/rudder-transformer/commit/34bf49d19f33326008a467230574e4f1c78e9ddb))
* error handling for trade desk first party data flow ([#2986](https://github.com/rudderlabs/rudder-transformer/issues/2986)) ([32c9c03](https://github.com/rudderlabs/rudder-transformer/commit/32c9c038ca96477cbe8d94d2a19679817b952e4c))
* fixing network and default error messages for marketo bulk upload ([#3016](https://github.com/rudderlabs/rudder-transformer/issues/3016)) ([3741073](https://github.com/rudderlabs/rudder-transformer/commit/3741073ea37e83aa1e6e35c3ccb26d5a41a49617))
* klaviyo validate event name to be string before accessing it ([#2998](https://github.com/rudderlabs/rudder-transformer/issues/2998)) ([7aa6687](https://github.com/rudderlabs/rudder-transformer/commit/7aa6687829783df3924a89698a53b9cb315449eb))
* mailjet source operating on array instead object ([#2999](https://github.com/rudderlabs/rudder-transformer/issues/2999)) ([0dbb307](https://github.com/rudderlabs/rudder-transformer/commit/0dbb307bf5d18893e3331cd92bc16bae1b4a6add))
* mixpanel alias simplified merge error message ([#2996](https://github.com/rudderlabs/rudder-transformer/issues/2996)) ([e53b304](https://github.com/rudderlabs/rudder-transformer/commit/e53b3046252bb5abcae046445baf4a67c40f37a3))
* optimise build and coverage ([#2985](https://github.com/rudderlabs/rudder-transformer/issues/2985)) ([81ab6e8](https://github.com/rudderlabs/rudder-transformer/commit/81ab6e86070a9992141bad405c6f52d1ab186f11))
* ortto remove phn:phone field if no phone is there in payload ([#2997](https://github.com/rudderlabs/rudder-transformer/issues/2997)) ([0c2f7bc](https://github.com/rudderlabs/rudder-transformer/commit/0c2f7bcbf705787087a8d9073145e282851ddb6f))
* pr conflicts in back merge ([#2984](https://github.com/rudderlabs/rudder-transformer/issues/2984)) ([f16066c](https://github.com/rudderlabs/rudder-transformer/commit/f16066cc8f867378f1b9bb9812f8efe389ca5bc8))
* **slack:** add support of blank space in handlebar ([#2959](https://github.com/rudderlabs/rudder-transformer/issues/2959)) ([ff12d8f](https://github.com/rudderlabs/rudder-transformer/commit/ff12d8ffddccbdac934c7cbac03730cd2593147f))
* tiktok add missing field brand ([#2942](https://github.com/rudderlabs/rudder-transformer/issues/2942)) ([ca76297](https://github.com/rudderlabs/rudder-transformer/commit/ca76297147f0a2c12d68d97dda95b9a44efe4020))
* tiktok_ads remove page.url as a required field ([#3006](https://github.com/rudderlabs/rudder-transformer/issues/3006)) ([595f819](https://github.com/rudderlabs/rudder-transformer/commit/595f81982a2604ec08621e15cea7c16564d5ecab))

## [1.53.0](https://github.com/rudderlabs/rudder-transformer/compare/v1.52.4...v1.53.0) (2024-01-08)


Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "rudder-transformer",
"version": "1.53.0",
"version": "1.54.1",
"description": "",
"homepage": "https://github.com/rudderlabs/rudder-transformer#readme",
"bugs": {
Expand Down Expand Up @@ -110,7 +110,7 @@
"stacktrace-parser": "^0.1.10",
"statsd-client": "^0.4.7",
"truncate-utf8-bytes": "^1.0.2",
"ua-parser-js": "^1.0.35",
"ua-parser-js": "^1.0.37",
"unset-value": "^2.0.1",
"uuid": "^9.0.0",
"valid-url": "^1.0.9"
Expand Down
4 changes: 2 additions & 2 deletions src/v0/destinations/marketo_bulk_upload/fileUpload.js
Original file line number Diff line number Diff line change
Expand Up @@ -206,8 +206,8 @@ const getImportID = async (input, config, accessToken, csvHeader) => {
stats.counter('marketo_bulk_upload_upload_file_unsuccJobs', unsuccessfulJobs.length);
if (!isHttpStatusSuccess(resp.status)) {
throw new NetworkError(
'Unable to upload file',
hydrateStatusForServer(resp.status, 'During fetching poll status'),
`Unable to upload file due to error : ${resp.response}`,
hydrateStatusForServer(resp.status, 'During uploading file'),
);
}
return handleFileUploadResponse(resp, successfulJobs, unsuccessfulJobs, requestTime, config);
Expand Down
2 changes: 1 addition & 1 deletion src/v0/destinations/marketo_bulk_upload/poll.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const getPollStatus = async (event) => {
state: 'Retryable',
});
throw new NetworkError(
'Could not poll status',
`Could not poll status: due to error ${pollStatus.response}`,
hydrateStatusForServer(pollStatus.status, 'During fetching poll status'),
);
}
Expand Down
23 changes: 17 additions & 6 deletions src/v0/destinations/marketo_bulk_upload/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ const getAccessToken = async (config) =>
// sample response : {response: '[ENOTFOUND] :: DNS lookup failed', status: 400}
if (!isHttpStatusSuccess(accessTokenResponse.status)) {
throw new NetworkError(
'Could not retrieve authorisation token',
`Could not retrieve authorisation token due to error ${accessTokenResponse}`,
hydrateStatusForServer(accessTokenResponse.status, FETCH_ACCESS_TOKEN),
{
[tags.TAG_NAMES.ERROR_TYPE]: getDynamicErrorType(accessTokenResponse.status),
Expand All @@ -172,7 +172,7 @@ const getAccessToken = async (config) =>

// when access token is present
if (accessTokenResponse.response.access_token) {
/* This scenario will handle the case when we get the foloowing response
/* This scenario will handle the case when we get the following response
status: 200
respnse: {"access_token":"<dummy-access-token>","token_type":"bearer","expires_in":0,"scope":"[email protected]"}
wherein "expires_in":0 denotes that we should refresh the accessToken but its not expired yet.
Expand All @@ -185,7 +185,10 @@ const getAccessToken = async (config) =>
}
return accessTokenResponse.response.access_token;
}
throw new AbortedError('Could not retrieve authorisation token', 400);
throw new AbortedError(
`Could not retrieve authorisation token due to error ${accessTokenResponse}`,
400,
);
});

/**
Expand Down Expand Up @@ -254,14 +257,18 @@ const handleFetchJobStatusResponse = (resp, type) => {
if (!isHttpStatusSuccess(marketoReposnseStatus)) {
logger.info('[Network Error]:Failed during fetching job status', { marketoResponse, type });
throw new NetworkError(
'Unable to fetch job status',
`Unable to fetch job status: due to error ${marketoResponse}`,
hydrateStatusForServer(marketoReposnseStatus, 'During fetching job status'),
);
}

if (marketoResponse?.success === false) {
logger.info('[Application Error]Failed during fetching job status', { marketoResponse, type });
throw new RetryableError('Failure during fetching job status', 500, resp);
throw new RetryableError(
`Failure during fetching job status due to error : ${marketoResponse}`,
500,
resp,
);
}

/*
Expand Down Expand Up @@ -394,7 +401,11 @@ const getFieldSchemaMap = async (accessToken, munchkinId) => {
fieldMap[field?.name] = field?.dataType;
});
} else {
throw new RetryableError('Failed to fetch Marketo Field Schema', 500, fieldSchemaMapping);
throw new RetryableError(
`Failed to fetch Marketo Field Schema due to error ${fieldSchemaMapping}`,
500,
fieldSchemaMapping,
);
}
return fieldMap;
};
Expand Down
2 changes: 1 addition & 1 deletion src/v0/destinations/tiktok_ads/data/TikTokTrackV2.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
{
"destKey": "page.url",
"sourceKeys": ["properties.context.page.url", "properties.url", "context.page.url"],
"required": true
"required": false
},
{
"destKey": "page.referrer",
Expand Down
1 change: 0 additions & 1 deletion src/v0/destinations/tiktok_ads/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ const getContents = (message, getContentType = true) => {
price: product.price,
quantity: product.quantity,
description: product.description,
brand: product.brand,
};
contents.push(removeUndefinedAndNullValues(singleProduct));
});
Expand Down
15 changes: 9 additions & 6 deletions src/v0/sources/mailjet/transform.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,18 @@ const path = require('path');
const fs = require('fs');
const md5 = require('md5');
const Message = require('../message');
const { CommonUtils } = require('../../../util/common');

// 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'));

function process(event) {
const processEvent = (event) => {
const message = new Message(`MailJet`);

// event type is always track
const eventType = 'track';

message.setEventType(eventType);

message.setEventName(event.event);

message.setPropertiesV2(event, mapping);

if (event.time) {
Expand Down Expand Up @@ -46,6 +43,12 @@ function process(event) {
message.userId = md5(event.email);
}
return message;
}
};

// This fucntion just converts the incoming payload to array of already not and sends it to processEvent
const process = (events) => {
const eventsArray = CommonUtils.toArray(events);
return eventsArray.map(processEvent);
};

module.exports = { process };
105 changes: 0 additions & 105 deletions test/__mocks__/data/salesforce/proxy_response.json

This file was deleted.

47 changes: 0 additions & 47 deletions test/__mocks__/data/salesforce/response.json

This file was deleted.

Loading

0 comments on commit fad6537

Please sign in to comment.