@adtrackify/at-service-common 3.0.30 → 3.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/cjs/__tests__/s3-client/s3-client.spec.js +26 -26
- package/dist/cjs/clients/generic/cognito-client.d.ts +20 -20
- package/dist/cjs/clients/generic/cognito-client.js +164 -164
- package/dist/cjs/clients/generic/dynamodb-client.d.ts +16 -16
- package/dist/cjs/clients/generic/dynamodb-client.js +144 -144
- package/dist/cjs/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/cjs/clients/generic/eventbridge-client.js +49 -49
- package/dist/cjs/clients/generic/http-client.d.ts +88 -88
- package/dist/cjs/clients/generic/http-client.js +56 -56
- package/dist/cjs/clients/generic/index.d.ts +6 -6
- package/dist/cjs/clients/generic/index.js +22 -22
- package/dist/cjs/clients/generic/s3-client.d.ts +16 -16
- package/dist/cjs/clients/generic/s3-client.js +110 -110
- package/dist/cjs/clients/generic/sqs-client.d.ts +14 -14
- package/dist/cjs/clients/generic/sqs-client.js +38 -38
- package/dist/cjs/clients/index.d.ts +3 -3
- package/dist/cjs/clients/index.js +19 -19
- package/dist/cjs/clients/internal-api/accounts-client.d.ts +112 -112
- package/dist/cjs/clients/internal-api/accounts-client.js +117 -117
- package/dist/cjs/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/cjs/clients/internal-api/db-management-client.js +39 -39
- package/dist/cjs/clients/internal-api/destinations-client.d.ts +29 -29
- package/dist/cjs/clients/internal-api/destinations-client.js +54 -54
- package/dist/cjs/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/cjs/clients/internal-api/event-collector-client.js +39 -39
- package/dist/cjs/clients/internal-api/identity-client.d.ts +17 -17
- package/dist/cjs/clients/internal-api/identity-client.js +75 -75
- package/dist/cjs/clients/internal-api/index.d.ts +7 -7
- package/dist/cjs/clients/internal-api/index.js +23 -23
- package/dist/cjs/clients/internal-api/shopify-app-install-client.d.ts +34 -34
- package/dist/cjs/clients/internal-api/shopify-app-install-client.js +63 -63
- package/dist/cjs/clients/internal-api/users-auth-client.d.ts +31 -31
- package/dist/cjs/clients/internal-api/users-auth-client.js +92 -92
- package/dist/cjs/clients/third-party/index.d.ts +1 -1
- package/dist/cjs/clients/third-party/index.js +17 -17
- package/dist/cjs/clients/third-party/shopify-client.d.ts +198 -198
- package/dist/cjs/clients/third-party/shopify-client.js +150 -150
- package/dist/cjs/helpers/index.d.ts +4 -4
- package/dist/cjs/helpers/index.js +20 -20
- package/dist/cjs/helpers/input-validation-helper.d.ts +3 -3
- package/dist/cjs/helpers/input-validation-helper.js +23 -23
- package/dist/cjs/helpers/logging-helper.d.ts +15 -15
- package/dist/cjs/helpers/logging-helper.js +80 -80
- package/dist/cjs/helpers/response-helper.d.ts +15 -15
- package/dist/cjs/helpers/response-helper.js +42 -42
- package/dist/cjs/helpers/shopify-helper.d.ts +9 -9
- package/dist/cjs/helpers/shopify-helper.js +28 -28
- package/dist/cjs/index.d.ts +5 -5
- package/dist/cjs/index.js +21 -21
- package/dist/cjs/libs/clickId-parser.d.ts +23 -23
- package/dist/cjs/libs/clickId-parser.js +49 -49
- package/dist/cjs/libs/crypto.d.ts +1 -1
- package/dist/cjs/libs/crypto.js +12 -12
- package/dist/cjs/libs/dates.d.ts +6 -6
- package/dist/cjs/libs/dates.js +31 -31
- package/dist/cjs/libs/http-error.d.ts +21 -21
- package/dist/cjs/libs/http-error.js +59 -59
- package/dist/cjs/libs/http-status-codes.d.ts +58 -58
- package/dist/cjs/libs/http-status-codes.js +62 -62
- package/dist/cjs/libs/index.d.ts +8 -8
- package/dist/cjs/libs/index.js +24 -24
- package/dist/cjs/libs/referrer-parser/index.d.ts +2 -2
- package/dist/cjs/libs/referrer-parser/index.js +18 -18
- package/dist/cjs/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/cjs/libs/referrer-parser/referrer-data.js +4712 -4712
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/cjs/libs/referrer-parser/referrer-parser-util.js +128 -128
- package/dist/cjs/libs/url.d.ts +1 -1
- package/dist/cjs/libs/url.js +13 -13
- package/dist/cjs/services/db/destinations-service.d.ts +7 -7
- package/dist/cjs/services/db/destinations-service.js +35 -35
- package/dist/cjs/services/db/index.d.ts +4 -4
- package/dist/cjs/services/db/index.js +20 -20
- package/dist/cjs/services/db/log-events-data-service.d.ts +6 -6
- package/dist/cjs/services/db/log-events-data-service.js +31 -31
- package/dist/cjs/services/db/purchased-contacts-db-service.d.ts +9 -9
- package/dist/cjs/services/db/purchased-contacts-db-service.js +38 -38
- package/dist/cjs/services/db/tracking-events-db-service.d.ts +17 -17
- package/dist/cjs/services/db/tracking-events-db-service.js +134 -134
- package/dist/cjs/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/cjs/services/eventbridge-integration-service.js +28 -28
- package/dist/cjs/services/index.d.ts +5 -5
- package/dist/cjs/services/index.js +21 -21
- package/dist/cjs/services/ipdata-lookup-service.d.ts +9 -8
- package/dist/cjs/services/ipdata-lookup-service.js +65 -59
- package/dist/cjs/services/ipdata-lookup-service.js.map +1 -1
- package/dist/cjs/services/log-event-service.d.ts +9 -9
- package/dist/cjs/services/log-event-service.js +56 -56
- package/dist/cjs/services/metric-event-service.d.ts +9 -9
- package/dist/cjs/services/metric-event-service.js +49 -49
- package/dist/cjs/types/api-response.d.ts +6 -6
- package/dist/cjs/types/api-response.js +2 -2
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.js +17 -17
- package/dist/cjs/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/cjs/types/internal-events/event-detail-types.js +27 -27
- package/dist/cjs/types/internal-events/index.d.ts +1 -1
- package/dist/cjs/types/internal-events/index.js +17 -17
- package/dist/esm/__tests__/s3-client/s3-client.spec.d.ts +1 -1
- package/dist/esm/__tests__/s3-client/s3-client.spec.js +24 -24
- package/dist/esm/clients/generic/cognito-client.d.ts +20 -20
- package/dist/esm/clients/generic/cognito-client.js +159 -159
- package/dist/esm/clients/generic/dynamodb-client.d.ts +16 -16
- package/dist/esm/clients/generic/dynamodb-client.js +140 -140
- package/dist/esm/clients/generic/eventbridge-client.d.ts +14 -14
- package/dist/esm/clients/generic/eventbridge-client.js +45 -45
- package/dist/esm/clients/generic/http-client.d.ts +88 -88
- package/dist/esm/clients/generic/http-client.js +48 -48
- package/dist/esm/clients/generic/index.d.ts +6 -6
- package/dist/esm/clients/generic/index.js +6 -6
- package/dist/esm/clients/generic/s3-client.d.ts +16 -16
- package/dist/esm/clients/generic/s3-client.js +106 -106
- package/dist/esm/clients/generic/sqs-client.d.ts +14 -14
- package/dist/esm/clients/generic/sqs-client.js +34 -34
- package/dist/esm/clients/index.d.ts +3 -3
- package/dist/esm/clients/index.js +3 -3
- package/dist/esm/clients/internal-api/accounts-client.d.ts +112 -112
- package/dist/esm/clients/internal-api/accounts-client.js +113 -113
- package/dist/esm/clients/internal-api/db-management-client.d.ts +18 -18
- package/dist/esm/clients/internal-api/db-management-client.js +32 -32
- package/dist/esm/clients/internal-api/destinations-client.d.ts +29 -29
- package/dist/esm/clients/internal-api/destinations-client.js +50 -50
- package/dist/esm/clients/internal-api/event-collector-client.d.ts +20 -20
- package/dist/esm/clients/internal-api/event-collector-client.js +32 -32
- package/dist/esm/clients/internal-api/identity-client.d.ts +17 -17
- package/dist/esm/clients/internal-api/identity-client.js +71 -71
- package/dist/esm/clients/internal-api/index.d.ts +7 -7
- package/dist/esm/clients/internal-api/index.js +7 -7
- package/dist/esm/clients/internal-api/shopify-app-install-client.d.ts +34 -34
- package/dist/esm/clients/internal-api/shopify-app-install-client.js +56 -56
- package/dist/esm/clients/internal-api/users-auth-client.d.ts +31 -31
- package/dist/esm/clients/internal-api/users-auth-client.js +88 -88
- package/dist/esm/clients/third-party/index.d.ts +1 -1
- package/dist/esm/clients/third-party/index.js +1 -1
- package/dist/esm/clients/third-party/shopify-client.d.ts +198 -198
- package/dist/esm/clients/third-party/shopify-client.js +146 -146
- package/dist/esm/helpers/index.d.ts +4 -4
- package/dist/esm/helpers/index.js +4 -4
- package/dist/esm/helpers/input-validation-helper.d.ts +3 -3
- package/dist/esm/helpers/input-validation-helper.js +19 -19
- package/dist/esm/helpers/logging-helper.d.ts +15 -15
- package/dist/esm/helpers/logging-helper.js +53 -53
- package/dist/esm/helpers/response-helper.d.ts +15 -15
- package/dist/esm/helpers/response-helper.js +36 -36
- package/dist/esm/helpers/shopify-helper.d.ts +9 -9
- package/dist/esm/helpers/shopify-helper.js +23 -23
- package/dist/esm/index.d.ts +5 -5
- package/dist/esm/index.js +5 -5
- package/dist/esm/libs/clickId-parser.d.ts +23 -23
- package/dist/esm/libs/clickId-parser.js +45 -45
- package/dist/esm/libs/crypto.d.ts +1 -1
- package/dist/esm/libs/crypto.js +5 -5
- package/dist/esm/libs/dates.d.ts +6 -6
- package/dist/esm/libs/dates.js +22 -22
- package/dist/esm/libs/http-error.d.ts +21 -21
- package/dist/esm/libs/http-error.js +55 -55
- package/dist/esm/libs/http-status-codes.d.ts +58 -58
- package/dist/esm/libs/http-status-codes.js +59 -59
- package/dist/esm/libs/index.d.ts +8 -8
- package/dist/esm/libs/index.js +8 -8
- package/dist/esm/libs/referrer-parser/index.d.ts +2 -2
- package/dist/esm/libs/referrer-parser/index.js +2 -2
- package/dist/esm/libs/referrer-parser/referrer-data.d.ts +9 -9
- package/dist/esm/libs/referrer-parser/referrer-data.js +4709 -4709
- package/dist/esm/libs/referrer-parser/referrer-parser-util.d.ts +20 -20
- package/dist/esm/libs/referrer-parser/referrer-parser-util.js +121 -121
- package/dist/esm/libs/url.d.ts +1 -1
- package/dist/esm/libs/url.js +9 -9
- package/dist/esm/services/db/destinations-service.d.ts +7 -7
- package/dist/esm/services/db/destinations-service.js +31 -31
- package/dist/esm/services/db/index.d.ts +4 -4
- package/dist/esm/services/db/index.js +4 -4
- package/dist/esm/services/db/log-events-data-service.d.ts +6 -6
- package/dist/esm/services/db/log-events-data-service.js +27 -27
- package/dist/esm/services/db/purchased-contacts-db-service.d.ts +9 -9
- package/dist/esm/services/db/purchased-contacts-db-service.js +34 -34
- package/dist/esm/services/db/tracking-events-db-service.d.ts +17 -17
- package/dist/esm/services/db/tracking-events-db-service.js +130 -130
- package/dist/esm/services/eventbridge-integration-service.d.ts +9 -9
- package/dist/esm/services/eventbridge-integration-service.js +24 -24
- package/dist/esm/services/index.d.ts +5 -5
- package/dist/esm/services/index.js +5 -5
- package/dist/esm/services/ipdata-lookup-service.d.ts +9 -8
- package/dist/esm/services/ipdata-lookup-service.js +61 -55
- package/dist/esm/services/ipdata-lookup-service.js.map +1 -1
- package/dist/esm/services/log-event-service.d.ts +9 -9
- package/dist/esm/services/log-event-service.js +52 -52
- package/dist/esm/services/metric-event-service.d.ts +9 -9
- package/dist/esm/services/metric-event-service.js +45 -45
- package/dist/esm/types/api-response.d.ts +6 -6
- package/dist/esm/types/api-response.js +1 -1
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/types/internal-events/event-detail-types.d.ts +20 -20
- package/dist/esm/types/internal-events/event-detail-types.js +24 -24
- package/dist/esm/types/internal-events/index.d.ts +1 -1
- package/dist/esm/types/internal-events/index.js +1 -1
- package/package.json +1 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import url from 'url';
|
|
3
|
-
export interface ReferrerDictionary {
|
|
4
|
-
[domain: string]: {
|
|
5
|
-
name: string;
|
|
6
|
-
medium: string;
|
|
7
|
-
params?: string[];
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export declare class Referrer {
|
|
11
|
-
known: boolean;
|
|
12
|
-
referrer: string | null;
|
|
13
|
-
medium: string;
|
|
14
|
-
search_parameter: string | null;
|
|
15
|
-
search_term: string | string[] | null | undefined;
|
|
16
|
-
referrers: any;
|
|
17
|
-
uri?: url.UrlWithStringQuery;
|
|
18
|
-
constructor(referrer_url?: string, current_url?: string);
|
|
19
|
-
_lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
|
|
20
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import url from 'url';
|
|
3
|
+
export interface ReferrerDictionary {
|
|
4
|
+
[domain: string]: {
|
|
5
|
+
name: string;
|
|
6
|
+
medium: string;
|
|
7
|
+
params?: string[];
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare class Referrer {
|
|
11
|
+
known: boolean;
|
|
12
|
+
referrer: string | null;
|
|
13
|
+
medium: string;
|
|
14
|
+
search_parameter: string | null;
|
|
15
|
+
search_term: string | string[] | null | undefined;
|
|
16
|
+
referrers: any;
|
|
17
|
+
uri?: url.UrlWithStringQuery;
|
|
18
|
+
constructor(referrer_url?: string, current_url?: string);
|
|
19
|
+
_lookup_referrer: (ref_host: string | null | undefined, ref_path: string | null, include_path: boolean) => any;
|
|
20
|
+
}
|
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Referrer = void 0;
|
|
7
|
-
const url_1 = __importDefault(require("url"));
|
|
8
|
-
const querystring_1 = __importDefault(require("querystring"));
|
|
9
|
-
const referrer_data_js_1 = require("./referrer-data.js");
|
|
10
|
-
const REFERERS = loadReferrers(referrer_data_js_1.REFERRER_DATA);
|
|
11
|
-
function loadReferrers(source) {
|
|
12
|
-
const referrers_dict = {};
|
|
13
|
-
for (const medium in source) {
|
|
14
|
-
const conf_list = source[medium];
|
|
15
|
-
for (const referrer_name in conf_list) {
|
|
16
|
-
const config = conf_list[referrer_name];
|
|
17
|
-
let params = null;
|
|
18
|
-
if (config.parameters) {
|
|
19
|
-
params = config.parameters.map(function (p) { return p.toLowerCase(); });
|
|
20
|
-
}
|
|
21
|
-
config.domains.forEach(function (domain) {
|
|
22
|
-
referrers_dict[domain] = {
|
|
23
|
-
'name': referrer_name,
|
|
24
|
-
'medium': medium
|
|
25
|
-
};
|
|
26
|
-
if (params) {
|
|
27
|
-
referrers_dict[domain]['params'] = params;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return referrers_dict;
|
|
33
|
-
}
|
|
34
|
-
class Referrer {
|
|
35
|
-
known;
|
|
36
|
-
referrer;
|
|
37
|
-
medium;
|
|
38
|
-
search_parameter;
|
|
39
|
-
search_term;
|
|
40
|
-
referrers;
|
|
41
|
-
uri;
|
|
42
|
-
constructor(referrer_url, current_url) {
|
|
43
|
-
this.known = false;
|
|
44
|
-
this.referrer = null;
|
|
45
|
-
this.medium = 'unknown';
|
|
46
|
-
this.search_parameter = null;
|
|
47
|
-
this.search_term = null;
|
|
48
|
-
if (!referrer_url) {
|
|
49
|
-
this.medium = 'none';
|
|
50
|
-
this.referrer = 'direct';
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const ref_uri = url_1.default.parse(referrer_url);
|
|
54
|
-
const ref_host = ref_uri.hostname;
|
|
55
|
-
this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
|
|
56
|
-
this.uri = ref_uri;
|
|
57
|
-
if (!this.known)
|
|
58
|
-
return;
|
|
59
|
-
if (current_url) {
|
|
60
|
-
const curr_uri = url_1.default.parse(current_url);
|
|
61
|
-
const curr_host = curr_uri.hostname;
|
|
62
|
-
if (curr_host == ref_host) {
|
|
63
|
-
this.medium = 'internal';
|
|
64
|
-
this.referrer = 'internal';
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
|
|
69
|
-
if (!referrer) {
|
|
70
|
-
referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
|
|
71
|
-
if (!referrer) {
|
|
72
|
-
this.medium = 'referral';
|
|
73
|
-
this.referrer = ref_host;
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
this.referrer = referrer['name'];
|
|
78
|
-
this.medium = referrer['medium'];
|
|
79
|
-
if (referrer['medium'] == 'search') {
|
|
80
|
-
if (!referrer['params'])
|
|
81
|
-
return;
|
|
82
|
-
const pqs = querystring_1.default.parse(ref_uri?.query || '');
|
|
83
|
-
for (const param in pqs) {
|
|
84
|
-
const val = pqs[param];
|
|
85
|
-
if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
|
|
86
|
-
this.search_parameter = param;
|
|
87
|
-
this.search_term = val;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
_lookup_referrer = (ref_host, ref_path, include_path) => {
|
|
93
|
-
let referrer = null;
|
|
94
|
-
if (include_path) {
|
|
95
|
-
const hostpath = (ref_host ?? '') + (ref_path ?? '');
|
|
96
|
-
referrer = REFERERS[hostpath];
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
referrer = REFERERS[ref_host ?? ''];
|
|
100
|
-
}
|
|
101
|
-
if (!referrer) {
|
|
102
|
-
if (include_path) {
|
|
103
|
-
const path_parts = ref_path?.split('/');
|
|
104
|
-
if (path_parts && path_parts.length > 1) {
|
|
105
|
-
try {
|
|
106
|
-
referrer = REFERERS[ref_host + '/' + path_parts[1]];
|
|
107
|
-
}
|
|
108
|
-
catch (e) { }
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (!referrer) {
|
|
113
|
-
try {
|
|
114
|
-
const idx = (ref_host ?? '').indexOf('.');
|
|
115
|
-
if (idx === -1)
|
|
116
|
-
return null;
|
|
117
|
-
const slicedHost = ref_host?.slice(idx + 1);
|
|
118
|
-
return this._lookup_referrer(slicedHost, ref_path, include_path);
|
|
119
|
-
}
|
|
120
|
-
catch (e) {
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
else
|
|
125
|
-
return referrer;
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
exports.Referrer = Referrer;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Referrer = void 0;
|
|
7
|
+
const url_1 = __importDefault(require("url"));
|
|
8
|
+
const querystring_1 = __importDefault(require("querystring"));
|
|
9
|
+
const referrer_data_js_1 = require("./referrer-data.js");
|
|
10
|
+
const REFERERS = loadReferrers(referrer_data_js_1.REFERRER_DATA);
|
|
11
|
+
function loadReferrers(source) {
|
|
12
|
+
const referrers_dict = {};
|
|
13
|
+
for (const medium in source) {
|
|
14
|
+
const conf_list = source[medium];
|
|
15
|
+
for (const referrer_name in conf_list) {
|
|
16
|
+
const config = conf_list[referrer_name];
|
|
17
|
+
let params = null;
|
|
18
|
+
if (config.parameters) {
|
|
19
|
+
params = config.parameters.map(function (p) { return p.toLowerCase(); });
|
|
20
|
+
}
|
|
21
|
+
config.domains.forEach(function (domain) {
|
|
22
|
+
referrers_dict[domain] = {
|
|
23
|
+
'name': referrer_name,
|
|
24
|
+
'medium': medium
|
|
25
|
+
};
|
|
26
|
+
if (params) {
|
|
27
|
+
referrers_dict[domain]['params'] = params;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return referrers_dict;
|
|
33
|
+
}
|
|
34
|
+
class Referrer {
|
|
35
|
+
known;
|
|
36
|
+
referrer;
|
|
37
|
+
medium;
|
|
38
|
+
search_parameter;
|
|
39
|
+
search_term;
|
|
40
|
+
referrers;
|
|
41
|
+
uri;
|
|
42
|
+
constructor(referrer_url, current_url) {
|
|
43
|
+
this.known = false;
|
|
44
|
+
this.referrer = null;
|
|
45
|
+
this.medium = 'unknown';
|
|
46
|
+
this.search_parameter = null;
|
|
47
|
+
this.search_term = null;
|
|
48
|
+
if (!referrer_url) {
|
|
49
|
+
this.medium = 'none';
|
|
50
|
+
this.referrer = 'direct';
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const ref_uri = url_1.default.parse(referrer_url);
|
|
54
|
+
const ref_host = ref_uri.hostname;
|
|
55
|
+
this.known = Boolean(~['http:', 'https:'].indexOf(ref_uri.protocol));
|
|
56
|
+
this.uri = ref_uri;
|
|
57
|
+
if (!this.known)
|
|
58
|
+
return;
|
|
59
|
+
if (current_url) {
|
|
60
|
+
const curr_uri = url_1.default.parse(current_url);
|
|
61
|
+
const curr_host = curr_uri.hostname;
|
|
62
|
+
if (curr_host == ref_host) {
|
|
63
|
+
this.medium = 'internal';
|
|
64
|
+
this.referrer = 'internal';
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
let referrer = this._lookup_referrer(ref_host, ref_uri.pathname, true);
|
|
69
|
+
if (!referrer) {
|
|
70
|
+
referrer = this._lookup_referrer(ref_host, ref_uri.pathname, false);
|
|
71
|
+
if (!referrer) {
|
|
72
|
+
this.medium = 'referral';
|
|
73
|
+
this.referrer = ref_host;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
this.referrer = referrer['name'];
|
|
78
|
+
this.medium = referrer['medium'];
|
|
79
|
+
if (referrer['medium'] == 'search') {
|
|
80
|
+
if (!referrer['params'])
|
|
81
|
+
return;
|
|
82
|
+
const pqs = querystring_1.default.parse(ref_uri?.query || '');
|
|
83
|
+
for (const param in pqs) {
|
|
84
|
+
const val = pqs[param];
|
|
85
|
+
if (referrer['params'].indexOf(param.toLowerCase()) !== -1) {
|
|
86
|
+
this.search_parameter = param;
|
|
87
|
+
this.search_term = val;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
_lookup_referrer = (ref_host, ref_path, include_path) => {
|
|
93
|
+
let referrer = null;
|
|
94
|
+
if (include_path) {
|
|
95
|
+
const hostpath = (ref_host ?? '') + (ref_path ?? '');
|
|
96
|
+
referrer = REFERERS[hostpath];
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
referrer = REFERERS[ref_host ?? ''];
|
|
100
|
+
}
|
|
101
|
+
if (!referrer) {
|
|
102
|
+
if (include_path) {
|
|
103
|
+
const path_parts = ref_path?.split('/');
|
|
104
|
+
if (path_parts && path_parts.length > 1) {
|
|
105
|
+
try {
|
|
106
|
+
referrer = REFERERS[ref_host + '/' + path_parts[1]];
|
|
107
|
+
}
|
|
108
|
+
catch (e) { }
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (!referrer) {
|
|
113
|
+
try {
|
|
114
|
+
const idx = (ref_host ?? '').indexOf('.');
|
|
115
|
+
if (idx === -1)
|
|
116
|
+
return null;
|
|
117
|
+
const slicedHost = ref_host?.slice(idx + 1);
|
|
118
|
+
return this._lookup_referrer(slicedHost, ref_path, include_path);
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else
|
|
125
|
+
return referrer;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
exports.Referrer = Referrer;
|
|
129
129
|
//# sourceMappingURL=referrer-parser-util.js.map
|
package/dist/cjs/libs/url.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const mapObjectToQueryString: (inputObj: any) => string;
|
|
1
|
+
export declare const mapObjectToQueryString: (inputObj: any) => string;
|
package/dist/cjs/libs/url.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mapObjectToQueryString = void 0;
|
|
4
|
-
const mapObjectToQueryString = (inputObj) => {
|
|
5
|
-
const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
|
|
6
|
-
const urlParams = new URLSearchParams();
|
|
7
|
-
qsp.map(p => {
|
|
8
|
-
urlParams.append(p[0], p[1]);
|
|
9
|
-
});
|
|
10
|
-
const qs = urlParams.toString();
|
|
11
|
-
return qs;
|
|
12
|
-
};
|
|
13
|
-
exports.mapObjectToQueryString = mapObjectToQueryString;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapObjectToQueryString = void 0;
|
|
4
|
+
const mapObjectToQueryString = (inputObj) => {
|
|
5
|
+
const qsp = Object.entries(inputObj).sort((a, b) => a[0] < b[0] ? -1 : 1);
|
|
6
|
+
const urlParams = new URLSearchParams();
|
|
7
|
+
qsp.map(p => {
|
|
8
|
+
urlParams.append(p[0], p[1]);
|
|
9
|
+
});
|
|
10
|
+
const qs = urlParams.toString();
|
|
11
|
+
return qs;
|
|
12
|
+
};
|
|
13
|
+
exports.mapObjectToQueryString = mapObjectToQueryString;
|
|
14
14
|
//# sourceMappingURL=url.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Destination } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
export declare class DestinationsService {
|
|
3
|
-
TABLE_NAME: string;
|
|
4
|
-
constructor(tableName: string);
|
|
5
|
-
getDestinationsByPixel: (indexName: string, pixelId: string) => Promise<Destination[]>;
|
|
6
|
-
getDestinationsByAccountId: (indexName: string, accountId: string) => Promise<Destination[]>;
|
|
7
|
-
}
|
|
1
|
+
import { Destination } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
export declare class DestinationsService {
|
|
3
|
+
TABLE_NAME: string;
|
|
4
|
+
constructor(tableName: string);
|
|
5
|
+
getDestinationsByPixel: (indexName: string, pixelId: string) => Promise<Destination[]>;
|
|
6
|
+
getDestinationsByAccountId: (indexName: string, accountId: string) => Promise<Destination[]>;
|
|
7
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DestinationsService = void 0;
|
|
4
|
-
const clients_1 = require("../../clients");
|
|
5
|
-
class DestinationsService {
|
|
6
|
-
TABLE_NAME;
|
|
7
|
-
constructor(tableName) {
|
|
8
|
-
this.TABLE_NAME = tableName;
|
|
9
|
-
}
|
|
10
|
-
getDestinationsByPixel = async (indexName, pixelId) => {
|
|
11
|
-
const query = {
|
|
12
|
-
TableName: this.TABLE_NAME,
|
|
13
|
-
IndexName: indexName,
|
|
14
|
-
KeyConditionExpression: 'pixelId = :pixelId',
|
|
15
|
-
ExpressionAttributeValues: {
|
|
16
|
-
':pixelId': pixelId,
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const destinations = await clients_1.DynamoDbClient.queryAll(query);
|
|
20
|
-
return destinations || [];
|
|
21
|
-
};
|
|
22
|
-
getDestinationsByAccountId = async (indexName, accountId) => {
|
|
23
|
-
const query = {
|
|
24
|
-
TableName: this.TABLE_NAME,
|
|
25
|
-
IndexName: indexName,
|
|
26
|
-
KeyConditionExpression: 'accountId = :accountId',
|
|
27
|
-
ExpressionAttributeValues: {
|
|
28
|
-
':accountId': accountId,
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
const destinations = await clients_1.DynamoDbClient.queryAll(query);
|
|
32
|
-
return destinations || [];
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
exports.DestinationsService = DestinationsService;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DestinationsService = void 0;
|
|
4
|
+
const clients_1 = require("../../clients");
|
|
5
|
+
class DestinationsService {
|
|
6
|
+
TABLE_NAME;
|
|
7
|
+
constructor(tableName) {
|
|
8
|
+
this.TABLE_NAME = tableName;
|
|
9
|
+
}
|
|
10
|
+
getDestinationsByPixel = async (indexName, pixelId) => {
|
|
11
|
+
const query = {
|
|
12
|
+
TableName: this.TABLE_NAME,
|
|
13
|
+
IndexName: indexName,
|
|
14
|
+
KeyConditionExpression: 'pixelId = :pixelId',
|
|
15
|
+
ExpressionAttributeValues: {
|
|
16
|
+
':pixelId': pixelId,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
const destinations = await clients_1.DynamoDbClient.queryAll(query);
|
|
20
|
+
return destinations || [];
|
|
21
|
+
};
|
|
22
|
+
getDestinationsByAccountId = async (indexName, accountId) => {
|
|
23
|
+
const query = {
|
|
24
|
+
TableName: this.TABLE_NAME,
|
|
25
|
+
IndexName: indexName,
|
|
26
|
+
KeyConditionExpression: 'accountId = :accountId',
|
|
27
|
+
ExpressionAttributeValues: {
|
|
28
|
+
':accountId': accountId,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
const destinations = await clients_1.DynamoDbClient.queryAll(query);
|
|
32
|
+
return destinations || [];
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
exports.DestinationsService = DestinationsService;
|
|
36
36
|
//# sourceMappingURL=destinations-service.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './destinations-service.js';
|
|
2
|
-
export * from './log-events-data-service.js';
|
|
3
|
-
export * from './purchased-contacts-db-service.js';
|
|
4
|
-
export * from './tracking-events-db-service.js';
|
|
1
|
+
export * from './destinations-service.js';
|
|
2
|
+
export * from './log-events-data-service.js';
|
|
3
|
+
export * from './purchased-contacts-db-service.js';
|
|
4
|
+
export * from './tracking-events-db-service.js';
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./destinations-service.js"), exports);
|
|
18
|
-
__exportStar(require("./log-events-data-service.js"), exports);
|
|
19
|
-
__exportStar(require("./purchased-contacts-db-service.js"), exports);
|
|
20
|
-
__exportStar(require("./tracking-events-db-service.js"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./destinations-service.js"), exports);
|
|
18
|
+
__exportStar(require("./log-events-data-service.js"), exports);
|
|
19
|
+
__exportStar(require("./purchased-contacts-db-service.js"), exports);
|
|
20
|
+
__exportStar(require("./tracking-events-db-service.js"), exports);
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LogEventRecord } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
export declare class LogEventsDataService {
|
|
3
|
-
TABLE_NAME: string;
|
|
4
|
-
constructor(tableName: string);
|
|
5
|
-
getLogEventsByDestinationId: (indexName: string, destinationId: string, limit?: number, afterCollectedAt?: string) => Promise<LogEventRecord[]>;
|
|
6
|
-
}
|
|
1
|
+
import { LogEventRecord } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
export declare class LogEventsDataService {
|
|
3
|
+
TABLE_NAME: string;
|
|
4
|
+
constructor(tableName: string);
|
|
5
|
+
getLogEventsByDestinationId: (indexName: string, destinationId: string, limit?: number, afterCollectedAt?: string) => Promise<LogEventRecord[]>;
|
|
6
|
+
}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LogEventsDataService = void 0;
|
|
4
|
-
const clients_1 = require("../../clients");
|
|
5
|
-
class LogEventsDataService {
|
|
6
|
-
TABLE_NAME;
|
|
7
|
-
constructor(tableName) {
|
|
8
|
-
this.TABLE_NAME = tableName;
|
|
9
|
-
}
|
|
10
|
-
getLogEventsByDestinationId = async (indexName, destinationId, limit, afterCollectedAt) => {
|
|
11
|
-
const query = {
|
|
12
|
-
TableName: this.TABLE_NAME,
|
|
13
|
-
IndexName: indexName,
|
|
14
|
-
KeyConditionExpression: 'destinationId = :destinationId',
|
|
15
|
-
ExpressionAttributeValues: {
|
|
16
|
-
':destinationId': destinationId,
|
|
17
|
-
},
|
|
18
|
-
ScanIndexForward: false,
|
|
19
|
-
};
|
|
20
|
-
if (limit) {
|
|
21
|
-
query.Limit = limit;
|
|
22
|
-
}
|
|
23
|
-
if (afterCollectedAt) {
|
|
24
|
-
query.KeyConditionExpression += ' and collectedAt > :collectedAt';
|
|
25
|
-
query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
|
|
26
|
-
}
|
|
27
|
-
const logEventsResponse = await clients_1.DynamoDbClient.query(query);
|
|
28
|
-
return logEventsResponse?.Items ?? [];
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
exports.LogEventsDataService = LogEventsDataService;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogEventsDataService = void 0;
|
|
4
|
+
const clients_1 = require("../../clients");
|
|
5
|
+
class LogEventsDataService {
|
|
6
|
+
TABLE_NAME;
|
|
7
|
+
constructor(tableName) {
|
|
8
|
+
this.TABLE_NAME = tableName;
|
|
9
|
+
}
|
|
10
|
+
getLogEventsByDestinationId = async (indexName, destinationId, limit, afterCollectedAt) => {
|
|
11
|
+
const query = {
|
|
12
|
+
TableName: this.TABLE_NAME,
|
|
13
|
+
IndexName: indexName,
|
|
14
|
+
KeyConditionExpression: 'destinationId = :destinationId',
|
|
15
|
+
ExpressionAttributeValues: {
|
|
16
|
+
':destinationId': destinationId,
|
|
17
|
+
},
|
|
18
|
+
ScanIndexForward: false,
|
|
19
|
+
};
|
|
20
|
+
if (limit) {
|
|
21
|
+
query.Limit = limit;
|
|
22
|
+
}
|
|
23
|
+
if (afterCollectedAt) {
|
|
24
|
+
query.KeyConditionExpression += ' and collectedAt > :collectedAt';
|
|
25
|
+
query.ExpressionAttributeValues[':collectedAt'] = afterCollectedAt;
|
|
26
|
+
}
|
|
27
|
+
const logEventsResponse = await clients_1.DynamoDbClient.query(query);
|
|
28
|
+
return logEventsResponse?.Items ?? [];
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
exports.LogEventsDataService = LogEventsDataService;
|
|
32
32
|
//# sourceMappingURL=log-events-data-service.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { PurchasedContact } from '@adtrackify/at-tracking-event-types';
|
|
2
|
-
export declare class PurchasedContactsDbService {
|
|
3
|
-
TABLE_NAME: string;
|
|
4
|
-
TABLE_KEY: string;
|
|
5
|
-
constructor(tableName: string, purchasedContactsKey: string);
|
|
6
|
-
getPurchasedContact: (id: string) => Promise<Record<string, any>>;
|
|
7
|
-
putPurchasedContact: (purchasedContact: PurchasedContact) => Promise<PurchasedContact>;
|
|
8
|
-
updatePurchasedContact: (id: string, data: any) => Promise<Record<string, any>>;
|
|
9
|
-
}
|
|
1
|
+
import { PurchasedContact } from '@adtrackify/at-tracking-event-types';
|
|
2
|
+
export declare class PurchasedContactsDbService {
|
|
3
|
+
TABLE_NAME: string;
|
|
4
|
+
TABLE_KEY: string;
|
|
5
|
+
constructor(tableName: string, purchasedContactsKey: string);
|
|
6
|
+
getPurchasedContact: (id: string) => Promise<Record<string, any>>;
|
|
7
|
+
putPurchasedContact: (purchasedContact: PurchasedContact) => Promise<PurchasedContact>;
|
|
8
|
+
updatePurchasedContact: (id: string, data: any) => Promise<Record<string, any>>;
|
|
9
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PurchasedContactsDbService = void 0;
|
|
4
|
-
const clients_1 = require("../../clients");
|
|
5
|
-
const libs_1 = require("../../libs");
|
|
6
|
-
const helpers_1 = require("../../helpers");
|
|
7
|
-
class PurchasedContactsDbService {
|
|
8
|
-
TABLE_NAME;
|
|
9
|
-
TABLE_KEY;
|
|
10
|
-
constructor(tableName, purchasedContactsKey) {
|
|
11
|
-
this.TABLE_NAME = tableName;
|
|
12
|
-
this.TABLE_KEY = purchasedContactsKey;
|
|
13
|
-
}
|
|
14
|
-
getPurchasedContact = async (id) => {
|
|
15
|
-
const purchasedContact = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
|
|
16
|
-
if (!purchasedContact) {
|
|
17
|
-
throw libs_1.HttpError.notFound();
|
|
18
|
-
}
|
|
19
|
-
return purchasedContact;
|
|
20
|
-
};
|
|
21
|
-
putPurchasedContact = async (purchasedContact) => {
|
|
22
|
-
await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
|
|
23
|
-
return purchasedContact;
|
|
24
|
-
};
|
|
25
|
-
updatePurchasedContact = async (id, data) => {
|
|
26
|
-
const purchasedContact = await this.getPurchasedContact(id);
|
|
27
|
-
Object.assign(purchasedContact, data);
|
|
28
|
-
const currentTimestamp = (0, libs_1.getCurrentTimestamp)();
|
|
29
|
-
purchasedContact.updatedAt = currentTimestamp;
|
|
30
|
-
const res = await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
|
|
31
|
-
if (!res) {
|
|
32
|
-
helpers_1.Logger.error('purchased contact update failed', { purchasedContact });
|
|
33
|
-
throw libs_1.HttpError.internal();
|
|
34
|
-
}
|
|
35
|
-
return purchasedContact;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
exports.PurchasedContactsDbService = PurchasedContactsDbService;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PurchasedContactsDbService = void 0;
|
|
4
|
+
const clients_1 = require("../../clients");
|
|
5
|
+
const libs_1 = require("../../libs");
|
|
6
|
+
const helpers_1 = require("../../helpers");
|
|
7
|
+
class PurchasedContactsDbService {
|
|
8
|
+
TABLE_NAME;
|
|
9
|
+
TABLE_KEY;
|
|
10
|
+
constructor(tableName, purchasedContactsKey) {
|
|
11
|
+
this.TABLE_NAME = tableName;
|
|
12
|
+
this.TABLE_KEY = purchasedContactsKey;
|
|
13
|
+
}
|
|
14
|
+
getPurchasedContact = async (id) => {
|
|
15
|
+
const purchasedContact = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
|
|
16
|
+
if (!purchasedContact) {
|
|
17
|
+
throw libs_1.HttpError.notFound();
|
|
18
|
+
}
|
|
19
|
+
return purchasedContact;
|
|
20
|
+
};
|
|
21
|
+
putPurchasedContact = async (purchasedContact) => {
|
|
22
|
+
await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
|
|
23
|
+
return purchasedContact;
|
|
24
|
+
};
|
|
25
|
+
updatePurchasedContact = async (id, data) => {
|
|
26
|
+
const purchasedContact = await this.getPurchasedContact(id);
|
|
27
|
+
Object.assign(purchasedContact, data);
|
|
28
|
+
const currentTimestamp = (0, libs_1.getCurrentTimestamp)();
|
|
29
|
+
purchasedContact.updatedAt = currentTimestamp;
|
|
30
|
+
const res = await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, purchasedContact);
|
|
31
|
+
if (!res) {
|
|
32
|
+
helpers_1.Logger.error('purchased contact update failed', { purchasedContact });
|
|
33
|
+
throw libs_1.HttpError.internal();
|
|
34
|
+
}
|
|
35
|
+
return purchasedContact;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
exports.PurchasedContactsDbService = PurchasedContactsDbService;
|
|
39
39
|
//# sourceMappingURL=purchased-contacts-db-service.js.map
|