@@ -45,8 +45,8 @@ class MembersService {
45
45
* @return {Promise } Resolves to the data object.
46
46
*/
47
47
async getMemberInfo ( handle ) {
48
- const res = await this . private . api . get ( `/members/${ handle } ` ) ;
49
- return getApiResponsePayload ( res ) ;
48
+ const res = await this . private . apiV5 . get ( `/members/${ handle } ` ) ;
49
+ return handleApiResponse ( res ) ;
50
50
}
51
51
52
52
/**
@@ -75,8 +75,8 @@ class MembersService {
75
75
* @return {Promise } Resolves to the stats object.
76
76
*/
77
77
async getSkills ( handle ) {
78
- const res = await this . private . api . get ( `/members/${ handle } /skills` ) ;
79
- return getApiResponsePayload ( res ) ;
78
+ const res = await this . private . apiV5 . get ( `/members/${ handle } /skills` ) ;
79
+ return handleApiResponse ( res ) ;
80
80
}
81
81
82
82
/**
@@ -188,16 +188,12 @@ class MembersService {
188
188
*/
189
189
async addSkill ( handle , skillTagId ) {
190
190
const body = {
191
- param : {
192
- skills : {
193
- [ skillTagId ] : {
194
- hidden : false ,
195
- } ,
196
- } ,
191
+ [ skillTagId ] : {
192
+ hidden : false ,
197
193
} ,
198
194
} ;
199
- const res = await this . private . api . patchJson ( `/members/${ handle } /skills` , body ) ;
200
- return getApiResponsePayload ( res ) ;
195
+ const res = await this . private . apiV5 . patchJson ( `/members/${ handle } /skills` , body ) ;
196
+ return handleApiResponse ( res ) ;
201
197
}
202
198
203
199
/**
@@ -208,19 +204,15 @@ class MembersService {
208
204
*/
209
205
async hideSkill ( handle , skillTagId ) {
210
206
const body = {
211
- param : {
212
- skills : {
213
- [ skillTagId ] : {
214
- hidden : true ,
215
- } ,
216
- } ,
207
+ [ skillTagId ] : {
208
+ hidden : true ,
217
209
} ,
218
210
} ;
219
- const res = await this . private . api . fetch ( `/members/${ handle } /skills` , {
211
+ const res = await this . private . apiV5 . fetch ( `/members/${ handle } /skills` , {
220
212
body : JSON . stringify ( body ) ,
221
213
method : 'PATCH' ,
222
214
} ) ;
223
- return getApiResponsePayload ( res ) ;
215
+ return handleApiResponse ( res ) ;
224
216
}
225
217
226
218
/**
@@ -237,6 +229,20 @@ class MembersService {
237
229
return getApiResponsePayload ( res ) ;
238
230
}
239
231
232
+ /**
233
+ * Updates member profile.
234
+ * @param {Object } profile The profile to update.
235
+ * @return {Promise } Resolves to the api response content
236
+ */
237
+ async updateMemberProfileV5 ( profile , handle ) {
238
+ const url = profile . verifyUrl ? `/members/${ handle } ?verifyUrl=${ profile . verifyUrl } ` : `/members/${ handle } ` ;
239
+ const res = await this . private . apiV5 . putJson ( url , profile . verifyUrl ? _ . omit ( profile , [ 'verifyUrl' ] ) : profile ) ;
240
+ if ( profile . verifyUrl && res . status === 409 ) {
241
+ return Promise . resolve ( Object . assign ( { } , profile , { isEmailConflict : true } ) ) ;
242
+ }
243
+ return handleApiResponse ( res ) ;
244
+ }
245
+
240
246
/**
241
247
* Updates member photo.
242
248
* @param {String } userHandle The user handle
0 commit comments