@adtrackify/at-service-common 3.19.19 → 3.19.20

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.
@@ -431,13 +431,13 @@ describe('IdentityCacheDynamoDbService', () => {
431
431
  await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
432
432
  expect(mockedDynamoDbClient.safeBatchWrite).toHaveBeenCalledTimes(1);
433
433
  const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
434
- expect(writtenItems).toHaveLength(2);
434
+ expect(writtenItems).toHaveLength(3);
435
435
  const pks = writtenItems.map((item) => item.pk);
436
436
  expect(pks).toContain(`identity#${pixelId}#identity456`);
437
437
  expect(pks).toContain(`email#${pixelId}#test@email.com`);
438
+ expect(pks).toContain(`email#${pixelId}#other@email.com`);
438
439
  expect(pks).not.toContain(`user_id#${pixelId}#user1`);
439
440
  expect(pks).not.toContain(`user_id#${pixelId}#user2`);
440
- expect(pks).not.toContain(`email#${pixelId}#other@email.com`);
441
441
  const identityItem = writtenItems.find((item) => item.pk.startsWith('identity#'));
442
442
  expect(identityItem).toBeDefined();
443
443
  expect(identityItem.response).toBeDefined();
@@ -790,5 +790,352 @@ describe('IdentityCacheDynamoDbService', () => {
790
790
  expect(result.isCacheStale).toBe(false);
791
791
  });
792
792
  });
793
+ describe('multiple emails pointer writes', () => {
794
+ const pixelId = 'pixel123';
795
+ it('should write ALL emails as pointer records (not just first)', async () => {
796
+ const identity = {
797
+ identityId: 'identity456',
798
+ traits: {
799
+ emails: ['first@email.com', 'second@email.com', 'third@email.com', 'fourth@email.com'],
800
+ },
801
+ };
802
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
803
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
804
+ expect(writtenItems).toHaveLength(5);
805
+ const emailPks = writtenItems
806
+ .filter((item) => item.pk.startsWith('email#'))
807
+ .map((item) => item.pk);
808
+ expect(emailPks).toContain(`email#${pixelId}#first@email.com`);
809
+ expect(emailPks).toContain(`email#${pixelId}#second@email.com`);
810
+ expect(emailPks).toContain(`email#${pixelId}#third@email.com`);
811
+ expect(emailPks).toContain(`email#${pixelId}#fourth@email.com`);
812
+ });
813
+ it('should skip null/undefined emails in array', async () => {
814
+ const identity = {
815
+ identityId: 'identity456',
816
+ traits: {
817
+ emails: ['valid@email.com', null, undefined, '', 'another@email.com'],
818
+ },
819
+ };
820
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
821
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
822
+ const emailItems = writtenItems.filter((item) => item.pk.startsWith('email#'));
823
+ expect(emailItems).toHaveLength(2);
824
+ expect(emailItems.map((e) => e.pk)).toContain(`email#${pixelId}#valid@email.com`);
825
+ expect(emailItems.map((e) => e.pk)).toContain(`email#${pixelId}#another@email.com`);
826
+ });
827
+ it('should handle empty emails array', async () => {
828
+ const identity = {
829
+ identityId: 'identity456',
830
+ traits: { emails: [] },
831
+ };
832
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
833
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
834
+ expect(writtenItems).toHaveLength(1);
835
+ expect(writtenItems[0].pk).toBe(`identity#${pixelId}#identity456`);
836
+ });
837
+ it('should handle email normalization (lowercase)', async () => {
838
+ const identity = {
839
+ identityId: 'identity456',
840
+ traits: {
841
+ emails: ['UPPERCASE@EMAIL.COM', 'MixedCase@Email.Com'],
842
+ },
843
+ };
844
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
845
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
846
+ const emailPks = writtenItems
847
+ .filter((item) => item.pk.startsWith('email#'))
848
+ .map((item) => item.pk);
849
+ expect(emailPks).toContain(`email#${pixelId}#uppercase@email.com`);
850
+ expect(emailPks).toContain(`email#${pixelId}#mixedcase@email.com`);
851
+ });
852
+ });
853
+ describe('null/undefined traits edge cases', () => {
854
+ const pixelId = 'pixel123';
855
+ it('should handle null traits object', async () => {
856
+ const identity = {
857
+ identityId: 'identity456',
858
+ traits: null,
859
+ };
860
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
861
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
862
+ expect(writtenItems).toHaveLength(1);
863
+ });
864
+ it('should handle undefined traits object', async () => {
865
+ const identity = {
866
+ identityId: 'identity456',
867
+ traits: undefined,
868
+ };
869
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
870
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
871
+ expect(writtenItems).toHaveLength(1);
872
+ });
873
+ it('should return cache miss for identity with null traits in lookup', async () => {
874
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityFromCache(pixelId, {
875
+ traits: null,
876
+ });
877
+ expect(result.resolvedIdentity).toBeUndefined();
878
+ expect(result.isCacheStale).toBe(true);
879
+ expect(mockedDynamoDbClient.safeGet).not.toHaveBeenCalled();
880
+ });
881
+ it('should handle identity with undefined emails in traits', async () => {
882
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityFromCache(pixelId, {
883
+ traits: { userIds: ['user123'] },
884
+ });
885
+ expect(result.resolvedIdentity).toBeUndefined();
886
+ expect(result.isCacheStale).toBe(true);
887
+ });
888
+ });
889
+ describe('backward compatibility (old full-blob format)', () => {
890
+ const pixelId = 'pixel123';
891
+ it('should read old format email record with full response blob', async () => {
892
+ const oldFormatEmailRecord = {
893
+ pk: `email#${pixelId}#test@email.com`,
894
+ pixelId,
895
+ identityId: 'discovered-id',
896
+ gsi1pk: 'discovered-id',
897
+ response: {
898
+ identityId: 'discovered-id',
899
+ traits: { emails: ['test@email.com', 'other@email.com'] },
900
+ },
901
+ updatedAt: new Date().toISOString(),
902
+ };
903
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(oldFormatEmailRecord);
904
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityFromCache(pixelId, {
905
+ traits: { emails: ['test@email.com'] },
906
+ });
907
+ expect(result.resolvedIdentity).toBeDefined();
908
+ expect(result.resolvedIdentity?.identityId).toBe('discovered-id');
909
+ expect(result.isCacheStale).toBe(true);
910
+ });
911
+ it('should read new format pointer record (no response blob)', async () => {
912
+ const newFormatPointerRecord = {
913
+ pk: `email#${pixelId}#test@email.com`,
914
+ pixelId,
915
+ identityId: 'discovered-id',
916
+ gsi1pk: 'discovered-id',
917
+ updatedAt: new Date().toISOString(),
918
+ };
919
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(newFormatPointerRecord);
920
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityFromCache(pixelId, {
921
+ traits: { emails: ['test@email.com'] },
922
+ });
923
+ expect(result.resolvedIdentity).toBeDefined();
924
+ expect(result.resolvedIdentity?.identityId).toBe('discovered-id');
925
+ expect(result.isCacheStale).toBe(true);
926
+ });
927
+ it('should trigger Neptune resolution after finding pointer record', async () => {
928
+ const lambdaArn = 'arn:aws:lambda:us-east-1:123456789:function:identity-private';
929
+ const pointerRecord = {
930
+ pk: `email#${pixelId}#test@email.com`,
931
+ pixelId,
932
+ identityId: 'discovered-id',
933
+ gsi1pk: 'discovered-id',
934
+ updatedAt: new Date().toISOString(),
935
+ };
936
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(pointerRecord);
937
+ mockInvokeFunction.mockResolvedValueOnce({
938
+ statusCode: 200,
939
+ body: JSON.stringify({
940
+ identity: {
941
+ identityId: 'discovered-id',
942
+ traits: { emails: ['test@email.com', 'resolved@email.com'] },
943
+ },
944
+ }),
945
+ });
946
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityWithCaching(pixelId, { traits: { emails: ['test@email.com'] } }, lambdaArn);
947
+ expect(mockInvokeFunction).toHaveBeenCalledWith(lambdaArn, expect.objectContaining({
948
+ pixelId,
949
+ context: {
950
+ identity: expect.objectContaining({
951
+ identityId: 'discovered-id',
952
+ }),
953
+ },
954
+ }));
955
+ expect(result?.identityId).toBe('discovered-id');
956
+ });
957
+ });
958
+ describe('deleteIdentityCache with multiple email pointers', () => {
959
+ const pixelId = 'pixel123';
960
+ it('should delete all email pointers from both incoming and resolved identities', async () => {
961
+ mockedDynamoDbClient.safeQueryByGSI.mockResolvedValue([
962
+ { pk: `identity#${pixelId}#identity456`, pixelId },
963
+ ]);
964
+ mockedDynamoDbClient.batchWrite.mockResolvedValue({ $metadata: {} });
965
+ const incomingIdentity = {
966
+ identityId: 'identity456',
967
+ traits: { emails: ['incoming1@email.com', 'incoming2@email.com'] },
968
+ };
969
+ const resolvedIdentity = {
970
+ identityId: 'identity456',
971
+ traits: { emails: ['resolved1@email.com', 'resolved2@email.com', 'resolved3@email.com'] },
972
+ };
973
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, incomingIdentity, resolvedIdentity);
974
+ expect(mockedDynamoDbClient.batchWrite).toHaveBeenCalled();
975
+ const batchWriteCall = mockedDynamoDbClient.batchWrite.mock.calls[0][0];
976
+ const deleteRequests = batchWriteCall.RequestItems[Object.keys(batchWriteCall.RequestItems)[0]];
977
+ const deletedPks = deleteRequests.map((req) => req.DeleteRequest.Key.pk);
978
+ expect(deletedPks).toContain(`identity#${pixelId}#identity456`);
979
+ expect(deletedPks).toContain(`email#${pixelId}#incoming1@email.com`);
980
+ expect(deletedPks).toContain(`email#${pixelId}#incoming2@email.com`);
981
+ expect(deletedPks).toContain(`email#${pixelId}#resolved1@email.com`);
982
+ expect(deletedPks).toContain(`email#${pixelId}#resolved2@email.com`);
983
+ expect(deletedPks).toContain(`email#${pixelId}#resolved3@email.com`);
984
+ });
985
+ it('should handle empty emails in delete', async () => {
986
+ mockedDynamoDbClient.safeQueryByGSI.mockResolvedValue([
987
+ { pk: `identity#${pixelId}#identity456`, pixelId },
988
+ ]);
989
+ mockedDynamoDbClient.batchWrite.mockResolvedValue({ $metadata: {} });
990
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, { identityId: 'identity456', traits: { emails: [] } }, { identityId: 'identity456' });
991
+ expect(mockedDynamoDbClient.batchWrite).toHaveBeenCalled();
992
+ });
993
+ it('should handle missing traits in delete', async () => {
994
+ mockedDynamoDbClient.safeQueryByGSI.mockResolvedValue([
995
+ { pk: `identity#${pixelId}#identity456`, pixelId },
996
+ ]);
997
+ mockedDynamoDbClient.batchWrite.mockResolvedValue({ $metadata: {} });
998
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, { identityId: 'identity456' }, { identityId: 'identity456' });
999
+ expect(mockedDynamoDbClient.batchWrite).toHaveBeenCalled();
1000
+ });
1001
+ it('should not delete items from other pixelIds', async () => {
1002
+ const otherPixelId = 'other-pixel';
1003
+ mockedDynamoDbClient.safeQueryByGSI.mockResolvedValue([
1004
+ { pk: `identity#${pixelId}#identity456`, pixelId },
1005
+ { pk: `identity#${otherPixelId}#identity456`, pixelId: otherPixelId },
1006
+ ]);
1007
+ mockedDynamoDbClient.batchWrite.mockResolvedValue({ $metadata: {} });
1008
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, { identityId: 'identity456' }, { identityId: 'identity456' });
1009
+ const batchWriteCall = mockedDynamoDbClient.batchWrite.mock.calls[0][0];
1010
+ const deleteRequests = batchWriteCall.RequestItems[Object.keys(batchWriteCall.RequestItems)[0]];
1011
+ const deletedPks = deleteRequests.map((req) => req.DeleteRequest.Key.pk);
1012
+ expect(deletedPks).toContain(`identity#${pixelId}#identity456`);
1013
+ expect(deletedPks).not.toContain(`identity#${otherPixelId}#identity456`);
1014
+ });
1015
+ });
1016
+ describe('GSI1 query for reverse lookups', () => {
1017
+ const pixelId = 'pixel123';
1018
+ it('should find all records by identityId via GSI1', async () => {
1019
+ const identityId = 'identity456';
1020
+ const mockResults = [
1021
+ { pk: `identity#${pixelId}#${identityId}`, pixelId, identityId },
1022
+ { pk: `email#${pixelId}#email1@test.com`, pixelId, identityId },
1023
+ { pk: `email#${pixelId}#email2@test.com`, pixelId, identityId },
1024
+ ];
1025
+ mockedDynamoDbClient.safeQueryByGSI.mockResolvedValue(mockResults);
1026
+ mockedDynamoDbClient.batchWrite.mockResolvedValue({ $metadata: {} });
1027
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, { identityId }, { identityId });
1028
+ expect(mockedDynamoDbClient.safeQueryByGSI).toHaveBeenCalledWith(expect.any(String), expect.any(String), 'gsi1pk', identityId);
1029
+ });
1030
+ it('should handle GSI1 query returning empty results', async () => {
1031
+ mockedDynamoDbClient.safeQueryByGSI.mockResolvedValue([]);
1032
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, { identityId: 'unknown-id' }, { identityId: 'unknown-id' });
1033
+ expect(mockedDynamoDbClient.batchWrite).not.toHaveBeenCalled();
1034
+ });
1035
+ it('should handle GSI1 query error gracefully (fail-open)', async () => {
1036
+ mockedDynamoDbClient.safeQueryByGSI.mockRejectedValueOnce(new Error('GSI query failed'));
1037
+ await expect(identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.deleteIdentityCache(pixelId, { identityId: 'identity456' }, { identityId: 'identity456' })).resolves.toBeUndefined();
1038
+ });
1039
+ });
1040
+ describe('email pointer lookups', () => {
1041
+ const pixelId = 'pixel123';
1042
+ it('should only lookup first email (optimization)', async () => {
1043
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
1044
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityFromCache(pixelId, {
1045
+ traits: { emails: ['first@email.com', 'second@email.com', 'third@email.com'] },
1046
+ });
1047
+ expect(mockedDynamoDbClient.safeGet).toHaveBeenCalledTimes(1);
1048
+ expect(mockedDynamoDbClient.safeGet).toHaveBeenCalledWith(expect.any(String), 'pk', `email#${pixelId}#first@email.com`);
1049
+ });
1050
+ it('should handle whitespace in email during lookup', async () => {
1051
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
1052
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityFromCache(pixelId, {
1053
+ traits: { emails: [' test@email.com '] },
1054
+ });
1055
+ expect(mockedDynamoDbClient.safeGet).toHaveBeenCalled();
1056
+ });
1057
+ });
1058
+ describe('fail-open behavior comprehensive', () => {
1059
+ const pixelId = 'pixel123';
1060
+ const lambdaArn = 'arn:aws:lambda:us-east-1:123456789:function:identity-private';
1061
+ it('should return incoming identity when Neptune throws (fail-open fallback)', async () => {
1062
+ const incomingIdentity = {
1063
+ identityId: 'identity456',
1064
+ traits: { emails: ['test@email.com'] },
1065
+ };
1066
+ mockedDynamoDbClient.safeGet.mockRejectedValueOnce(new Error('DynamoDB down'));
1067
+ mockInvokeFunction.mockRejectedValueOnce(new Error('Lambda down'));
1068
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
1069
+ expect(result).toEqual(incomingIdentity);
1070
+ });
1071
+ it('should continue when cache write fails after Neptune success', async () => {
1072
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
1073
+ mockInvokeFunction.mockResolvedValueOnce({
1074
+ statusCode: 200,
1075
+ body: JSON.stringify({
1076
+ identity: { identityId: 'resolved-id', traits: { emails: ['test@email.com'] } },
1077
+ }),
1078
+ });
1079
+ mockedDynamoDbClient.safeBatchWrite.mockRejectedValueOnce(new Error('Write failed'));
1080
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityWithCaching(pixelId, { traits: { emails: ['test@email.com'] } }, lambdaArn);
1081
+ expect(result?.identityId).toBe('resolved-id');
1082
+ });
1083
+ it('should return incoming identity when Neptune returns non-200', async () => {
1084
+ const incomingIdentity = {
1085
+ identityId: 'incoming-id',
1086
+ traits: { emails: ['test@email.com'] },
1087
+ };
1088
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
1089
+ mockInvokeFunction.mockResolvedValueOnce({
1090
+ statusCode: 500,
1091
+ body: 'Internal Server Error',
1092
+ });
1093
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
1094
+ expect(result).toEqual(incomingIdentity);
1095
+ });
1096
+ it('should return incoming identity when Neptune returns malformed JSON (fail-open)', async () => {
1097
+ const incomingIdentity = {
1098
+ identityId: 'test-id',
1099
+ traits: { emails: ['test@email.com'] },
1100
+ };
1101
+ mockedDynamoDbClient.safeGet.mockResolvedValueOnce(null);
1102
+ mockInvokeFunction.mockResolvedValueOnce({
1103
+ statusCode: 200,
1104
+ body: 'not valid json',
1105
+ });
1106
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityWithCaching(pixelId, incomingIdentity, lambdaArn);
1107
+ expect(result).toEqual(incomingIdentity);
1108
+ });
1109
+ it('should return undefined only when both inputs are invalid', async () => {
1110
+ const result = await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.getIdentityWithCaching(null, null, lambdaArn);
1111
+ expect(result).toBeUndefined();
1112
+ });
1113
+ });
1114
+ describe('gsi1pk attribute on all records', () => {
1115
+ const pixelId = 'pixel123';
1116
+ it('should include gsi1pk on identity record', async () => {
1117
+ const identity = {
1118
+ identityId: 'identity456',
1119
+ traits: { emails: ['test@email.com'] },
1120
+ };
1121
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
1122
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
1123
+ const identityItem = writtenItems.find((item) => item.pk.startsWith('identity#'));
1124
+ expect(identityItem).toBeDefined();
1125
+ expect(identityItem.gsi1pk).toBe('identity456');
1126
+ });
1127
+ it('should include gsi1pk on all email pointer records', async () => {
1128
+ const identity = {
1129
+ identityId: 'identity456',
1130
+ traits: { emails: ['email1@test.com', 'email2@test.com'] },
1131
+ };
1132
+ await identity_cache_dynamodb_service_js_1.IdentityCacheDynamoDbService.updateIdentityCache(pixelId, identity);
1133
+ const writtenItems = mockedDynamoDbClient.safeBatchWrite.mock.calls[0][1];
1134
+ const emailItems = writtenItems.filter((item) => item.pk.startsWith('email#'));
1135
+ for (const emailItem of emailItems) {
1136
+ expect(emailItem.gsi1pk).toBe('identity456');
1137
+ }
1138
+ });
1139
+ });
793
1140
  });
794
1141
  //# sourceMappingURL=identity-cache-dynamodb-service.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity-cache-dynamodb-service.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-dynamodb-service.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-cache-dynamodb-service.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/identity-cache/identity-cache-dynamodb-service.spec.ts"],"names":[],"mappings":"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"}
@@ -153,16 +153,18 @@ class IdentityCacheDynamoDbService {
153
153
  identityId: response.identityId,
154
154
  gsi1pk: response.identityId,
155
155
  });
156
- const firstEmail = response.traits?.emails?.[0];
157
- if (firstEmail) {
158
- const pointerRecord = {
159
- pk: (0, at_tracking_event_types_1.buildEmailPk)(pixelId, firstEmail),
160
- updatedAt: now,
161
- pixelId,
162
- identityId: response.identityId,
163
- gsi1pk: response.identityId,
164
- };
165
- items.push(pointerRecord);
156
+ const emails = response.traits?.emails ?? [];
157
+ for (const email of emails) {
158
+ if (email) {
159
+ const pointerRecord = {
160
+ pk: (0, at_tracking_event_types_1.buildEmailPk)(pixelId, email),
161
+ updatedAt: now,
162
+ pixelId,
163
+ identityId: response.identityId,
164
+ gsi1pk: response.identityId,
165
+ };
166
+ items.push(pointerRecord);
167
+ }
166
168
  }
167
169
  await index_js_1.DynamoDbClient.safeBatchWrite(TABLE_NAME, items);
168
170
  index_js_2.Logger.debug('updated identity cache', { pixelId, identityId: response.identityId, itemCount: items.length });