@@ -364,19 +364,22 @@ export class AdminWinningService {
364
364
payment . payment_status !== PaymentStatus . ON_HOLD_ADMIN &&
365
365
payment . payment_status !== PaymentStatus . PAID
366
366
) {
367
- errMessage =
368
- "cannot put a payment back to owed unless it is on hold by an admin, or it's been paid" ;
367
+ throw new BadRequestException (
368
+ "cannot put a payment back to owed unless it is on hold by an admin, or it's been paid" ,
369
+ ) ;
369
370
}
370
371
}
371
372
372
373
break ;
373
374
374
375
default :
375
- errMessage = 'invalid payment status provided' ;
376
- break ;
376
+ throw new BadRequestException ( 'invalid payment status provided' ) ;
377
377
}
378
378
379
- if ( errMessage ) {
379
+ if (
380
+ errMessage &&
381
+ payment . payment_status === PaymentStatus . PROCESSING
382
+ ) {
380
383
throw new BadRequestException ( errMessage ) ;
381
384
}
382
385
@@ -412,6 +415,22 @@ export class AdminWinningService {
412
415
if ( body . releaseDate ) {
413
416
const newReleaseDate = new Date ( body . releaseDate ) ;
414
417
418
+ if (
419
+ ! [
420
+ PaymentStatus . OWED ,
421
+ PaymentStatus . ON_HOLD ,
422
+ PaymentStatus . ON_HOLD_ADMIN ,
423
+ ] . includes ( payment . payment_status as PaymentStatus )
424
+ ) {
425
+ throw new BadRequestException (
426
+ `Cannot update release date for payment unless it's in one of the states: ${ [
427
+ PaymentStatus . OWED ,
428
+ PaymentStatus . ON_HOLD ,
429
+ PaymentStatus . ON_HOLD_ADMIN ,
430
+ ] . join ( ', ' ) } `,
431
+ ) ;
432
+ }
433
+
415
434
transactions . push (
416
435
this . updateReleaseDate (
417
436
userId ,
@@ -439,7 +458,6 @@ export class AdminWinningService {
439
458
if (
440
459
body . paymentAmount !== undefined &&
441
460
( payment . payment_status === PaymentStatus . OWED ||
442
- payment . payment_status === PaymentStatus . ON_HOLD ||
443
461
payment . payment_status === PaymentStatus . ON_HOLD ||
444
462
payment . payment_status === PaymentStatus . ON_HOLD_ADMIN )
445
463
) {
0 commit comments