@@ -18,11 +18,11 @@ import {
1818import { BotDetectionService , CommonMemberService } from '@crowd/common_services'
1919import {
2020 OrganizationField ,
21- createMemberIdentity ,
2221 deleteMemberIdentities ,
2322 deleteMemberIdentitiesByCombinations ,
2423 findAlreadyExistingVerifiedIdentities ,
2524 getLastActivitiesForMembers ,
25+ insertMemberIdentities ,
2626 queryActivityRelations ,
2727 queryOrgs ,
2828 updateVerifiedFlag ,
@@ -33,7 +33,7 @@ import { addMemberNoMerge, removeMemberToMerge } from '@crowd/data-access-layer/
3333import {
3434 deleteMemberSegmentAffiliations ,
3535 findMemberAffiliations ,
36- insertMemberAffiliations ,
36+ insertMemberSegmentAffiliations ,
3737} from '@crowd/data-access-layer/src/member_segment_affiliations'
3838import {
3939 MemberField ,
@@ -159,8 +159,9 @@ class MemberRepository {
159159 const subprojectIds = await getSegmentSubprojectIds ( qx , currentSegments )
160160
161161 if ( data . identities ) {
162- for ( const i of data . identities as IMemberIdentity [ ] ) {
163- await createMemberIdentity ( qx , {
162+ await insertMemberIdentities (
163+ qx ,
164+ ( data . identities as IMemberIdentity [ ] ) . map ( ( i ) => ( {
164165 memberId : record . id ,
165166 platform : i . platform ,
166167 type : i . type ,
@@ -169,15 +170,16 @@ class MemberRepository {
169170 integrationId : i . integrationId || null ,
170171 verified : i . verified ,
171172 source : i . source ,
172- } )
173- }
173+ } ) ) ,
174+ )
174175 } else if ( data . username ) {
175176 const username : PlatformIdentities = mapUsernameToIdentities ( data . username )
176177
178+ const identitiesToInsert = [ ]
177179 for ( const platform of Object . keys ( username ) as PlatformType [ ] ) {
178180 const identities : any [ ] = username [ platform ]
179181 for ( const identity of identities ) {
180- await createMemberIdentity ( qx , {
182+ identitiesToInsert . push ( {
181183 memberId : record . id ,
182184 platform,
183185 value : identity . value ? identity . value : identity . username ,
@@ -189,6 +191,10 @@ class MemberRepository {
189191 } )
190192 }
191193 }
194+
195+ if ( identitiesToInsert . length > 0 ) {
196+ await insertMemberIdentities ( qx , identitiesToInsert )
197+ }
192198 }
193199
194200 await includeMemberToSegments ( qx , record . id , subprojectIds )
@@ -1049,8 +1055,9 @@ class MemberRepository {
10491055 }
10501056
10511057 if ( data . identitiesToCreate && data . identitiesToCreate . length > 0 ) {
1052- for ( const i of data . identitiesToCreate ) {
1053- await createMemberIdentity ( qx , {
1058+ await insertMemberIdentities (
1059+ qx ,
1060+ data . identitiesToCreate . map ( ( i ) => ( {
10541061 memberId : record . id ,
10551062 platform : i . platform ,
10561063 value : i . value ,
@@ -1059,8 +1066,8 @@ class MemberRepository {
10591066 integrationId : i . integrationId || null ,
10601067 verified : i . verified !== undefined ? i . verified : ! ! manualChange ,
10611068 source : i . source ,
1062- } )
1063- }
1069+ } ) ) ,
1070+ )
10641071 }
10651072
10661073 if ( data . identitiesToUpdate && data . identitiesToUpdate . length > 0 ) {
@@ -1094,6 +1101,7 @@ class MemberRepository {
10941101 const platformsToDelete : string [ ] = [ ]
10951102 const valuesToDelete : string [ ] = [ ]
10961103 const typesToDelete : MemberIdentityType [ ] = [ ]
1104+ const identitiesToInsert = [ ]
10971105
10981106 for ( const platform of platforms ) {
10991107 const identities = data . username [ platform ]
@@ -1112,7 +1120,7 @@ class MemberRepository {
11121120 ( identity . username && identity . username !== '' ) ||
11131121 ( identity . value && identity . value !== '' )
11141122 ) {
1115- await createMemberIdentity ( qx , {
1123+ identitiesToInsert . push ( {
11161124 memberId : record . id ,
11171125 platform,
11181126 value : identity . value ? identity . value : identity . username ,
@@ -1126,6 +1134,10 @@ class MemberRepository {
11261134 }
11271135 }
11281136
1137+ if ( identitiesToInsert . length > 0 ) {
1138+ await insertMemberIdentities ( qx , identitiesToInsert )
1139+ }
1140+
11291141 if ( platformsToDelete . length > 0 ) {
11301142 await deleteMemberIdentitiesByCombinations ( qx , {
11311143 memberId : record . id ,
@@ -1207,7 +1219,17 @@ class MemberRepository {
12071219 return
12081220 }
12091221
1210- await insertMemberAffiliations ( qx , memberId , data )
1222+ await insertMemberSegmentAffiliations (
1223+ qx ,
1224+ data . map ( ( item ) => ( {
1225+ memberId,
1226+ segmentId : item . segmentId ,
1227+ organizationId : item . organizationId ,
1228+ dateStart : item . dateStart || null ,
1229+ dateEnd : item . dateEnd || null ,
1230+ } ) ) ,
1231+ true ,
1232+ )
12111233 } ) ,
12121234 )
12131235 }
0 commit comments