@@ -376,7 +376,7 @@ class NCLifecycle {
376
376
*/
377
377
async get_candidates ( bucket_json , lifecycle_rule , object_sdk ) {
378
378
const candidates = { abort_mpu_candidates : [ ] , delete_candidates : [ ] } ;
379
- const versions_list = undefined ;
379
+ const params = { versions_list : undefined } ;
380
380
if ( lifecycle_rule . expiration ) {
381
381
candidates . delete_candidates = await this . get_candidates_by_expiration_rule ( lifecycle_rule , bucket_json ,
382
382
object_sdk ) ;
@@ -385,7 +385,7 @@ class NCLifecycle {
385
385
lifecycle_rule ,
386
386
bucket_json ,
387
387
object_sdk ,
388
- { versions_list }
388
+ params
389
389
) ;
390
390
candidates . delete_candidates = candidates . delete_candidates . concat ( dm_candidates ) ;
391
391
}
@@ -395,7 +395,7 @@ class NCLifecycle {
395
395
lifecycle_rule ,
396
396
bucket_json ,
397
397
object_sdk ,
398
- { versions_list }
398
+ params
399
399
) ;
400
400
candidates . delete_candidates = candidates . delete_candidates . concat ( non_current_candidates ) ;
401
401
}
@@ -528,12 +528,13 @@ class NCLifecycle {
528
528
* @param {Object } bucket_json
529
529
* @returns {Promise<Object[]> }
530
530
*/
531
- async get_candidates_by_expiration_delete_marker_rule ( lifecycle_rule , bucket_json , object_sdk , { versions_list } ) {
531
+ async get_candidates_by_expiration_delete_marker_rule ( lifecycle_rule , bucket_json , object_sdk , params ) {
532
532
const rule_state = this . _get_rule_state ( bucket_json , lifecycle_rule ) . noncurrent ;
533
- if ( rule_state . is_finished ) return [ ] ;
534
- if ( ! versions_list ) {
535
- versions_list = await this . load_versions_list ( object_sdk , lifecycle_rule , bucket_json , rule_state ) ;
533
+ if ( ! params . versions_list ) {
534
+ if ( rule_state . is_finished ) return [ ] ;
535
+ params . versions_list = await this . load_versions_list ( object_sdk , lifecycle_rule , bucket_json , rule_state ) ;
536
536
}
537
+ const versions_list = params . versions_list ;
537
538
const candidates = [ ] ;
538
539
const expiration = lifecycle_rule . expiration ?. days ? this . _get_expiration_time ( lifecycle_rule . expiration ) : 0 ;
539
540
const filter_func = this . _build_lifecycle_filter ( { filter : lifecycle_rule . filter , expiration} ) ;
@@ -630,13 +631,14 @@ class NCLifecycle {
630
631
* @param {Object } bucket_json
631
632
* @returns {Promise<Object[]> }
632
633
*/
633
- async get_candidates_by_noncurrent_version_expiration_rule ( lifecycle_rule , bucket_json , object_sdk , { versions_list } ) {
634
+ async get_candidates_by_noncurrent_version_expiration_rule ( lifecycle_rule , bucket_json , object_sdk , params ) {
634
635
const rule_state = this . _get_rule_state ( bucket_json , lifecycle_rule ) . noncurrent ;
635
- if ( rule_state . is_finished ) return [ ] ;
636
636
637
- if ( ! versions_list ) {
638
- versions_list = await this . load_versions_list ( object_sdk , lifecycle_rule , bucket_json , rule_state ) ;
637
+ if ( ! params . versions_list ) {
638
+ if ( rule_state . is_finished ) return [ ] ;
639
+ params . versions_list = await this . load_versions_list ( object_sdk , lifecycle_rule , bucket_json , rule_state ) ;
639
640
}
641
+ const versions_list = params . versions_list ;
640
642
641
643
const filter_func = this . _build_lifecycle_filter ( { filter : lifecycle_rule . filter , expiration : 0 } ) ;
642
644
const num_newer_versions = lifecycle_rule . noncurrent_version_expiration . newer_noncurrent_versions ;
@@ -652,7 +654,6 @@ class NCLifecycle {
652
654
}
653
655
}
654
656
}
655
-
656
657
return delete_candidates ;
657
658
}
658
659
////////////////////////////////////
@@ -756,8 +757,12 @@ class NCLifecycle {
756
757
const expiration_date = new Date ( expiration_rule . date ) . getTime ( ) ;
757
758
if ( Date . now ( ) < expiration_date ) return - 1 ;
758
759
return 0 ;
760
+ } else if ( expiration_rule . days ) {
761
+ return expiration_rule . days ;
762
+ } else {
763
+ //expiration delete marker rule
764
+ return - 1 ;
759
765
}
760
- return expiration_rule . days ;
761
766
}
762
767
763
768
////////////////////////////////
0 commit comments