Files
issues-helper/src/issue/types.ts
2021-10-12 15:43:16 +08:00

49 lines
1.2 KiB
TypeScript

import { TEmoji, TLockReasons, TStringOrVoid } from '../types';
export interface IIssueBaseInfo {
owner: string;
repo: string;
issueNunber: string | void;
githubToken: string;
}
type updateMode = 'append' | string | void;
export interface IIssueCoreEngine {
addAssignees(assignees: string[]): void;
addLabels(labels: string[]): void;
closeIssue(): void;
/**
* @param body The comment body.
* @returns The create new comment id.
*/
createComment(body: string): string;
createCommentEmoji(emoji: TEmoji): void;
/**
* @param title
* @param body
* @param labels
* @param assignees
* @returns The create new issue number.
*/
createIssue(title: string, body: TStringOrVoid, labels: string[], assignees: string[]): string;
createIssueEmoji(emoji: TEmoji): void;
createLabel(labelName: string, labelColor: string, labelDescription: TStringOrVoid): void;
deleteComment(commentId: string): void;
lockIssue(lockReason: TLockReasons): void;
openIssue(): void;
removeAssignees(assignees: string[]): void;
removeLabels(labels: string[]): void;
setLabels(labels: string[]): void;
unlockIssue(): void;
updateComment(commentId: string, body: TStringOrVoid, mode: updateMode): void;
}