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 * as Graphql from '../../src/version/graphql'
import {GetVersionsQueryResponse} from '../../src/version' import {GetVersionsQueryResponse} from '../../src/version'
export function getMockedOldestQueryResponse( export function getMockedOldestQueryResponseForLessThan100(
numVersions: number numVersions: number
): GetVersionsQueryResponse { ): GetVersionsQueryResponse {
const versions = [] const versions = []

10
dist/index.js vendored
View File

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

View File

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