add delete limit of 100
This commit is contained in:
@@ -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
10
dist/index.js
vendored
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user