@@ -184,11 +184,12 @@ - (BOOL)updateAccount:(id<MSALAccount>)account idTokenClaims:(NSDictionary *)idT
184184{
185185 MSID_LOG_WITH_CTX_PII (MSIDLogLevelInfo, nil , @" Updating account %@ " , MSID_PII_LOG_MASKABLE (account));
186186
187- return [self updateAccount: account
188- idTokenClaims: idTokenClaims
189- tenantProfiles: nil
190- operation: MSALLegacySharedAccountUpdateOperation
191- error: error];
187+ [self updateAccountAsync: account
188+ idTokenClaims: idTokenClaims
189+ tenantProfiles: nil
190+ operation: MSALLegacySharedAccountUpdateOperation
191+ completion: nil ];
192+ return YES ;
192193}
193194
194195- (nullable NSArray <MSALLegacySharedAccount *> *)updatableAccountsFromJsonObject : (NSDictionary *)jsonDictionary
@@ -247,11 +248,29 @@ - (BOOL)removeAccount:(id<MSALAccount>)account
247248 error : (NSError * _Nullable * _Nullable)error
248249{
249250 MSID_LOG_WITH_CTX_PII (MSIDLogLevelInfo, nil , @" Removing account %@ " , MSID_PII_LOG_MASKABLE (account));
250- return [self updateAccount: account
251- idTokenClaims: nil
252- tenantProfiles: tenantProfiles
253- operation: MSALLegacySharedAccountRemoveOperation
254- error: error];
251+
252+ __block BOOL result = YES ;
253+ __block NSError *removeError;
254+
255+ dispatch_barrier_sync (self.synchronizationQueue , ^{
256+ result = [self updateAccountImpl: account
257+ idTokenClaims: nil
258+ tenantProfiles: tenantProfiles
259+ operation: MSALLegacySharedAccountRemoveOperation
260+ error: &removeError];
261+
262+ if (!result)
263+ {
264+ MSID_LOG_WITH_CTX (MSIDLogLevelError, nil , @" Encountered an error updating legacy accounts %@ " , MSID_PII_LOG_MASKABLE (removeError));
265+ }
266+ });
267+
268+ if (error)
269+ {
270+ *error = removeError;
271+ }
272+
273+ return result;
255274}
256275
257276- (nullable NSArray <MSALLegacySharedAccount *> *)removableAccountsFromJsonObject : (NSDictionary *)jsonDictionary
@@ -303,29 +322,27 @@ - (BOOL)removeAccount:(id<MSALAccount>)account
303322
304323#pragma mark - Write
305324
306- - (BOOL ) updateAccount : (id <MSALAccount>)account
307- idTokenClaims : (NSDictionary *)idTokenClaims
308- tenantProfiles : (NSArray <MSALTenantProfile *> *)tenantProfiles
309- operation : (MSALLegacySharedAccountWriteOperation)operation
310- error : ( NSError **) error
325+ - (void ) updateAccountAsync : (id <MSALAccount>)account
326+ idTokenClaims : (NSDictionary *)idTokenClaims
327+ tenantProfiles : (NSArray <MSALTenantProfile *> *)tenantProfiles
328+ operation : (MSALLegacySharedAccountWriteOperation)operation
329+ completion : ( void (^)( BOOL result, NSError *error)) completion
311330{
312- __block BOOL result = YES ;
313- __block NSError *updateError = nil ;
314-
315- dispatch_barrier_sync (self.synchronizationQueue , ^{
316- result = [self updateAccountImpl: account
317- idTokenClaims: idTokenClaims
318- tenantProfiles: tenantProfiles
319- operation: operation
320- error: &updateError];
331+ dispatch_barrier_async (self.synchronizationQueue , ^{
332+ NSError *updateError;
333+ BOOL result = [self updateAccountImpl: account
334+ idTokenClaims: idTokenClaims
335+ tenantProfiles: tenantProfiles
336+ operation: operation
337+ error: &updateError];
338+
339+ if (!result)
340+ {
341+ MSID_LOG_WITH_CTX (MSIDLogLevelError, nil , @" Encountered an error updating legacy accounts %@ " , MSID_PII_LOG_MASKABLE (updateError));
342+ }
343+
344+ if (completion) completion (result, updateError);
321345 });
322-
323- if (error && updateError)
324- {
325- *error = updateError;
326- }
327-
328- return result;
329346}
330347
331348- (BOOL )updateAccountImpl : (id <MSALAccount>)account
0 commit comments