@@ -24,6 +24,7 @@ export type UserConverterOptions = {
2424
2525 quickUserInsertion ?: boolean ;
2626 enableEmail2fa ?: boolean ;
27+ syncVoipExtension ?: boolean ;
2728} ;
2829
2930export class UserConverter extends RecordConverter < IImportUserRecord , UserConverterOptions & RecordConverterOptions > {
@@ -280,7 +281,14 @@ export class UserConverter extends RecordConverter<IImportUserRecord, UserConver
280281 ...( userData . bio && { bio : userData . bio } ) ,
281282 ...( userData . services ?. ldap && { ldap : true } ) ,
282283 ...( userData . avatarUrl && { _pendingAvatarUrl : userData . avatarUrl } ) ,
284+ ...( this . _options . syncVoipExtension && userData . voipExtension && { freeSwitchExtension : userData . voipExtension } ) ,
283285 } ) ,
286+ ...( this . _options . syncVoipExtension &&
287+ ! userData . voipExtension && {
288+ $unset : {
289+ freeSwitchExtension : 1 ,
290+ } ,
291+ } ) ,
284292 } ) ;
285293
286294 this . addCustomFields ( updateData , userData ) ;
@@ -353,7 +361,7 @@ export class UserConverter extends RecordConverter<IImportUserRecord, UserConver
353361 ...( userData . importIds ?. length && { importIds : userData . importIds } ) ,
354362 ...( ! ! userData . customFields && { customFields : userData . customFields } ) ,
355363 ...( userData . deleted !== undefined && { active : ! userData . deleted } ) ,
356- ...( userData . voipExtension !== undefined && { freeSwitchExtension : userData . voipExtension } ) ,
364+ ...( this . _options . syncVoipExtension && userData . voipExtension && { freeSwitchExtension : userData . voipExtension } ) ,
357365 ...( userData . federated !== undefined && { federated : userData . federated } ) ,
358366 } ;
359367 }
0 commit comments