@@ -26,7 +26,7 @@ import ONYXKEYS from '@src/ONYXKEYS';
26
26
import type { InvitedEmailsToAccountIDs , PersonalDetailsList , Policy , PolicyEmployee , PolicyOwnershipChangeChecks , Report , ReportAction } from '@src/types/onyx' ;
27
27
import type { PendingAction } from '@src/types/onyx/OnyxCommon' ;
28
28
import type { JoinWorkspaceResolution } from '@src/types/onyx/OriginalMessage' ;
29
- import type { Attributes , Rate } from '@src/types/onyx/Policy' ;
29
+ import type { ApprovalRule , Attributes , Rate } from '@src/types/onyx/Policy' ;
30
30
import type { OnyxData } from '@src/types/onyx/Request' ;
31
31
import { isEmptyObject } from '@src/types/utils/EmptyObject' ;
32
32
import { createPolicyExpenseChats } from './Policy' ;
@@ -332,11 +332,21 @@ function removeMembers(accountIDs: number[], policyID: string) {
332
332
}
333
333
} ) ;
334
334
335
+ const approvalRules : ApprovalRule [ ] = policy ?. rules ?. approvalRules ?? [ ] ;
336
+ const optimisticApprovalRules = approvalRules . filter ( ( rule ) => ! emailList . includes ( rule ?. approver ?? '' ) ) ;
337
+
335
338
const optimisticData : OnyxUpdate [ ] = [
336
339
{
337
340
onyxMethod : Onyx . METHOD . MERGE ,
338
341
key : policyKey ,
339
- value : { employeeList : optimisticMembersState , approver : emailList . includes ( policy ?. approver ?? '' ) ? policy ?. owner : policy ?. approver } ,
342
+ value : {
343
+ employeeList : optimisticMembersState ,
344
+ approver : emailList . includes ( policy ?. approver ?? '' ) ? policy ?. owner : policy ?. approver ,
345
+ rules : {
346
+ ...( policy ?. rules ?? { } ) ,
347
+ approvalRules : optimisticApprovalRules ,
348
+ } ,
349
+ } ,
340
350
} ,
341
351
] ;
342
352
optimisticData . push ( ...announceRoomMembers . onyxOptimisticData ) ;
@@ -354,7 +364,7 @@ function removeMembers(accountIDs: number[], policyID: string) {
354
364
{
355
365
onyxMethod : Onyx . METHOD . MERGE ,
356
366
key : policyKey ,
357
- value : { employeeList : failureMembersState , approver : policy ?. approver } ,
367
+ value : { employeeList : failureMembersState , approver : policy ?. approver , rules : policy ?. rules } ,
358
368
} ,
359
369
] ;
360
370
failureData . push ( ...announceRoomMembers . onyxFailureData ) ;
0 commit comments