@@ -17,6 +17,7 @@ import * as PolicyUtils from '@libs/PolicyUtils';
17
17
import * as ReportUtils from '@libs/ReportUtils' ;
18
18
import CONST from '@src/CONST' ;
19
19
import ONYXKEYS from '@src/ONYXKEYS' ;
20
+ import type { Card } from '@src/types/onyx' ;
20
21
import type { AssignCard , AssignCardData } from '@src/types/onyx/AssignCard' ;
21
22
import type { AddNewCardFeedData , AddNewCardFeedStep , CompanyCardFeed } from '@src/types/onyx/CardFeeds' ;
22
23
import type { OnyxData } from '@src/types/onyx/Request' ;
@@ -233,8 +234,9 @@ function assignWorkspaceCompanyCard(policyID: string, data?: Partial<AssignCardD
233
234
API . write ( WRITE_COMMANDS . ASSIGN_COMPANY_CARD , parameters , onyxData ) ;
234
235
}
235
236
236
- function unassignWorkspaceCompanyCard ( workspaceAccountID : number , cardID : string , bankName : string ) {
237
+ function unassignWorkspaceCompanyCard ( workspaceAccountID : number , bankName : string , card ?: Card ) {
237
238
const authToken = NetworkStore . getAuthToken ( ) ;
239
+ const cardID = card ?. cardID ?? '-1' ;
238
240
239
241
const onyxData : OnyxData = {
240
242
optimisticData : [
@@ -245,12 +247,42 @@ function unassignWorkspaceCompanyCard(workspaceAccountID: number, cardID: string
245
247
[ cardID ] : null ,
246
248
} ,
247
249
} ,
250
+ {
251
+ onyxMethod : Onyx . METHOD . MERGE ,
252
+ key : ONYXKEYS . CARD_LIST ,
253
+ value : {
254
+ [ cardID ] : null ,
255
+ } ,
256
+ } ,
257
+ ] ,
258
+
259
+ failureData : [
260
+ {
261
+ onyxMethod : Onyx . METHOD . MERGE ,
262
+ key : `${ ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST } ${ workspaceAccountID } _${ bankName } ` ,
263
+ value : {
264
+ [ cardID ] : {
265
+ ...card ,
266
+ errors : ErrorUtils . getMicroSecondOnyxErrorWithTranslationKey ( 'common.genericErrorMessage' ) ,
267
+ } ,
268
+ } ,
269
+ } ,
270
+ {
271
+ onyxMethod : Onyx . METHOD . MERGE ,
272
+ key : ONYXKEYS . CARD_LIST ,
273
+ value : {
274
+ [ cardID ] : {
275
+ ...card ,
276
+ errors : ErrorUtils . getMicroSecondOnyxErrorWithTranslationKey ( 'common.genericErrorMessage' ) ,
277
+ } ,
278
+ } ,
279
+ } ,
248
280
] ,
249
281
} ;
250
282
251
283
const parameters = {
252
284
authToken,
253
- cardID,
285
+ cardID : Number ( cardID ) ,
254
286
} ;
255
287
256
288
API . write ( WRITE_COMMANDS . UNASSIGN_COMPANY_CARD , parameters , onyxData ) ;
@@ -379,7 +411,7 @@ function updateWorkspaceCompanyCard(workspaceAccountID: number, cardID: string,
379
411
380
412
const parameters = {
381
413
authToken,
382
- cardID,
414
+ cardID : Number ( cardID ) ,
383
415
} ;
384
416
385
417
API . write ( WRITE_COMMANDS . UPDATE_COMPANY_CARD , parameters , { optimisticData, finallyData, failureData} ) ;
0 commit comments