@@ -75,32 +75,65 @@ async function updateMyProfile(currentUser, files, data) {
7575 "fields=addresses,competitionCountryCode,homeCountryCode"
7676 ) ;
7777 const update = { } ;
78+ let shouldUpdateTrait = false ;
7879 // update member data if city is different from existing one
7980 if ( _ . get ( member , "addresses[0].city" ) !== data . city ) {
8081 update . addresses = _ . cloneDeep ( member . addresses ) ;
8182 if ( ! _ . isEmpty ( update . addresses ) ) {
8283 update . addresses [ 0 ] . city = data . city ;
8384 delete update . addresses [ 0 ] . createdAt ;
8485 delete update . addresses [ 0 ] . updatedAt ;
86+ update . addresses [ 0 ] . streetAddr1 = update . addresses [ 0 ] . streetAddr1
87+ ? update . addresses [ 0 ] . streetAddr1
88+ : " " ;
89+ update . addresses [ 0 ] . type = update . addresses [ 0 ] . type
90+ ? update . addresses [ 0 ] . type
91+ : "HOME" ;
92+ update . addresses [ 0 ] . stateCode = update . addresses [ 0 ] . stateCode
93+ ? update . addresses [ 0 ] . stateCode
94+ : "000" ;
95+ update . addresses [ 0 ] . zip = update . addresses [ 0 ] . zip
96+ ? update . addresses [ 0 ] . zip
97+ : "000" ;
8598 } else {
8699 update . addresses = [
87100 {
88101 city : data . city ,
102+ type : "HOME" ,
103+ stateCode : "000" ,
104+ zip : "000" ,
89105 } ,
90106 ] ;
91107 }
92108 }
93109 // update member data if competitionCountryCode is different from existing one
94110 if ( _ . get ( member , "competitionCountryCode" ) !== data . country ) {
95111 update . competitionCountryCode = data . country ;
112+ shouldUpdateTrait = true ;
96113 }
97114 if ( _ . get ( member , "homeCountryCode" ) !== data . country ) {
98115 update . homeCountryCode = data . country ;
116+ shouldUpdateTrait = true ;
99117 }
100118 // avoid unnecessary api calls
101119 if ( ! _ . isEmpty ( update ) ) {
102120 await helper . updateMember ( currentUser , update ) ;
103121 }
122+ if ( shouldUpdateTrait ) {
123+ const memberTraits = await helper . getMemberTraits (
124+ currentUser . handle ,
125+ `traitIds=basic_info`
126+ ) ;
127+ if ( memberTraits && memberTraits . length ) {
128+ memberTraits [ 0 ] [ "traits" ] . data [ 0 ] . country = data . countryName ;
129+ delete memberTraits [ 0 ] . createdAt ;
130+ delete memberTraits [ 0 ] . createdBy ;
131+ delete memberTraits [ 0 ] . updatedAt ;
132+ delete memberTraits [ 0 ] . updatedBy ;
133+ delete memberTraits [ 0 ] . userId ;
134+ await helper . updateMemberTraits ( currentUser , memberTraits ) ;
135+ }
136+ }
104137 await helper . updateRCRMProfile ( currentUser , files . resume , {
105138 phone : data . phone ,
106139 availability : data . availability ,
@@ -119,6 +152,7 @@ updateMyProfile.schema = Joi.object()
119152 . keys ( {
120153 city : Joi . string ( ) . required ( ) ,
121154 country : Joi . string ( ) . required ( ) ,
155+ countryName : Joi . string ( ) . required ( ) ,
122156 phone : Joi . string ( ) . required ( ) ,
123157 availability : Joi . boolean ( ) . required ( ) ,
124158 } )
0 commit comments