48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
export interface InputParams {
|
|
packageVersionIds?: string[]
|
|
owner?: string
|
|
repo?: string
|
|
packageName?: string
|
|
numOldVersionsToDelete?: number
|
|
token?: string
|
|
}
|
|
|
|
const defaultParams = {
|
|
packageVersionIds: [],
|
|
owner: '',
|
|
repo: '',
|
|
packageName: '',
|
|
numOldVersionsToDelete: 0,
|
|
token: ''
|
|
}
|
|
|
|
export class Input {
|
|
packageVersionIds: string[]
|
|
owner: string
|
|
repo: string
|
|
packageName: string
|
|
numOldVersionsToDelete: number
|
|
token: string
|
|
|
|
constructor(params?: InputParams) {
|
|
const validatedParams: Required<InputParams> = {...defaultParams, ...params}
|
|
|
|
this.packageVersionIds = validatedParams.packageVersionIds
|
|
this.owner = validatedParams.owner
|
|
this.repo = validatedParams.repo
|
|
this.packageName = validatedParams.packageName
|
|
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete
|
|
this.token = validatedParams.token
|
|
}
|
|
|
|
hasOldestVersionQueryInfo(): boolean {
|
|
return !!(
|
|
this.owner &&
|
|
this.repo &&
|
|
this.packageName &&
|
|
this.numOldVersionsToDelete != null &&
|
|
this.token
|
|
)
|
|
}
|
|
}
|