add delete limit of 100

This commit is contained in:
Namrata Jha
2021-12-16 07:02:21 +00:00
committed by GitHub
parent 8c24449b56
commit a22ff2a7c5
3 changed files with 18 additions and 20 deletions

View File

@@ -6,7 +6,7 @@ import {
import * as Graphql from '../../src/version/graphql'
import {GetVersionsQueryResponse} from '../../src/version'
export function getMockedOldestQueryResponse(
export function getMockedOldestQueryResponseForLessThan100(
numVersions: number
): GetVersionsQueryResponse {
const versions = []

10
dist/index.js vendored
View File

@@ -58,16 +58,20 @@ function finalIds(input) {
console.log(`in min versions to keep`);
return getVersionIds(input.owner, input.repo, input.packageName, 100, input.ignoreVersions, '', input.token).pipe(operators_1.map(value => {
console.log(`point 1`);
const toDelete = totalCount -
let toDelete = totalCount -
value.filter(info => input.ignoreVersions.test(info.version))
.length -
input.minVersionsToKeep;
toDelete = toDelete > 100 ? 100 : toDelete;
value = value.filter(info => !input.ignoreVersions.test(info.version));
console.log(`toDelete: ${toDelete} numVersions: ${input.numOldVersionsToDelete} total count: ${totalCount}`);
if (toDelete > input.numOldVersionsToDelete) {
if (toDelete > input.numOldVersionsToDelete &&
input.numOldVersionsToDelete < 100) {
//here input.numOldVersionsToDelete will never have user value hence using it to keep track of deleted versions
input.numOldVersionsToDelete =
input.numOldVersionsToDelete + value.length;
input.numOldVersionsToDelete + value.length > 100
? 100
: input.numOldVersionsToDelete + value.length;
return toDelete - input.numOldVersionsToDelete >= 0
? value.map(info => info.id)
: value

View File

@@ -1,20 +1,8 @@
import {Input} from './input'
import {EMPTY, Observable, of, throwError} from 'rxjs'
import {deletePackageVersions, getOldestVersions} from './version'
import {deletePackageVersions, getOldestVersions, VersionInfo} from './version'
import {concatMap, map, expand, tap} from 'rxjs/operators'
export interface VersionInfo {
id: string
version: string
}
export interface QueryInfo {
versions: VersionInfo[]
cursor: string
paginate: boolean
totalCount: number
}
let totalCount: number
export function getVersionIds(
@@ -102,19 +90,25 @@ export function finalIds(input: Input): Observable<string[]> {
).pipe(
map(value => {
console.log(`point 1`)
const toDelete =
let toDelete =
totalCount -
value.filter(info => input.ignoreVersions.test(info.version))
.length -
input.minVersionsToKeep
toDelete = toDelete > 100 ? 100 : toDelete
value = value.filter(info => !input.ignoreVersions.test(info.version))
console.log(
`toDelete: ${toDelete} numVersions: ${input.numOldVersionsToDelete} total count: ${totalCount}`
)
if (toDelete > input.numOldVersionsToDelete) {
if (
toDelete > input.numOldVersionsToDelete &&
input.numOldVersionsToDelete < 100
) {
//here input.numOldVersionsToDelete will never have user value hence using it to keep track of deleted versions
input.numOldVersionsToDelete =
input.numOldVersionsToDelete + value.length
input.numOldVersionsToDelete + value.length > 100
? 100
: input.numOldVersionsToDelete + value.length
return toDelete - input.numOldVersionsToDelete >= 0
? value.map(info => info.id)
: value