@adtrackify/at-service-common 3.4.4 → 3.4.6

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.
@@ -0,0 +1,11 @@
1
+ export interface CookieOptions {
2
+ domain?: string;
3
+ path?: string;
4
+ maxAge?: number;
5
+ secure?: boolean;
6
+ httpOnly?: boolean;
7
+ sameSite?: 'Strict' | 'Lax' | 'None';
8
+ }
9
+ export declare const createCookie: (name: string, value: string, options?: CookieOptions) => string;
10
+ export declare const parseCookieHeader: (cookieHeader: string) => Record<string, string>;
11
+ export declare const getCookiesWithPrefix: (cookies: Record<string, string>, prefix: string) => Record<string, string>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCookiesWithPrefix = exports.parseCookieHeader = exports.createCookie = void 0;
4
+ const helpers_1 = require("../helpers");
5
+ const createCookie = (name, value, options = {}) => {
6
+ try {
7
+ const { domain, path = '/', maxAge, secure = true, httpOnly = false, sameSite = 'Lax' } = options;
8
+ let cookie = `${name}=${value}`;
9
+ if (domain) {
10
+ cookie += `; Domain=${domain}`;
11
+ }
12
+ if (path) {
13
+ cookie += `; Path=${path}`;
14
+ }
15
+ if (maxAge) {
16
+ cookie += `; Max-Age=${maxAge}`;
17
+ }
18
+ if (secure) {
19
+ cookie += '; Secure';
20
+ }
21
+ if (httpOnly) {
22
+ cookie += '; HttpOnly';
23
+ }
24
+ if (sameSite) {
25
+ cookie += `; SameSite=${sameSite}`;
26
+ }
27
+ return cookie;
28
+ }
29
+ catch (error) {
30
+ helpers_1.Logger.error('Error creating cookie', { error, name, value, options });
31
+ return '';
32
+ }
33
+ };
34
+ exports.createCookie = createCookie;
35
+ const parseCookieHeader = (cookieHeader) => {
36
+ try {
37
+ return cookieHeader.split(';').reduce((acc, cookie) => {
38
+ const [key, value] = cookie.split('=');
39
+ acc[key.trim()] = decodeURIComponent(value.trim());
40
+ return acc;
41
+ }, {});
42
+ }
43
+ catch (error) {
44
+ helpers_1.Logger.error('Error parsing cookie header', { error, cookieHeader });
45
+ return {};
46
+ }
47
+ };
48
+ exports.parseCookieHeader = parseCookieHeader;
49
+ const getCookiesWithPrefix = (cookies, prefix) => {
50
+ try {
51
+ const cookieKeys = Object.keys(cookies);
52
+ if (cookieKeys.length === 0) {
53
+ return {};
54
+ }
55
+ return cookieKeys.filter(key => key.startsWith(prefix)).reduce((acc, key) => {
56
+ acc[key] = cookies[key];
57
+ return acc;
58
+ }, {});
59
+ }
60
+ catch (error) {
61
+ helpers_1.Logger.error('Error getting cookies with prefix', { error, cookies, prefix });
62
+ return {};
63
+ }
64
+ };
65
+ exports.getCookiesWithPrefix = getCookiesWithPrefix;
66
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/libs/cookie.ts"],"names":[],"mappings":";;;AAAA,wCAAoC;AAW7B,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,UAAyB,EAAE,EAAU,EAAE;IAC/F,IAAI;QACF,MAAM,EACJ,MAAM,EACN,IAAI,GAAG,GAAG,EACV,MAAM,EACN,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EACjB,GAAG,OAAO,CAAC;QAEZ,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,YAAY,MAAM,EAAE,CAAC;SAChC;QACD,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC;SAC5B;QACD,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,aAAa,MAAM,EAAE,CAAC;SACjC;QACD,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,UAAU,CAAC;SACtB;QACD,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,YAAY,CAAC;SACxB;QACD,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,cAAc,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,gBAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAA;AAnCY,QAAA,YAAY,gBAmCxB;AAEM,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAA0B,EAAE;IAChF,IAAI;QACF,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,MAAM,EAAE,EAAE;YAC5E,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAAC,OAAO,KAAK,EAAE;QACd,gBAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B;AAEK,MAAM,oBAAoB,GAAG,CAAC,OAA+B,EAAE,MAAc,EAA0B,EAAE;IAC9G,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,GAAG,EAAE,EAAE;YAClG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAAC,OAAO,KAAK,EAAE;QACd,gBAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B"}
@@ -12,3 +12,4 @@ export * from './traits.js';
12
12
  export * from './currency.js';
13
13
  export * from './numbers.js';
14
14
  export * from './strings.js';
15
+ export * from './cookie.js';
@@ -28,4 +28,5 @@ __exportStar(require("./traits.js"), exports);
28
28
  __exportStar(require("./currency.js"), exports);
29
29
  __exportStar(require("./numbers.js"), exports);
30
30
  __exportStar(require("./strings.js"), exports);
31
+ __exportStar(require("./cookie.js"), exports);
31
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8CAA4B;AAC5B,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,2CAAyB;AACzB,6DAA2C;AAC3C,uDAAqC;AACrC,mDAAiC;AACjC,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8CAA4B;AAC5B,6CAA2B;AAC3B,kDAAgC;AAChC,yDAAuC;AACvC,2CAAyB;AACzB,6DAA2C;AAC3C,uDAAqC;AACrC,mDAAiC;AACjC,2CAAyB;AACzB,8CAA4B;AAC5B,gDAA8B;AAC9B,+CAA6B;AAC7B,+CAA6B;AAC7B,8CAA4B"}
@@ -1,8 +1,9 @@
1
- import { PurchasableContact } from '@adtrackify/at-tracking-event-types';
1
+ import { CONTACT_ACQUISITION_SOURCE, CONTACT_ACQUISITION_SOURCE_ID, EmailableVerifyEmailResponse, IPDataResponse, PurchasableContact, ThirdPartyContact } from '@adtrackify/at-tracking-event-types';
2
2
  export declare class PurchasableContactsDbService {
3
3
  TABLE_NAME: string;
4
4
  TABLE_KEY: string;
5
5
  constructor(tableName: string, purchasableContactsKey: string);
6
+ buildPurchasableContact: (contact: ThirdPartyContact, source: CONTACT_ACQUISITION_SOURCE, sourceId: CONTACT_ACQUISITION_SOURCE_ID, emailVerification: EmailableVerifyEmailResponse, ipLookupResponse?: IPDataResponse) => PurchasableContact;
6
7
  getPurchasableContact: (id: string) => Promise<PurchasableContact>;
7
8
  putPurchasableContact: (purchasableContact: PurchasableContact) => Promise<PurchasableContact>;
8
9
  }
@@ -10,6 +10,24 @@ class PurchasableContactsDbService {
10
10
  this.TABLE_NAME = tableName;
11
11
  this.TABLE_KEY = purchasableContactsKey;
12
12
  }
13
+ buildPurchasableContact = (contact, source, sourceId, emailVerification, ipLookupResponse) => {
14
+ const currentTimestamp = (0, libs_1.getCurrentTimestamp)();
15
+ const purchasableContact = {
16
+ ...contact,
17
+ email: contact?.emailAddress,
18
+ ipAddress: contact?.ipAddress,
19
+ ipAddressEnrichment: ipLookupResponse,
20
+ url: contact?.url,
21
+ source,
22
+ sourceId,
23
+ contact,
24
+ emailVerification,
25
+ emailStatus: emailVerification?.state,
26
+ createdAt: currentTimestamp,
27
+ updatedAt: currentTimestamp,
28
+ };
29
+ return purchasableContact;
30
+ };
13
31
  getPurchasableContact = async (id) => {
14
32
  const purchasableContact = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
15
33
  if (!purchasableContact) {
@@ -1 +1 @@
1
- {"version":3,"file":"purchasable-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchasable-contacts-db-service.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAC/C,qCAAuC;AAEvC,MAAa,4BAA4B;IAChC,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,sBAA8B;QAC3D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC1C,CAAC;IAEM,qBAAqB,GAAG,KAAK,EAAE,EAAU,EAA+B,EAAE;QAC/E,MAAM,kBAAkB,GAAG,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,gBAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,kBAAwC,CAAC;IAClD,CAAC,CAAA;IAEM,qBAAqB,GAAG,KAAK,EAAE,kBAAsC,EAA+B,EAAE;QAC3G,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;CACF;AArBD,oEAqBC"}
1
+ {"version":3,"file":"purchasable-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchasable-contacts-db-service.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAC/C,qCAA4D;AAE5D,MAAa,4BAA4B;IAChC,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,sBAA8B;QAC3D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC1C,CAAC;IAEM,uBAAuB,GAAG,CAAC,OAA0B,EAAE,MAAkC,EAAE,QAAuC,EAAE,iBAA+C,EAAE,gBAAiC,EAAsB,EAAE;QACnP,MAAM,gBAAgB,GAAG,IAAA,0BAAmB,GAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAuB;YAC7C,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,EAAE,YAAsB;YACtC,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,mBAAmB,EAAE,gBAAgB;YACrC,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,MAAM;YACN,QAAQ;YACR,OAAO;YACP,iBAAiB;YACjB,WAAW,EAAE,iBAAiB,EAAE,KAAK;YACrC,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,gBAAgB;SAC5B,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;IAEM,qBAAqB,GAAG,KAAK,EAAE,EAAU,EAA+B,EAAE;QAC/E,MAAM,kBAAkB,GAAG,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,gBAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,kBAAwC,CAAC;IAClD,CAAC,CAAA;IAEM,qBAAqB,GAAG,KAAK,EAAE,kBAAsC,EAA+B,EAAE;QAC3G,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;CACF;AAxCD,oEAwCC"}
@@ -1,8 +1,9 @@
1
- import { PurchasedContact } from '@adtrackify/at-tracking-event-types';
1
+ import { PurchasedContact, ThirdPartyContact } from '@adtrackify/at-tracking-event-types';
2
2
  export declare class PurchasedContactsDbService {
3
3
  TABLE_NAME: string;
4
4
  TABLE_KEY: string;
5
5
  constructor(tableName: string, purchasedContactsKey: string);
6
+ buildPurchasedContact: (accountId: string, primaryContact: ThirdPartyContact, contacts: ThirdPartyContact[]) => PurchasedContact;
6
7
  getPurchasedContact: (id: string) => Promise<PurchasedContact>;
7
8
  batchGetPurchasedContacts: (ids: string[]) => Promise<PurchasedContact[]>;
8
9
  putPurchasedContact: (purchasedContact: PurchasedContact) => Promise<PurchasedContact>;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PurchasedContactsDbService = void 0;
4
+ const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
4
5
  const clients_1 = require("../../clients");
5
6
  const libs_1 = require("../../libs");
6
7
  const helpers_1 = require("../../helpers");
8
+ const ulid_1 = require("ulid");
7
9
  class PurchasedContactsDbService {
8
10
  TABLE_NAME;
9
11
  TABLE_KEY;
@@ -11,6 +13,25 @@ class PurchasedContactsDbService {
11
13
  this.TABLE_NAME = tableName;
12
14
  this.TABLE_KEY = purchasedContactsKey;
13
15
  }
16
+ buildPurchasedContact = (accountId, primaryContact, contacts) => {
17
+ const currentTimestamp = (0, libs_1.getCurrentTimestamp)();
18
+ const purchasedContact = {
19
+ ...primaryContact,
20
+ primaryIdentityId: primaryContact.identityId,
21
+ matchedIdentityId: primaryContact.matchedIdentityId,
22
+ isIdentityMerged: primaryContact.isIdentityMerged,
23
+ id: (0, ulid_1.ulid)(),
24
+ contacts,
25
+ contactId: primaryContact.id,
26
+ accountId,
27
+ emailStatus: primaryContact?.emailVerification?.state,
28
+ purchasedStatus: at_tracking_event_types_1.PURCHASED_CONTACT_STATUS.ACTIVE,
29
+ purchasedAt: currentTimestamp,
30
+ createdAt: currentTimestamp,
31
+ updatedAt: currentTimestamp
32
+ };
33
+ return purchasedContact;
34
+ };
14
35
  getPurchasedContact = async (id) => {
15
36
  const purchasedContact = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
16
37
  if (!purchasedContact) {
@@ -1 +1 @@
1
- {"version":3,"file":"purchased-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchased-contacts-db-service.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAC/C,qCAA4D;AAC5D,2CAAuC;AAEvC,MAAa,0BAA0B;IAC9B,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,oBAA4B;QACzD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;IACxC,CAAC;IAEM,mBAAmB,GAAG,KAAK,EAAE,EAAU,EAA6B,EAAE;QAC3E,MAAM,gBAAgB,GAAG,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,gBAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,gBAAoC,CAAC;IAC9C,CAAC,CAAA;IAEM,yBAAyB,GAAG,KAAK,EAAE,GAAa,EAA+B,EAAE;QACtF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,EAAE,CAAC;SACX;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,MAAM,wBAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnF,OAAO,iBAAuC,CAAC;IACjD,CAAC,CAAA;IAEM,mBAAmB,GAAG,KAAK,EAAE,gBAAkC,EAA6B,EAAE;QACnG,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAChE,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAA;IAEM,sBAAsB,GAAG,KAAK,EAAE,EAAU,EAAE,IAAS,EAA6B,EAAE;QACzF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAA,0BAAmB,GAAE,CAAC;QAC/C,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,EAAE;YACR,gBAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACtE,MAAM,gBAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAA;CACF;AA7CD,gEA6CC"}
1
+ {"version":3,"file":"purchased-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchased-contacts-db-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface CookieOptions {
2
+ domain?: string;
3
+ path?: string;
4
+ maxAge?: number;
5
+ secure?: boolean;
6
+ httpOnly?: boolean;
7
+ sameSite?: 'Strict' | 'Lax' | 'None';
8
+ }
9
+ export declare const createCookie: (name: string, value: string, options?: CookieOptions) => string;
10
+ export declare const parseCookieHeader: (cookieHeader: string) => Record<string, string>;
11
+ export declare const getCookiesWithPrefix: (cookies: Record<string, string>, prefix: string) => Record<string, string>;
@@ -0,0 +1,60 @@
1
+ import { Logger } from '../helpers';
2
+ export const createCookie = (name, value, options = {}) => {
3
+ try {
4
+ const { domain, path = '/', maxAge, secure = true, httpOnly = false, sameSite = 'Lax' } = options;
5
+ let cookie = `${name}=${value}`;
6
+ if (domain) {
7
+ cookie += `; Domain=${domain}`;
8
+ }
9
+ if (path) {
10
+ cookie += `; Path=${path}`;
11
+ }
12
+ if (maxAge) {
13
+ cookie += `; Max-Age=${maxAge}`;
14
+ }
15
+ if (secure) {
16
+ cookie += '; Secure';
17
+ }
18
+ if (httpOnly) {
19
+ cookie += '; HttpOnly';
20
+ }
21
+ if (sameSite) {
22
+ cookie += `; SameSite=${sameSite}`;
23
+ }
24
+ return cookie;
25
+ }
26
+ catch (error) {
27
+ Logger.error('Error creating cookie', { error, name, value, options });
28
+ return '';
29
+ }
30
+ };
31
+ export const parseCookieHeader = (cookieHeader) => {
32
+ try {
33
+ return cookieHeader.split(';').reduce((acc, cookie) => {
34
+ const [key, value] = cookie.split('=');
35
+ acc[key.trim()] = decodeURIComponent(value.trim());
36
+ return acc;
37
+ }, {});
38
+ }
39
+ catch (error) {
40
+ Logger.error('Error parsing cookie header', { error, cookieHeader });
41
+ return {};
42
+ }
43
+ };
44
+ export const getCookiesWithPrefix = (cookies, prefix) => {
45
+ try {
46
+ const cookieKeys = Object.keys(cookies);
47
+ if (cookieKeys.length === 0) {
48
+ return {};
49
+ }
50
+ return cookieKeys.filter(key => key.startsWith(prefix)).reduce((acc, key) => {
51
+ acc[key] = cookies[key];
52
+ return acc;
53
+ }, {});
54
+ }
55
+ catch (error) {
56
+ Logger.error('Error getting cookies with prefix', { error, cookies, prefix });
57
+ return {};
58
+ }
59
+ };
60
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/libs/cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAWpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,UAAyB,EAAE,EAAU,EAAE;IAC/F,IAAI;QACF,MAAM,EACJ,MAAM,EACN,IAAI,GAAG,GAAG,EACV,MAAM,EACN,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EACjB,GAAG,OAAO,CAAC;QAEZ,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,YAAY,MAAM,EAAE,CAAC;SAChC;QACD,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,UAAU,IAAI,EAAE,CAAC;SAC5B;QACD,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,aAAa,MAAM,EAAE,CAAC;SACjC;QACD,IAAI,MAAM,EAAE;YACV,MAAM,IAAI,UAAU,CAAC;SACtB;QACD,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,YAAY,CAAC;SACxB;QACD,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,cAAc,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAA0B,EAAE;IAChF,IAAI;QACF,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,MAAM,EAAE,EAAE;YAC5E,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAA+B,EAAE,MAAc,EAA0B,EAAE;IAC9G,IAAI;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,GAAG,EAAE,EAAE;YAClG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC"}
@@ -12,3 +12,4 @@ export * from './traits.js';
12
12
  export * from './currency.js';
13
13
  export * from './numbers.js';
14
14
  export * from './strings.js';
15
+ export * from './cookie.js';
@@ -12,4 +12,5 @@ export * from './traits.js';
12
12
  export * from './currency.js';
13
13
  export * from './numbers.js';
14
14
  export * from './strings.js';
15
+ export * from './cookie.js';
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -1,8 +1,9 @@
1
- import { PurchasableContact } from '@adtrackify/at-tracking-event-types';
1
+ import { CONTACT_ACQUISITION_SOURCE, CONTACT_ACQUISITION_SOURCE_ID, EmailableVerifyEmailResponse, IPDataResponse, PurchasableContact, ThirdPartyContact } from '@adtrackify/at-tracking-event-types';
2
2
  export declare class PurchasableContactsDbService {
3
3
  TABLE_NAME: string;
4
4
  TABLE_KEY: string;
5
5
  constructor(tableName: string, purchasableContactsKey: string);
6
+ buildPurchasableContact: (contact: ThirdPartyContact, source: CONTACT_ACQUISITION_SOURCE, sourceId: CONTACT_ACQUISITION_SOURCE_ID, emailVerification: EmailableVerifyEmailResponse, ipLookupResponse?: IPDataResponse) => PurchasableContact;
6
7
  getPurchasableContact: (id: string) => Promise<PurchasableContact>;
7
8
  putPurchasableContact: (purchasableContact: PurchasableContact) => Promise<PurchasableContact>;
8
9
  }
@@ -1,5 +1,5 @@
1
1
  import { DynamoDbClient } from '../../clients';
2
- import { HttpError } from '../../libs';
2
+ import { getCurrentTimestamp, HttpError } from '../../libs';
3
3
  export class PurchasableContactsDbService {
4
4
  TABLE_NAME;
5
5
  TABLE_KEY;
@@ -7,6 +7,24 @@ export class PurchasableContactsDbService {
7
7
  this.TABLE_NAME = tableName;
8
8
  this.TABLE_KEY = purchasableContactsKey;
9
9
  }
10
+ buildPurchasableContact = (contact, source, sourceId, emailVerification, ipLookupResponse) => {
11
+ const currentTimestamp = getCurrentTimestamp();
12
+ const purchasableContact = {
13
+ ...contact,
14
+ email: contact?.emailAddress,
15
+ ipAddress: contact?.ipAddress,
16
+ ipAddressEnrichment: ipLookupResponse,
17
+ url: contact?.url,
18
+ source,
19
+ sourceId,
20
+ contact,
21
+ emailVerification,
22
+ emailStatus: emailVerification?.state,
23
+ createdAt: currentTimestamp,
24
+ updatedAt: currentTimestamp,
25
+ };
26
+ return purchasableContact;
27
+ };
10
28
  getPurchasableContact = async (id) => {
11
29
  const purchasableContact = await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
12
30
  if (!purchasableContact) {
@@ -1 +1 @@
1
- {"version":3,"file":"purchasable-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchasable-contacts-db-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,OAAO,4BAA4B;IAChC,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,sBAA8B;QAC3D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC1C,CAAC;IAEM,qBAAqB,GAAG,KAAK,EAAE,EAAU,EAA+B,EAAE;QAC/E,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,kBAAwC,CAAC;IAClD,CAAC,CAAA;IAEM,qBAAqB,GAAG,KAAK,EAAE,kBAAsC,EAA+B,EAAE;QAC3G,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"purchasable-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchasable-contacts-db-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,OAAO,4BAA4B;IAChC,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,sBAA8B;QAC3D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC1C,CAAC;IAEM,uBAAuB,GAAG,CAAC,OAA0B,EAAE,MAAkC,EAAE,QAAuC,EAAE,iBAA+C,EAAE,gBAAiC,EAAsB,EAAE;QACnP,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAuB;YAC7C,GAAG,OAAO;YACV,KAAK,EAAE,OAAO,EAAE,YAAsB;YACtC,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,mBAAmB,EAAE,gBAAgB;YACrC,GAAG,EAAE,OAAO,EAAE,GAAG;YACjB,MAAM;YACN,QAAQ;YACR,OAAO;YACP,iBAAiB;YACjB,WAAW,EAAE,iBAAiB,EAAE,KAAK;YACrC,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,gBAAgB;SAC5B,CAAC;QACF,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;IAEM,qBAAqB,GAAG,KAAK,EAAE,EAAU,EAA+B,EAAE;QAC/E,MAAM,kBAAkB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,kBAAkB,EAAE;YACvB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,kBAAwC,CAAC;IAClD,CAAC,CAAA;IAEM,qBAAqB,GAAG,KAAK,EAAE,kBAAsC,EAA+B,EAAE;QAC3G,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA;CACF"}
@@ -1,8 +1,9 @@
1
- import { PurchasedContact } from '@adtrackify/at-tracking-event-types';
1
+ import { PurchasedContact, ThirdPartyContact } from '@adtrackify/at-tracking-event-types';
2
2
  export declare class PurchasedContactsDbService {
3
3
  TABLE_NAME: string;
4
4
  TABLE_KEY: string;
5
5
  constructor(tableName: string, purchasedContactsKey: string);
6
+ buildPurchasedContact: (accountId: string, primaryContact: ThirdPartyContact, contacts: ThirdPartyContact[]) => PurchasedContact;
6
7
  getPurchasedContact: (id: string) => Promise<PurchasedContact>;
7
8
  batchGetPurchasedContacts: (ids: string[]) => Promise<PurchasedContact[]>;
8
9
  putPurchasedContact: (purchasedContact: PurchasedContact) => Promise<PurchasedContact>;
@@ -1,6 +1,8 @@
1
+ import { PURCHASED_CONTACT_STATUS } from '@adtrackify/at-tracking-event-types';
1
2
  import { DynamoDbClient } from '../../clients';
2
3
  import { HttpError, getCurrentTimestamp } from '../../libs';
3
4
  import { Logger } from '../../helpers';
5
+ import { ulid } from 'ulid';
4
6
  export class PurchasedContactsDbService {
5
7
  TABLE_NAME;
6
8
  TABLE_KEY;
@@ -8,6 +10,25 @@ export class PurchasedContactsDbService {
8
10
  this.TABLE_NAME = tableName;
9
11
  this.TABLE_KEY = purchasedContactsKey;
10
12
  }
13
+ buildPurchasedContact = (accountId, primaryContact, contacts) => {
14
+ const currentTimestamp = getCurrentTimestamp();
15
+ const purchasedContact = {
16
+ ...primaryContact,
17
+ primaryIdentityId: primaryContact.identityId,
18
+ matchedIdentityId: primaryContact.matchedIdentityId,
19
+ isIdentityMerged: primaryContact.isIdentityMerged,
20
+ id: ulid(),
21
+ contacts,
22
+ contactId: primaryContact.id,
23
+ accountId,
24
+ emailStatus: primaryContact?.emailVerification?.state,
25
+ purchasedStatus: PURCHASED_CONTACT_STATUS.ACTIVE,
26
+ purchasedAt: currentTimestamp,
27
+ createdAt: currentTimestamp,
28
+ updatedAt: currentTimestamp
29
+ };
30
+ return purchasedContact;
31
+ };
11
32
  getPurchasedContact = async (id) => {
12
33
  const purchasedContact = await DynamoDbClient.safeGet(this.TABLE_NAME, this.TABLE_KEY, id);
13
34
  if (!purchasedContact) {
@@ -1 +1 @@
1
- {"version":3,"file":"purchased-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchased-contacts-db-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,OAAO,0BAA0B;IAC9B,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,oBAA4B;QACzD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC;IACxC,CAAC;IAEM,mBAAmB,GAAG,KAAK,EAAE,EAAU,EAA6B,EAAE;QAC3E,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,gBAAoC,CAAC;IAC9C,CAAC,CAAA;IAEM,yBAAyB,GAAG,KAAK,EAAE,GAAa,EAA+B,EAAE;QACtF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO,EAAE,CAAC;SACX;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnF,OAAO,iBAAuC,CAAC;IACjD,CAAC,CAAA;IAEM,mBAAmB,GAAG,KAAK,EAAE,gBAAkC,EAA6B,EAAE;QACnG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAChE,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAA;IAEM,sBAAsB,GAAG,KAAK,EAAE,EAAU,EAAE,IAAS,EAA6B,EAAE;QACzF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACtE,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;SAC5B;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"purchased-contacts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/purchased-contacts-db-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-service-common",
3
- "version": "3.4.4",
3
+ "version": "3.4.6",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist/*"
@@ -46,7 +46,8 @@
46
46
  "libphonenumber-js": "^1.12.10",
47
47
  "pako": "^2.1.0",
48
48
  "papaparse": "^5.5.3",
49
- "shopify-api-node": "^3.12.7"
49
+ "shopify-api-node": "^3.12.7",
50
+ "ulid": "^3.0.1"
50
51
  },
51
52
  "peerDependencies": {
52
53
  "assert": "^2.0.0",
@@ -61,7 +62,7 @@
61
62
  "uuid": "^9.0.0"
62
63
  },
63
64
  "devDependencies": {
64
- "@adtrackify/at-tracking-event-types": "^3.3.13",
65
+ "@adtrackify/at-tracking-event-types": "^3.3.18",
65
66
  "@aws-sdk/client-cognito-identity-provider": "^3.345.0",
66
67
  "@aws-sdk/client-dynamodb": "^3.345.0",
67
68
  "@aws-sdk/client-eventbridge": "^3.345.0",
@@ -126,4 +127,4 @@
126
127
  "author": "",
127
128
  "license": "ISC",
128
129
  "homepage": "https://bitbucket.org/eacap/at-service-common#readme"
129
- }
130
+ }