renovate/lib/workers/branch/check-existing.ts
Sergio Zharinov cd064db4eb
refactor(platform): Change signature types for "updatePr" method (#7002)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2020-08-18 12:19:19 +02:00

35 lines
1 KiB
TypeScript

import { REPOSITORY_CHANGED } from '../../constants/error-messages';
import { logger } from '../../logger';
import { platform } from '../../platform';
import { PrState } from '../../types';
import { BranchConfig } from '../common';
/** TODO: Proper return type */
export async function prAlreadyExisted(
config: BranchConfig
): Promise<any | null> {
logger.trace({ config }, 'prAlreadyExisted');
if (config.recreateClosed) {
logger.debug('recreateClosed is true');
return null;
}
logger.debug('recreateClosed is false');
// Return if same PR already existed
const pr = await platform.findPr({
branchName: config.branchName,
prTitle: config.prTitle,
state: PrState.NotOpen,
});
if (pr) {
logger.debug('Found closed PR with current title');
const prDetails = await platform.getPr(pr.number);
// istanbul ignore if
if (prDetails.state === PrState.Open) {
logger.debug('PR reopened');
throw new Error(REPOSITORY_CHANGED);
}
return pr;
}
logger.debug('prAlreadyExisted=false');
return null;
}